Не передавайте количество ответов в ссылке (т. Е. По GET). Вместо этого просто включите скрытое поле (поля) формы и используйте код JavaScript на стороне клиента для увеличения переменных, которые вы хотите, и отправки формы.
<form id="qfrm" name="quiz" action="" method="POST">
<input type="hidden" name="question_number" value="<?php echo $next_question_number?>">
<input type="hidden" id="n_c_a" name="num_correct_answers" value=<?php echo $num_correct_answers?>">
<input type="button" value="Submit" onclick="validateAnswerAndSubmit(); return false;">
</form>
<script language="javascript">
function validateAnswerAndSubmit(){
if(validate_answer()){
document.getElementById("n_c_a").value += 1;
}
document.getElementById("qfrm").submit();
}
</script>
Тогда просто включите ваш php скрипт $_POST["question_number"]
ОК, так что вы не хотите использовать javascript ... если вы действительно спрашиваете, "как я узнаю, какой радиоблок был выбран из PHP?" ответ:
<?php $answer = $_POST["grp"]; ?>
Я думаю, что вы действительно должны передать две переменные в URL, одна из которых будет question_number, а другая num_correct. Затем вы можете написать код, подобный этому:
<?php
$num_correct = (int) $_GET["num_correct"];
$question_number = (int) $_GET["question_number"];
switch($question_number - 1){ // assuming your question numbers are in order by convention
// validate the answer to the previous question
case -1: //no validation necessary for the first question ($question_number 0)
break;
case 0:
if($_POST["grp"] == "correct answer"){
$num_correct++;
}
break;
// and so forth;
}
?>
<form name="quiz"
action="this_page.php/?num_correct=<?php echo $num_correct;?>&question_number=<?php echo $question_number + 1?>"
method="POST">
<?php Display_Question_Number($question_number);?>
</form>
Ключевым моментом здесь является то, что «действие =» в форме аналогично «href =» в привязке, т. Е. Это URL-адрес, на который отправляется форма, когда пользователь нажимает кнопку отправки.