Php: как получить значения из select/option
У меня есть массив вопросов`
$questions = [ ["id" => 1,"Question" => "What is the capital city of Armenia?", "Answer" => ["Yerevan", "Moscow", "New York"]], ["id" => 2,"Question" => "Who was the best footballer in 2017?", "Answer" => ["Messi", "Ronaldo", "Neymar"]], ["id" => 3,"Question" => "4 * 5 = ?", "Answer" => ["9", "45", "20"]], ["id" => 4,"Question" => "When has created PHP?", "Answer" => ["1998", "1994", "2000"]], ["id" => 5,"Question" => "Who is the president of Russia?", "Answer" => ["Lavrov", "Putin", "Medvedev"]] ];
Я добавляю его на тело динамически. Вопросы в теге h3, ответы в select, а также у меня есть кнопка Check, после нажатия на кнопку Check она должна вернуть количество истинных ответов.
http://prntscr.com/kpy53o[^]
Что я уже пробовал:
// quiz.php <?php if($_SERVER["REQUEST_METHOD"] == "POST"){ $name = $_POST["make"]; print $name; // in this case it prints only the last select's value } else{ header("location:index.php"); } ?>
<form action="quiz.php" method="post"> <?php foreach($questions as $value){ ?> <div id="d1"> <fieldset> <legend id="h1"><?= "Question"." ".$value["id"].":"?></legend> <h3 class="h3"><?= $value["Question"]?></h3> <select name="make" class="btn btn-outline-info"> <?php for($i = 0; $i < count($value["Answer"]); $i++){ ?> <option><?= $value["Answer"][$i]?></option> <?php } ?></select></fieldset> </div> <?php } ?> <button id="btn1" class="btn btn-success">Check</button> </form>
Как я могу получить значения из каждого варианта? Как я могу проверить каждое условие?
// $count = 0;
if(option1 == "Ереван"){
считать++;
}
если(Вариант 2 == "Роналду"){
считать++;
}
и так далее. Как получить option1, option2....?
Mohibur Rashid
Где ваша $value["вопрос"]? Его нигде не объявляли
Suren97
Это в теге h3
Suren97
посмотрите перед выбором тега
Mohibur Rashid
вы пробовали $_POST["make"]?
Suren97
Да, я пытался сохранить его в переменной, а затем распечатать, например` $name = $_POST["make"]; print $name...Он должен печатать все выбранные значения, верно? Но он печатает только последнее значение select