ОК, когда я отправляю свою форму, она проверяет предварительное соответствие (разрешены только буквы и пробелы), но все равно отправляет форму (если во всех полях формы есть данные) ... Мне нужно что-то добавить к своему код, который говорит, что да, все ваши поля заполнены, но у вас все еще есть ошибки. Поэтому я не буду подчиняться. как я могу перенастроить мою проверку подтверждения, чтобы исправить эту маленькую ошибку
<?php
$e_first = ""; $e_last = ""; $e_email = ""; $success = "";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
require_once("config.php");
require_once("database.php");
require_once("controller.php");
$firstname = sanitize($_POST['firstname']);
$lastname = sanitize($_POST['lastname']);
$email = sanitize($_POST['email']);
$submit = sanitize($_POST['submit']);
if (empty($firstname)) {
$e_first = "First Name is required";
} else {
$firstname;
if (!preg_match("/^[a-zA-Z ]*$/", $firstname)) {
$e_first = "Only letters and white space allowed";
}
}
if (empty($lastname)) {
$e_last = "Last Name is required";
} else {
$lastname;
if (!preg_match("/^[a-zA-Z ]*$/", $lastname)) {
$e_last = "Only letters and white space allowed";
}
}
if (empty($email)) {
$e_email = "Email Address is required";
} else {
$email;
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
$e_email = "Invalid Email Address";
}
}
$users = [
'firstname' => $firstname,
'lastname' => $lastname,
'email' => $email
];
if (isset($submit)) {
switch (false) {
case !empty($firstname) || $firstname == $e_first :
$success = "";
break;
case !empty($lastname) || $lastname == $e_last :
$success = "";
break;
case !empty($email) || $email == $e_email :
$success = "";
break;
default :
$control = new Controller();
$control->addCustomer($users);
header("Location: success.php");
break;
}
}
}
function sanitize($data) {
$data = htmlspecialchars($data);
$data = stripslashes($data);
$data = strip_tags($data);
$data = trim($data);
return $data;
}
?>
это форма
<section class="form_box">
<form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="POST">
<label for="firstname">First Name:</label>
<span class="error"><?php echo $e_first; ?></span>
<input type="text" class="input" name="firstname" id="firstname"/>
<label for="lastname">First Last:</label>
<span class="error"><?php echo $e_last; ?></span>
<input type="text" class="input" name="lastname" id="lastname"/>
<label for="email">Email Address:</label>
<span class="error"><?php echo $e_email; ?></span>
<input type="email" class="input" name="email" id="email"/>
<input type="submit" class="submit" name="submit" value="submit">
<span class="success"><?php echo $success; ?></span>
</form>
</section>
любые мысли ... спасибо