Использование if(isset($_POST[‘отправить’])) для отображения сообщения, но оно не работает

#php #html #mysql #web

Вопрос:

Я попытался написать простую проверку формы с помощью PHP. При нажатии кнопки отправить, если имя пустое, веб-сайт попросит пользователя заполнить его. Но когда я нажимаю кнопку «Отправить», на экране ничего не появляется. Можете ли вы помочь мне решить эту проблему? Спасибо. Вот мой код :

 <?php
if (isset($_POST["submit"])){
    if(!empty($_POST["Ename"])){

    }else{
        echo"Please enter your name";
    }
}
?>
<html>
<form class="" action="index.php" method="post">
Tutor name: <input type="text" name="Ename" value="">
<input type="button" class="submit" value="Submit your record" name="submit">
</form>
</html>
 

Комментарии:

1. Вы пробовали var_dump все, что доступно в $_POST массиве при отправке формы? И где находится <form> элемент для представления?

2. type="button" не будет отправлять форму, это type="submit"

3. Попробуйте использовать if(isset($_POST[‘отправить’]) amp;amp; !пустой($_POST[‘отправить’])), поскольку isset() сообщает вам, что переменная определена или нет, а не заполнена ли она. Далее сохраняйте действие=»» так как вы собираетесь оставаться на той же странице

Ответ №1:

напишите <input> тег в <form> теге и установите ввод type="submit"

 <?php
if (isset($_POST["submit"])) {
    if (!empty($_POST["Ename"])) {

    } else {
        echo "Please enter your name";
    }
}
?>

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
</head>

<body>
    <form action="" method="POST">
        Tutor name: <input type="text" name="Ename" value="">
        <input type="submit" class="submit" value="Submit your record" name="submit">
    </form>
</body>

</html>
 

Ответ №2:

Вам нужно обернуть входные данные формы и кнопку «Отправить» в <form> тег, как это:

 <html>
    <form method="post">
        Tutor name: <input type="text" name="Ename" value="">
        <input type="button" class="submit" value="Submit your record" name="submit">
    </form>
</html>
 

Комментарии:

1. Я предлагаю, чтобы вы пропустили method атрибут <form> здесь.

2. Привет, я только что обновил свой код выше. У меня есть сообщение о форме и методе, но я не знаю, почему оно не отображает сообщение.

3. Может быть, потому, что это не так, на самом деле это не добавляет никакой ценности. Это форма $_GET, которая никогда не будет отправлена, своего рода «бесполезная».

4. Понижающие голоса без комментариев не очень полезны, это правда, но они утверждают, что кто — то счел этот ответ бесполезным, чего не было и до сих пор нет. Вы проверили этот код? Отправлена ли ваша форма? (Это не так!)