Fonction PHP pour incrémenter la variable de 1 à chaque fois
J'ai commencé à écrire un script PHP pour un jeu sur les créatures, il y a 4 questions oui/non et ce que j'essaie de faire est d'écrire une fonction qui affiche 2 boutons que dire oui et non, et de donner ensuite des noms différents à chaque fois j'ai l'exécution de la fonction, par exemple yes1 et no1, alors la prochaine fois que la fonction est d'exécuter les noms des boutons sera oui2 et le no2.
J'ai essayé de le faire déjà, mais il ne fonctionne pas correctement, ci-dessous le code que j'ai fait jusqu'à présent, toute aide serait grandement appréciée.
<?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>
Chaque fois que vous appelez
Je viens d'essayer, mais pour une raison quelconque $nombre est toujours la valeur 0 comme je l'ai essayé il écho et peu importe combien de fois j'ai appelé la fonction $nombre est resté 0
repeat()
de la configuration de $number
à 0
et puis l'incrémentation. Que faire si vous définissez $number
après avoir défini $questions
mais avant repeat()
est-elle définie?Je viens d'essayer, mais pour une raison quelconque $nombre est toujours la valeur 0 comme je l'ai essayé il écho et peu importe combien de fois j'ai appelé la fonction $nombre est resté 0
OriginalL'auteur Harry12345 | 2012-05-24
Vous devez vous connecter pour publier un commentaire.
Pour ce faire, vous devez maintenir l'état entre les demandes.
commutateur
la réparation de votre commutateur sur la réponse
Cela ne fonctionne toujours pas, je veux de l'instruction switch pour faire des choses différentes en fonction de ce bouton est pressé (oui ou non), peut-être il ya une certaine façon de faire de l'interrupteur condition yes1 et faire le premier cas, donc si c'est vrai (c'est à dire $_POST = 'yes1') et le second cas, si ce n'est pas vrai. Ne sais pas si vous comprenez?? Si vous le faites, est-ce possible?
mis à jour. commutateur pour soumettre les noms.
OriginalL'auteur ShaaD
Je ne suis pas en accord avec la accepté de répondre:
Voici un moyen plus facile de le faire sans session:
OriginalL'auteur Anthony Ogundipe
Il faut stocker le numéro de session, car il va perdre de sa valeur à chaque fois que la page a soumis.
OriginalL'auteur Ruben Nagoga