Zur Navigation

Zählung der Eingaben&Fehlerwerte@php

1 frqas

Hi,

also mein Ziel ist es eine art Glücksspiel zu entwerfen. Das Ziel: Über ein Eingabefeld soll eine Zahl eingegeben werden, per Start-button startet das Spiel.Nebenbei wird ein Zufallswert ermittelt, wenn die eingegebene Zahl und der Zufallswert übereinstimme kommt die Meldung "Gewonnen", wenn nicht kann man das Spiel per button erneut starten.

Dies ist mir bis jetzt auch gelungen, allerdings habe ich 2 Probleme!Einmal soll eine Fehlermeldung ausgegeben werden, falls z.B. ein Buchstabe statt einer Zahl eingegeben wird und es soll die Anzahl der Versuche gezählt werden bis man zum erstem mal richtig getippt hat. Kann mir da jemand vll. weiter helfen?Hier mal das was ich bereits gemacht hab als Übersicht:


Datei 1:

<form action="formular2_blub.php" method="POST">
<input type="string" name="name" value="Ihr Name" size="24">
<input type="string" name="stufe" value="Stufe der Schwierigkeit 1-5" size="24">
<input type="submit" value="Los!">
</form>

Datei 2:

<?php
echo "Name:<b>$name</b><br>";
echo "Schwierigkeitsstufe:<b>$stufe</b><br>";

echo '<form action="berechnung.php" method="POST">';
echo '<INPUT TYPE="hidden" name="stufe" value="'.$_POST['stufe'].'" SIZE=24>';
echo '<INPUT TYPE="hidden" name="name" value="'.$_POST['name'].'" SIZE=24>';
echo '<input type="string" name="zahl" value="Zahl" size="24">';
echo '<input type="submit" value="Ok">';
echo '</form>';

?>

Datei 3:

<?php

$stufe = $_POST['stufe'];
$name = $_POST['name'];

if ( $stufe == 1 )
{
$zufallswert = rand(1,5);
}
elseif ( $stufe == 2 )
{
$zufallswert = rand(1,10);
}
elseif ( $stufe == 3 )
{
$zufallswert = rand(1,15);
}
elseif ( $stufe == 4 )
{
$zufallswert = rand(1,20);
}
elseif ( $stufe == 5 )
{
$zufallswert = rand(1,50);
}
else
{
echo "";
}


if ( $zahl == $zufallswert )
{
echo "Richtig getippt!";
}
else
{
echo "Leider daneben!<br>Die Zufallszahl war <b>$zufallswert</b><br><br>";
echo '<form action="formular2_blub.php" method="POST">';
echo '<INPUT TYPE="hidden" name="stufe" value="'.$_POST['stufe'].'" SIZE=24>';
echo '<INPUT TYPE="hidden" name="name" value="'.$_POST['name'].'" SIZE=24>';
echo '<input type="submit" value="Erneuter Versuch">';
echo '</form>';
}
$zahl=0;

?>


Danke für jede Hilfe

17.12.2008 01:36 | geändert: 17.12.2008 01:38

2 Jörg Kruse

Hallo frqas,

Einmal soll eine Fehlermeldung ausgegeben werden, falls z.B. ein Buchstabe statt einer Zahl eingegeben wird

Da könnte dir die Funktion is-numeric() weiterhelfen.

es soll die Anzahl der Versuche gezählt werden bis man zum erstem mal richtig getippt hat.

Hierfür würde ich eine Session-Variable anlegen und bei jedem falschen Tip um eins hochzählen.

17.12.2008 09:51

3 frqas

Ich zeig mal die akualisierung von Datei 2 und 3 auf.

Datei 2:

<html>
<head>
</head>
<body bgcolor=#fffff>
<center>
<?php
echo "Name:<b>$name</b><br>";
echo "Schwierigkeitsstufe:<b>$stufe</b><br>";



echo '<form action="berechnung.php" method="POST">';
echo '<INPUT TYPE="hidden" name="stufe" value="'.$_POST['stufe'].'" SIZE=24>';
echo '<INPUT TYPE="hidden" name="name" value="'.$_POST['name'].'" SIZE=24>';
echo '<input type="string" name="zahl" value="Zahl" size="24">';
echo '<input type="submit" value="Ok">';
echo '</form>';

{
if (ctype_digit($stufe))
{
echo "Schwierigkeitsstufenwert $testcase akzeptiert.\n";}
else {
echo "Warnung! Der Schwierigkeitsstufenwert $testcase besteht nicht aus Zahlen.\n";
}
}


?>
</center>
</body>
</html>

Datei 3:

<center>
<?php

$stufe = $_POST['stufe'];
$name = $_POST['name'];

if ( $stufe == 1 )
{$zufallswert = rand(1,5);}
elseif ( $stufe == 2 )
{$zufallswert = rand(1,10);}
elseif ( $stufe == 3 )
{$zufallswert = rand(1,15);}
elseif ( $stufe == 4 )
{$zufallswert = rand(1,20);}
elseif ( $stufe == 5 )
{$zufallswert = rand(1,50);}
else
{echo "";}


if ( $zahl == $zufallswert )
{echo "Richtig getippt!";}
else

{
echo "Leider daneben!<br>Die Zufallszahl war <b>$zufallswert</b><br><br>";
echo '<form action="formular2_andreas.php" method="POST">';
echo '<INPUT TYPE="hidden" name="stufe" value="'.$_POST['stufe'].'" SIZE=24>';
echo '<INPUT TYPE="hidden" name="name" value="'.$_POST['name'].'" SIZE=24>';
echo '<input type="submit" value="Erneuter Versuch">';
echo '</form>';
}

$zahl=0;

{
if (ctype_digit($zahl))
{
echo "Zahl $testcase akzeptiert.\n";}
else {
echo "Warnung! Der Wert Zahl $testcase besteht nicht aus Zahlen.\n";
}
}


?>
</center>


In Datei 2 funktioniert alles wie gewollt, allerdings nicht in Datei 3...wo liegt der Fehler?Ich find ihn einfach nicht

17.12.2008 20:37

4 Jörg Kruse

Die Formulare leiten auf berechnung.php und formular2_andreas.php weiter - welchen Dateien (1, 2, 3) entsprechen diese?

PS: zur besseren Lesbarkeit des Codes diesen bitte in Codeblöcke ([code][/code]) einfügen ;)

17.12.2008 22:08 | geändert: 17.12.2008 22:09

Beitrag schreiben (als Gast)

Die Antwort wird nach der Überprüfung durch einen Moderator freigeschaltet.





[BBCode-Hilfe]