Reacties op het script Raad het getal
|
Gepost op: 01 september 2004 - 18:28 |
|
|
|
Eigenaar
|
|
|
|
Gepost op: 05 september 2004 - 08:12 |
|
|
|
PHP gevorderde
|
"Notice: Undefined index: antwoord in c:\DownTemp\Server\index.php on line 127
Notice: Undefined variable: bericht in c:\DownTemp\Server\index.php on line 139" |
|
|
|
Gepost op: 05 september 2004 - 08:18 |
|
|
|
PHP gevorderde
|
<?php
srand((double) microtime() * 100000);
$te_raden_getal = rand(1, 10); // wordt maar 1 keer gebruikt, kan dus weg
$antwoord = $_POST['antwoord']; // waarom maak je die variabele hier aan en gebruik je niet gewoon $_POST['antwoord']? Weg kan dit dus
if ($_SERVER['REQUEST_METHOD'] == 'POST'){ // als er een POST is
$_POST['te_raden_getal'] = intval($_POST['te_raden_getal']);
// wel geinig overigens, je formulier gebruikt method="get" :)
// deze onderstaande teksten kun je aanpassen in wat je maar wilt...
if ($_POST['antwoord'] != $_POST['te_raden_getal']){
echo "Uw getal is helaas niet goed, het juiste antwoord was " . $_POST['te_raden_getal'];
} else {
echo "Uw getal is correct!";
}
}
echo $bericht . "<br>"; // hier moest nog een komma achter en dit kan ook weg.. Je doet daarboven gewoon een echo ;)
?>
<form method="GET" action="index.php">
De bedoeling is dat je een getal van 1 t/m 10 invult en als je geluk hebt raad je hem.
<input name="antwoord" value="<?php echo (isset($_POST['antwoord']) ? $_POST['antwoord'] : ''); ?>"><br>
<input type="hidden" name="te_raden_getal" value="<?php echo rand(1, 10); ?>">
<input type="submit" value="Go">
</form>
</body>
</html>
<?php $te_raden_getal = rand(1, 10); // wordt maar 1 keer gebruikt, kan dus weg $antwoord = $_POST['antwoord']; // waarom maak je die variabele hier aan en gebruik je niet gewoon $_POST['antwoord']? Weg kan dit dus if ($_SERVER['REQUEST_METHOD'] == 'POST'){ // als er een POST is $_POST['te_raden_getal'] = intval($_POST['te_raden_getal']); // wel geinig overigens, je formulier gebruikt method="get" :) // deze onderstaande teksten kun je aanpassen in wat je maar wilt... if ($_POST['antwoord'] != $_POST['te_raden_getal']){ echo "Uw getal is helaas niet goed, het juiste antwoord was " . $_POST['te_raden_getal']; } else { echo "Uw getal is correct!"; } } echo $bericht . "<br>"; // hier moest nog een komma achter en dit kan ook weg.. Je doet daarboven gewoon een echo ;) ?> <form method="GET" action="index.php"> De bedoeling is dat je een getal van 1 t/m 10 invult en als je geluk hebt raad je hem. <input name="antwoord" value=" <?php echo (isset($_POST['antwoord']) ? $_POST['antwoord'] : ''); ?>"><br> <input type="hidden" name="te_raden_getal" value=" <?php echo rand(1, 10); ?>"> <input type="submit" value="Go"> </form> </body> </html>
Zoiets zou al beter zijn..
Want we gaan natuurlijk wel kijken of variabelen ook daadwerkelijk bestaan he. ;) En onnodige variabelen hebben helemaal geen nut ($te_raden_getal, $antwoord).
En superglobals... |
|
|
|
Gepost op: 02 februari 2005 - 22:26 |
|
|
|
PHP expert
|
waarom geef je de waarde van het juiste antwoord mee in de html code? dat maakt het spel onnutteloos... je kan zo het antwoord bekijken... |
|
|
|
Gepost op: 12 maart 2005 - 00:16 |
|
|
|
Onbekend
|
zou er niet beter de functie mt_rand(); gebruikt worden ? |
|
|
|
Gepost op: 13 april 2007 - 14:58 |
|
|
|
Nieuw lid
|
als je het in een hidden zet kan je de waarde nog wel zien in de bron code...
<?php
if (isset($_POST['raadgetal']))
{
$rand = rand(1, 10);
if ($_POST['getal'] <> $rand)
{
echo "Je had het niet goed, het getal was ".$rand.".";
}
else
{
echo "Je had het goed";
}
}
else
{
?>
<form method="POST">
<input type="text" name="getal" maxlength="2" size="2"><input type="submit" name="raadgetal" value="gok!">
</form>
<?php
}
?>
<?php if (isset($_POST['raadgetal'])) { if ($_POST['getal'] <> $rand) { echo "Je had het niet goed, het getal was ".$rand."."; } else { } } else { ?> <form method="POST"> <input type="text" name="getal" maxlength="2" size="2"><input type="submit" name="raadgetal" value="gok!"> </form> <?php } ?>
zo genereer je het getal pas als een getal is opgegeven... je kan er nog wel wat meer controles in zetten bijv. of er wel wat in het veld "getal" is ingevult en of dat wel getallen zijn... dit was maar ff snel... |
|
|
Enkel aanvullende informatie, vragen en antwoorden op vragen zijn welkom. |
|
|
|