Nefunkční podmínka if, proč?
Zdravim, dělám formulář na testy otázek.
Odpovědi kontroluji pomocí podmínky
if (isset($_POST['odeslano'])){
if (($s1===$_POST['otazka1']) &&
($s2===$_POST['otazka2']) &&
($s3===$_POST['otazka3']) &&
($s4===$_POST['otazka4']) &&
($s5===$_POST['otazka5']) &&
($s6===$_POST['otazka6']) &&
($s7===$_POST['otazka7']) &&
($s8===$_POST['otazka8']) &&
($s9===$_POST['otazka9']) &&
($s10===$_POST['otazka10'])){
echo '<script>alert("Vše správně, gratuluji!");</script>';
} else { echo '<script>alert("Tvé odpovědi jsou špatné, zkuste to znovu!");</script>'; }
}
s tím, že proměné $sx a $_POST['otazkax'] obsahují buď 'a' nebo 'b' nebo 'c' (bez uvozovek).
Jenže i když se všechny shodují a nikde není chyba, provede se else, a ne true.. nevíte kde je chyba? trápím se tu už 2 hodiny...
Nemůže být problém v tom operátoru porovnání "===" - equal? U tohoto operátoru se musí shodovat i porovnávané typy, nejen hodnota. Zkus použít klasický "==". K tvému účelu by mohl stačit.