PHP-Funktion erhöht die variable um 1 jedes mal,
Habe ich angefangen zu schreiben, ein PHP-script für ein Spiel über Kreaturen, es sind 4 ja/Nein-Fragen und das, was ich versuche zu tun, ist eine Funktion schreiben, die 2 Schaltflächen, die sagen ja und Nein und geben dann unterschiedliche Namen jedes mal, wenn ich die Funktion ausführen, zum Beispiel JA1 und no1, dann die nächste Ausführung der Funktion werden die Namen der Schaltflächen werden yes2 und no2.
Habe ich versucht, dies zu tun schon, aber es funktioniert nicht richtig, unten ist der code, den ich bisher so getan haben, jede Hilfe wäre sehr geschätzt werden.
<?php
session_set_cookie_params(2592000);
session_start();
?>
<html>
<head>
<title>Creature Guessing Game</title>
</head>
<body>
<h1>Creature Guessing Game</h1>
<p> Welcome to the creature guessing game! </p>
<p>Click the button below to start or restart the game </p>
<form method="post" action="Creatures.php">
<input type="submit" name="start" value="Start Game" />
</form>
<?php
$questions = array('Does the creature live on land?', 'Does it have wings?', 'Does it live near water?', 'Can it fly?');
function repeat()
{
$number = 0;
$number++;
echo "<form method ='post' action='Creatures.php'>
<input type='submit' name='yes'.$number value='Yes' />
<input type='submit' name='no'.$number value='No' />
</form>";
}
//If form not submitted, display form.
if (!isset($_POST['start'])){
?>
<?php
} //If form is submitted, process input
else{
switch($_POST)
{
case yes1:
echo $questions[0];
repeat();
break;
case no1:
echo $questions[1];
repeat();
break;
case yes2:
echo $questions[2];
repeat();
break;
case no2:
$questions[3];
repeat();
}
}
?>
</body>
</html>
Jedes mal, wenn Sie anrufen
Ich habe gerade versucht, aber dann aus irgendeinem Grund $number immer auf 0 gesetzt als ich versuchte, hallte es, und egal wie oft ich die Funktion aufgerufen wurde $Anzahl blieb 0
repeat()
du bist Einstellung $number
zu 0
und dann Inkrementieren. Was, wenn Sie $number
nachdem Sie $questions
aber vor repeat()
definiert ist?Ich habe gerade versucht, aber dann aus irgendeinem Grund $number immer auf 0 gesetzt als ich versuchte, hallte es, und egal wie oft ich die Funktion aufgerufen wurde $Anzahl blieb 0
InformationsquelleAutor Harry12345 | 2012-05-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
Brauchst du dafür Zustand zu halten zwischen den Anforderungen.
Schalter
reparieren Sie Ihre Schalter auf Antwort
Dies immer noch nicht funktioniert, möchte ich die switch-Anweisung zu tun verschiedene Dinge, je nachdem, welche Taste gedrückt wird (entweder ja oder Nein), vielleicht gibt es eine Möglichkeit, um die switch-Bedingung JA1 und machen Sie den ersten Fall, also wenn seine wahre (d.h. $_POST = 'JA1') und der zweite Fall, wenn es nicht wahr ist. Weiß nicht, ob du verstehen?? Wenn Sie tun, ist das möglich?
aktualisiert. Schalter und Namen.
InformationsquelleAutor ShaaD
Ich bin nicht in übereinstimmung mit der akzeptierten Antwort:
Hier ist ein einfacher Weg, um darüber zu gehen ohne Sitzung:
InformationsquelleAutor Anthony Ogundipe
Haben Sie, um zu speichern, "Zahl" in der Sitzung, da verliert es seinen Wert, jeder Zeit Seite eingereicht.
InformationsquelleAutor Ruben Nagoga