Эхосигнал показывается до получения ввода - PullRequest
0 голосов
/ 16 сентября 2018

Я новичок в PHP. По сути, я пытаюсь сделать простое заявление, если еще, которое позволит кому-то узнать, слишком ли он молод, чтобы посмотреть фильм с рейтингом R. Проблема, с которой я сталкиваюсь, заключается в том, что то, что я хочу вывести, показывается задолго до того, как я получу ввод (возраст).

enter image description here

Это мой текущий код:

<form action="movieProgram.php" method="post">
How old are you? <input type="text" name="age"/>
<input type="submit">
</form>



<?php 

/*if ($age < 17){ 
The $_POST['age'] retrieves data from the
form that is named age

*/
$age = $_POST["age"];
if ($age == ""){
    echo "";
}
elseif ($age < 17){
    echo "You are too young to watch the movie.";
}
else {
    echo "You are old enough to watch the movie.";
}
 ?>

Как бы это исправить? Есть предложения?

1 Ответ

0 голосов
/ 16 сентября 2018

Вы можете добавить атрибут name к кнопке отправки и проверить, отправлена ​​ли форма или нет.Вот демонстрация того, о чем я говорил

<form action="#" method="post">
How old are you? <input type="text" name="age"/>
<input type="submit" name="submit">
</form>



<?php 

/*if ($age < 17){ 
The $_POST['age'] retrieves data from the
form that is named age

*/
if(isset($_POST['submit'])) {
    $age = (int)$_POST["age"];
    if ($age == ""){
        echo "";
    }
    elseif ($age < 17){
        echo "You are too young to watch the movie.";
    }
    else {
        echo "You are old enough to watch the movie.";
    }
}

 ?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...