30. september 2004 - 22:11
Der er
14 kommentarer og 2 løsninger
hvad går galt i det her php spil?
Hjælp! Det er lige som om, den ikke gemmer nummeret men ændrer det ved hvert gæt??? Derudover skal selve input-feltet fjernes, hvis gættet er rigtig - der skal så være et link tilbage til et nyt spil. ---------------------php-koden----------------------------------- <? $guess = $_POST['guess']; global $number; $number= rand(0,99); function echo_guess_form($number) { echo "<form method='post' action='guess.php'> <input type='hidden' name='number' value='$number' /> <p>Skriv et tal mellem 1 og 100<br><br> <input type='text' name='guess' size='7' /> <input type='submit' value=' Gæt! ' /></p> </form>"; } echo_guess_form($number); if ($guess>100 || $guess<0) { echo "<p><br>Gæt på et tal mellem 1 og 100 - du tastede $guess.</p>"; return; } if (!is_numeric($guess)) { echo "<p><br>Du skal indtaste et tal.</p>"; return; } if ($guess < $number){ echo "<p><br>Tallet er for lavt</p>"; } elseif ($guess > $number){ echo "<p><br>Tallet er for højt</p>"; } else { echo "<p><br>Huraaaaa du gættede det<br><br><a href=\"guess.php\">Spil igen</a></p>"; } ?>
Annonceindlæg tema
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
30. september 2004 - 22:18
#1
fordi du hver gang siden loades udskriver formen samt lavet et nyt tal. Du skal rette så du også henter number: $guess = $_POST['guess']; global $number; $number = $_POST['number']; Så kan du tjekke på $guess og $number er tomme og hvis det er tomme fin random tal og udkriv formen: if (($guess=="") and ($number="")) { $number= rand(0,99); echo_guess_form($number); }
30. september 2004 - 22:22
#2
Du kan fx lave det sådan her: <? $number = isset($_POST['number']) ? $_POST['number'] : rand(0,99); $guess = isset($_POST['guess']) ? $_POST['guess'] : null; function echo_guess_form() { global $number; echo "<form method='post' action='guess.php'> <input type='hidden' name='number' value='$number' /> <p>Skriv et tal mellem 1 og 100<br><br> <input type='text' name='guess' size='7' /> <input type='submit' value=' Gæt! ' /></p> </form>"; } echo_guess_form(); if ($guess>100 || $guess<0) { echo "<p><br>Gæt på et tal mellem 1 og 100 - du tastede $guess.</p>"; return; } if (!is_numeric($guess)) { echo "<p><br>Du skal indtaste et tal.</p>"; return; } if ($guess < $number){ echo "<p><br>Tallet er for lavt</p>"; } elseif ($guess > $number){ echo "<p><br>Tallet er for højt</p>"; } else { echo "<p><br>Huraaaaa du gættede det<br><br><a href=\"guess.php\">Spil igen</a></p>"; } ?>
30. september 2004 - 22:26
#3
tak for de hurtige svar - jeg kigger lige på det og vender tilbage :-)
30. september 2004 - 22:43
#4
lige et par tillægsspørgsmål... :-) eagleeye Hvorhenne i koden ville du tjekke på $guess og $number? detox - mht. din løsning - vil du forklare klamamsen $number = isset($_POST['number']) ? $_POST['number'] : rand(0,99); $guess = isset($_POST['guess']) ? $_POST['guess'] : null; hvad betyder spørgsmålstegnene liiige? og kolon - er det ligesom = ? altså at man tildeler en værdi?
30. september 2004 - 22:45
#5
Det hvor du har denne linje: echo_guess_form($number);
30. september 2004 - 22:48
#6
altså i stedet for? for så forsvinder inputfeltet og knappen helt...
30. september 2004 - 22:50
#7
$number = isset($_POST['number']) ? $_POST['number'] : rand(0,99); Svarer til: if (isset($_POST['number'])) { $number = $_POST['number']; } else { $number = rand(0,99); } Altså en if/else betingelse.
30. september 2004 - 22:52
#8
Der også en fejl i, prøv at rete if sætningen til dette: if (($guess=="") && ($number=="")) {
30. september 2004 - 22:53
#9
Og som du kan se har jeg flyttet: global $number ind i functionen, hvor den retteligt hører hjemme og du behøver derfor ikke overføre den i funktionskaldet.
30. september 2004 - 22:55
#10
gisp hvor er I hurtige tak!!! jeg må lige checke igen :-)
30. september 2004 - 22:57
#11
Glem mit forslag :) det re forkert den fjerne input felt ved hvert gæt og ikke kun når man gætter rigtigt.
30. september 2004 - 23:04
#12
men du kan lave min if sætning om til dette: if (($guess=="") && ($number=="") || ($guess!=$number)) { if ($number=="") { $number = rand(0,99); } echo_guess_form(); }
30. september 2004 - 23:23
#13
1000 tak for hjælpen begge to. Jeg bruger detox' forslag og har bare skrevet if (isset($_POST['number'])) { $number = $_POST['number']; } else { $number = rand(0,99); } if (isset($_POST['guess'])){ $guess = $_POST['guess']; } else { $guess = null; } så jeg selv fatter det :-) I må meget gerne lægge nogle svar - jeg er godt nok imponeret over jeres tempo!!!
30. september 2004 - 23:28
#14
Velbekommen :O)
30. september 2004 - 23:35
#15
Ok ;)
30. september 2004 - 23:36
#16
Tak og godnat :-)
Vi tilbyder markedets bedste kurser inden for webudvikling