Посмотрев на ваш код, мы увидим, что при отправке формы вы перезапускаете скрипт, который фактически сбрасывает $random
на новое значение. С двумя вопросами у вас есть 50% шансов получить «правильный» ответ, но вы увидите, что ваш сценарий вообще не работает с добавлением дополнительных вопросов.
По сути, вы должны использовать другой способ достичь того, что вы хотите. Вы можете попытаться добавить идентификатор вопроса в скрытую <input>
и проверить, когда ваша форма отправляется, чтобы определить, какой она была.
if(isset($_POST['submit'])){
switch ($_POST['question']) { // Add '{'
case 1:
if (strcasecmp($answer1,$_POST['answer']) == 0) {
$result = "Correct!";
} else {
$result = "Gresit!";
}
break;
case 2:
if (strcasecmp($answer2,$_POST['answer']) == 0) {
$result = "Correct!";
} else {
$result = "Gresit!";
} // Forgot to Add '}'
break;
} // Add '}' It give error in PHP 5.3 Parse error: syntax error, unexpected T_CASE, expecting ':' or '{'
}
Для HTML вы можете добавить эти данные в форму:
<input type="text" name="question" value="<?php echo $number ?>" hidden>
Это не лучший способ достичь того, чего вы хотите, это всего лишь пример того, что сработает.