webForumDet fria alternativet

problem med ett litet barnspel

5 svar · 467 visningar · startad av egxezex

egxezexMedlem sedan jan. 200786 inlägg
#1

väldigt simpelt litet räknespel. har problem med att få till rättningen, just nu visar den fel alla gångerna utom någon enstaka (och ja, jag kan räkna :) )

<?php
$tal1 = rand(0,10);
$tal2 = rand(0,10);
$svar = $tal1 * $tal2;
echo "$tal1 * $tal2";
//echo $svar;

if (isset($_POST['skicka'])){
	$Givet = $_POST['svaret'];
		if($svar == $Givet){
		echo "RÄTT!!!\n";
		}
			if($svar !== $Givet){
			die("FEL!!!");
			}

}

?>
<html>
<head>
</head>
<body>
<form action="spel.php" method="post">
<input type="password" name="svaret" value="">
<input type="submit" name="skicka" value="skicka svar">
</form>
</body>
</html>
QuidMedlem sedan juni 20006 025 inlägg
#2

När du laddar om sidan för att svara så slumpas ju nya värden.

fiddlerMedlem sedan juli 20023 617 inlägg
#3

Hm, du räknar ju ut ett nytt svar som du kollar mot. :) Du måste skicka med det gamla svaret och rätta mot.

/Red. Quid var snabbare... :)

egxezexMedlem sedan jan. 200786 inlägg
#4

:r tänkte jag såklart inte på... men får det inte att funka ändå, min variabel blir på nått sätt tom.

gjorde så här nu

<?php
$tal1 = rand(0,10);
$tal2 = rand(0,10);
$svar = $tal1 * $tal2;
echo "$tal1 * $tal2";
//echo $svar;

if (isset($_POST['skicka'])){
	$Givet = $_POST['svaret'];
		if($svar == $Givet){
		echo "RÄTT!!!\n";
		}
			if($svar !== $Givet){
			die("FEL!!!");
			}

}

?>
<html>
<head>
</head>
<body>
<form action="spel.php?svar=<?php $svar ?>" method="post">
<input type="password" name="svaret" value="">
<input type="submit" name="skicka" value="skicka svar">
</form>
</body>
</html>
QuidMedlem sedan juni 20006 025 inlägg
#5

Du jämför fortfarande med det nya svaret, jag kan inte php men jag gör ett försök :)

<?php
$tal1 = rand(0,10);
$tal2 = rand(0,10);
$svar = $tal1 * $tal2;
echo "$tal1 * $tal2";
//echo $svar;

if (isset($_POST['skicka'])){
    $Givet = $_POST['svaret'];
    $Ratt = $_POST['korrekt'];
        if($Ratt == $Givet){
        echo "RÄTT!!!\n";
        }
            if($Ratt !== $Givet){
            die("FEL!!!");
            }
}
?>
<html>
<head>
</head>
<body>
<form action="spel.php" method="post">
<input type="password" name="svaret" value="">
<input type="hidden" name="korrekt" value="<?php $svar ?>">
<input type="submit" name="skicka" value="skicka svar">
</form>
</body>
</html>
fiddlerMedlem sedan juli 20023 617 inlägg
#6

Quids lösning borde fungera, bara du sätter print före $svar i hidden-fältet.

131 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)