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'essaye de faire est d'écrire une fonction qui affichera 2 boutons qui disent oui et non et donnez ensuite des noms différents chaque fois que j'exécute la fonction, par exemple yes1 et no1, puis la prochaine fois que la fonction sera exécutée, les noms des boutons seront yes2 et no2.Fonction PHP pour incrémenter la variable de 1 à chaque fois
J'ai déjà essayé de le faire mais ça ne fonctionne pas correctement, voici 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 'répétition() 'vous définissez' $ number' sur '0' et l'incrémentez ensuite. Que faire si vous définissez '$ number' après avoir défini' $ questions' mais avant que 'repeat()' soit défini? – robert
Je viens de l'essayer mais pour une raison quelconque, le nombre $ est toujours mis à 0 comme j'ai essayé de l'écho et peu importe combien de fois j'ai appelé la fonction $ nombre resté 0 – Harry12345