Jestem w trakcie tworzenia testu w PHP. Mam taki problem, że po zaznaczeniu odpowiedzi wyświetla mi jakie odpowiedzi zaznaczyłem, lecz przy sprawdzeniu poprawnej odpowiedzi, wywala mi błąd.
<?php
require_once "connect.php";
$polaczenie =@new mysqli($host, $db_user, $db_password, $db_name);
if($polaczenie->connect_errno!=0)
{
}
else
{
//////////// SPRAWDZA ILE PYTAN JEST W TABELI!
$ile= "SELECT * FROM praca"; //zapytanie.
if($rezultat= @$polaczenie->query($ile))//bez ifa to jest wyslanie pytania do bazy.
{
$ilepytan = $rezultat->num_rows;//liczba wierszy z naszym zapytaniem.
echo " <h3> W bazie jest nastepujaca ilosc pytan: $ilepytan </h3>" ; }
///////////
////////--- WŁAŚCIWY KOD ---//////////
for($i=1;$i<=$ilepytan;$i++)
{
$liczba_pytan[]=$i;
}
shuffle($liczba_pytan); //mieszam elementy tablicy (w założeniach pytania wyświetlaja sie losowo)
foreach($liczba_pytan as $v)
{
$ntab[]=$v;
}
for($n=0;$n<3;$n++)/// Zrobiłem sobie nową talbice zawierajaca 3 elementy- z tej wymieszanej.
{
$tab_3[]=$ntab[$n];
}
foreach($tab_3 as $kay => $i)
{
$sql= "SELECT * FROM praca WHERE id='$i'"; //zapytanie.
if($rezultat= @$polaczenie->query($sql))
{
$ile_pytan = $rezultat->num_rows;//liczba wierszy z naszym zapytaniem.
if($ile_pytan>0)
{
$wiersz = $rezultat->fetch_assoc();//tablica asocjacyjna.
$id=$wiersz['id'];
$pytanie=$wiersz['pytanie'];
$odp1=$wiersz['odp1'];
$odp2=$wiersz['odp2'];
$poprawna=$wiersz['poprawna'];
//$ID=$kay+1;
//echo "Sztuczne ID: ".$ID."<br>";
echo $id.". <br> Pytanie:".$pytanie."<br>";
$radio= $kay;
echo "<input type='radio' name='$radio' value='$odp1'> <br>"; echo "<input type='radio' name='$radio' value='$odp2'> <br>"; echo "Poprawna odpowiedz to " . $poprawna. "<br>";
$dobraodp[]=$poprawna;
$odpowiedzi[]= $radio;
}
else
{
echo "<h1>W tej bazie nie ma pytan! :(</h1>"; }
}
}
}
?>
<input type="submit" name="wyslij" value="Zakoncz!" >
</form>
<?php
//PROBLEM ZACZYNA SIE W TYM MIEJSCU:
//foreach($odpowiedzi as $kay => $i)
for($i=0;$i<3;$i++)
{
if(isset($_POST[$odpowiedzi[$i]])) {
echo "Odpowiedz która zaznaczyles to: " . $_POST[$odpowiedzi[$i]]. "<br>"; echo "<br> A porpawna odp to: ". $_POST[$dobraodp[$i]]; //<- to nie dziala }
}
?>
A bład po wcisniecu przycisku zakoncz: Notice: Undefined index
Dlaczego tak się dzieje?
Ten post edytował MrMethodCube 30.04.2018, 15:37:43