Witam.
Na początek zaznaczę że jestem w tym nowy.
Zrobiłem form na zasadzie quizu. 4 odpowiedzi, tylko jedna dobra:
Form method="post"
Na drugiej stronce łapie $_POST i wszystko pięknie. Zlicza mi wynik, podaje i wszystko śmiga. Problem tylko taki że jak ktoś nie zaznaczy odpowiedzi żadnej i kliknie submit.
error log wyswietla:
Notice: Undefined index: p1 in wynik.php on line 2
Jak zrobic by przechwycona zmienna, gdy ma value "" albo empty lub !isset (nie jestem pewien jaka trafia z pustego radio button) była automatycznie ustawiana jako domyślna np.4
To mój kod:
<form action="wynik.php" method="post">
1. What do you ..................... in your spare time?<BR>
<input TYPE="radio" name="p1" value="0"> like do<BR>
<input TYPE="radio" name="p1" value="1"> like doing<BR>
<input TYPE="radio" name="p1" value="2"> like to doing<BR>
<input TYPE="radio" name="p1" value="3"> doing<BR>
<input type="submit" class="przycisk" value="Oblicz Wynik!">
</form>
</div>
wynik.php:
<?php
$pyt1 = $_POST["p1"];
$score = 0;
if ($pyt1 == '1'){
$score++;
}
?>
<body>
<?php
echo '<p>Twoj wynik to:' . $score . ' na 20 Możliwych' . '<br />';
if ($score < 5){
echo '<p>Bardzo słabo.</p>';
}
else if (($score >= 5) && ($score < 10)){
echo '<p>Raczej słabo. </p>';
}
else if (($score >= 11) && ($score < 15)){
echo '<p>Średnia punktów! </p>';
}
else if (($score >= 16) && ($score <= 18)){
echo '<p>Całkiem nieźle.</p>';
}
else if ($score > 18){
echo '<p>Rewelacyjnie!</p>';
}
?>
</body>
Kod troszke uprosicilem do jednego pytania. Tak jak mowilem wszystko dziala pieknie do momentu gdy wszystkie odp zostaly udzielone.