ich wollte das der Vorname und Nachname keine Zeichen wie '" etc zulässt und wollte es Filtern aber es funktoniert i-wie nicht.
PHP Code:
<main>
<div class="content_data">
<h2 class="reg_h2">Data</h2>
<form action="" method="POST">
<article id="data">
<?php
if(isset($_POST['send_data'])) {
$vorname = $_POST['u_name'];
$nachname = $_POST['u_nachname'];
$email = $_POST['u_mail'];
$error = '';
if(empty(trim($vorname))) {
$error = 'Bitte füllen sie Ihren Vornamen aus.';
}
elseif(strlen($vorname) < 2) {
$error = 'Ihr Vorname ist zu kurz.';
}
elseif(strlen($vorname) > 22) {
$error = 'Ihr Vorname ist zu lang.';
}
elseif(!filter_var($vorname, FILTER_SANITIZE_FULL_SPECIAL_CHARS)) {
$error = 'Ihr Vorname darf nur Zeichen enthalten.';
}
elseif(empty(trim($nachname))) {
$error = 'Bitte füllen sie Ihren Nachnamen aus.';
}
elseif(strlen($nachname) < 2) {
$error = 'Ihr Nachname ist zu kurz.';
}
elseif(strlen($nachname) > 32) {
$error = 'Ihr Nachname ist zu lang.';
}
elseif(!filter_var($nachname,FILTER_SANITIZE_FULL_SPECIAL_CHARS)) {
$error = 'Ihr Nachname darf nur Zeichen enthalten.';
}
elseif(empty(trim($email))) {
$error = 'Bitte füllen sie Ihre Email-Adresse aus.';
}
elseif(strlen($email) < 7) {
$error = 'Ihre Email ist zu kurz.';
}
elseif(strlen($email) > 55) {
$error = 'Ihre Email-Adresse ist zu lang.';
}
elseif(!filter_var($email,FILTER_VALIDATE_EMAIL)) {
$error = 'Bitte füllen sie Ihre Email-Adresse mit gültige Zeichen ein.';
}
else { ?>
<p>Ihr Name: <?php echo $vorname ?> <br>
<p>Ihr Nachname: <?php echo $nachname ?> <br>
<p>Ihre Email: <?php echo $email ?><br>
<?php
}
}
}
?>
<?php if(isset($error)) { echo $error }; ?>
<p><input type="text" name="u_name" placeholder="Ihr Vorname"></p>
<p><input type="text" name="u_nachname" placeholder="Ihr Nachname"></p>
<p><input type="text" name="u_mail" placeholder="Ihre E-Mail Adresse"></p>
Die Zeichen werden immernoch zugelassen. Woran liegt es?