Я пытался создать простую страницу php, на которой пользователь отвечает на два вопроса, чтобы продолжить. Мой код:Ответ на два вопроса, чтобы продолжить дальше
<?php
if (!isset($_POST['answer1']) OR $_POST['answer1'] != "blue")
{
?>
<form action="index.php" method="post">
<p>What color is the sky ?</p>
<input type="text" name="answer1">
<input type="submit" value="Send">
</p>
<?php }
else {
if (!isset($_POST['answer2']) OR $_POST['answer2'] != "white")
{
?>
<form action="index.php" method="post">
<p>What color is the milk ?</p>
<input type="text" name="answer2">
<input type="submit" value="Send">
</p>
<?php }
else {
echo 'Congratulation !';
}
}
>
При ответе на первый вопрос, отображается второй?. Но, отвечая на второй, он возвращает меня к первому вопросу и не показывает поздравительное сообщение. Может кто-нибудь сказать мне, что происходит не так? Заранее спасибо.
Это потому, что '$ _POST ['answer1']' не установлен. Итак, ваше первое условие истинно, и ваш код никогда не достигнет «лакомого». –
Хорошо, и каково было бы решение? Вложенное if/else, которое я использовал, не может быть использовано так? – Benistar
Я добавил ответ, в котором вы должны немного изменить свои предложения if/else (всегда начинайте с самого сильного) –