проверка не работает в php при отправке данных формы, нажав кнопку отправки, плз, помогите мне с объяснением
<?php
if (isset($_POST['validate'])) {
if (empty($_POST['ename'])){
$nameErr = "name is required";
}
else{
$name = test_input($_POST['ename']);
if (!preg_match("/^[a-zA-Z ]*$/",$name)) {
$nameErr = "Only letters and white space allowed";
}
}
if (empty($_POST['mail'])){
$emailErr = "email is required";
}
else{
$email = test_input($_POST['mail']);
}
if (empty($_POST['gender'])){
$genderErr = "gender is required";
}
else{
$gender = test_input($_POST['gender']);
}
я хочу остановить пустую вставку
$query = "insert into inserttb (name,email,gender) values ('$name','$email','$gender')";
$result = mysqli_query($conn,$query);
if(!$result){
echo "data insertion failed";
}
}
//function to validate the input data
function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
?>
Как насчет этого?
(добавлено var $ someErrorFound)
if (isset($_POST['validate'])) {
if (empty($_POST['ename'])){
$nameErr = "name is required";
$someErrorFound=true;
}
else{
$name = test_input($_POST['ename']);
if (!preg_match("/^[a-zA-Z ]*$/",$name)) {
$nameErr = "Only letters and white space allowed";
$someErrorFound=true;
}
}
if (empty($_POST['mail'])){
$emailErr = "email is required";
$someErrorFound=true;
}
else{
$email = test_input($_POST['mail']);
$someErrorFound=true;
}
if (empty($_POST['gender'])){
$genderErr = "gender is required";
$someErrorFound=true;
}
else{
$gender = test_input($_POST['gender']);
$someErrorFound=true;
}
if ($someErrorFound==false)
{
//insert into DB
} else //don't insert
Других решений пока нет …