webForumDet fria alternativet

Hjälp med gissa talet-script

PHP

2 svar · 395 visningar · startad av Quid

Medlem sedan juni 20006 022 inlägg
Frågan#1

Jag har bestämt mig för att lära mig php, och jag precis börjat med mitt första script, men något blir fel :)

Det är ett gissa talet-spel:

<?php
$number = 99;
$message = "";
if ( ! isset( $_POST['guess'] ) ){
   $message = "Gissa på ett tal...";
}elseif( ! is_numeric( $_POST['guess'] ) ){
   $message = "Gissa på ett tal...";
}elseif( ! $_POST['guess'] = $number ){
   $message = "Synd, det var fel. Det skulle vara ".$number.", du skrev: ".$_POST['guess'].".<BR><BR>Gissa igen...";
}else {
    $message = "Grattis, rätt svar var ".$_POST['guess']."!";
}
?>

Problemet är nu att vilket nummer jag än skriver så blir det rätt. Någon som kan förklara varför?

Medlem sedan jan. 2005953 inlägg
#2

Vid jämförelse ska två likhetstecken användas. Nu när du bara använder ett så blir det en tilldelning istället, och eftersom den tilldelningen lyckas blir if-satsen sann. Det ska alltså vara

} elseif ( ! ($_POST['guess'] == $number)) {

alternativt (och snyggare)

} elseif ( $_POST['guess'] != $number) {
Medlem sedan juni 20006 022 inlägg
#3

Ah, tack! Då är jag med :)

268 ms totalt · 4 externa anrop · v20260731065814-full.2f471f9e
136 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
133 ms — ändringar (db)