mysql — проверка не работает в php при отправке данных формы, нажав кнопку отправки, плз, помогите мне с объяснением

проверка не работает в 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;
}
?>

-3

Решение

Как насчет этого?
(добавлено 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
-1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]