Überprüf’ mal die Namen deiner Felder und Variablen!
Als erstes weist du mit
[php]
$random = rand(10,20);
$test1 = $rand;
[/php]
Eine falsche Variable zu! Nämlich $rand statt $random!
Später prüfst du dann auf diese Variable, die es ja nicht gibt.
Das die Zufallswerte neu erzeugt werden, kannst du mit Sessions unterbinden,
wenn die Session gesetzt ist, wird kein neuer Wert eingetragen,
wenn sie nicht gesetzt ist, also zu Beginn, oder wenn ‚gewonnen‘ wurde,
wir der Zufallswert in die Session eingetragen!
Ich hab dir das unten mal gemacht, schau ‚s dir einfach an und frag‘, wenn
was unverständlich ist!
[php]
<?php
session_start();
if (!isset($_SESSION['zahlen'])) {
$_SESSION['zahlen'] = array();
}
//Zufallszahl
if (!isset($_SESSION['zufallszahl'])) {
$_SESSION['zufallszahl'] = rand(10,20);
}
?>
<?php
//Überprüfung
if (isset($_POST['userzahl'])) {
if($_POST['userzahl'] < $_SESSION['zufallszahl']){
if (!in_array($_POST['userzahl'], $_SESSION['zahlen'])) {
$_SESSION['zahlen'][] = $_POST['userzahl'];
}
echo "Zu klein (".$_POST['userzahl'].")
";
echo "Ihre Zahlen:
";
echo implode(',', $_SESSION['zahlen']);
}
elseif ($_POST['userzahl'] > $_SESSION['zufallszahl']) {
if (!in_array($_POST['userzahl'], $_SESSION['zahlen'])) {
$_SESSION['zahlen'][] = $_POST['userzahl'];
}
echo "Zu groß (".$_POST['userzahl'].")
";
echo "Ihre bisherigen Zahlen:
";
echo implode(', ', $_SESSION['zahlen']);
}
elseif ($_POST['userzahl'] == $_SESSION['zufallszahl']) {
echo "Richtig!!!
";
echo "Ihre Versuche: ". count($_SESSION['zahlen']);
unset($_SESSION['zufallszahl']);
unset($_SESSION['zahlen']);
echo "
";
echo "
Nochmal!";
}
}
?>
[/php]