PHP函数每次将变量递增1

标签 php function auto-increment decision-tree expert-system

我已经开始为一个关于生物的游戏编写一个 PHP 脚本,有 4 个是/否问题,我想做的是编写一个函数来显示 2 个按钮,分别说是和否,然后分别给出不同的名称每次运行该函数时,例如 yes1 和 no1,那么下次运行该函数时,按钮的名称将是 yes2 和 no2。

我已经尝试这样做,但它无法正常工作,下面是我到目前为止所做的代码,我们将不胜感激。

<?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>

最佳答案

为此,您需要在请求之间保持状态。

 function repeat() {
      $number = $_SESSION['number'];
      $number++;
      echo "<form method ='post' action='Creatures.php'>
     <input type='submit' name='answer' value='Yes' />
     <input type='submit' name='answer' value='No' />
     </form>";
     $_SESSION['number'] = $number;
 }

切换

   if($_POST['answer']=='Yes') {
      switch($_SESSION['number']) {
            case 1:
            break;
            case 2:
            break;
      }
   } else {
      switch($_SESSION['number']) {
            case 1:
            break;
            case 2:
            break;
      }
   }

关于PHP函数每次将变量递增1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10743807/

相关文章:

MySQL:使用计算计数器列作为子查询的键

php - MySQL varchar 在 PHP 中具有换行符和有效的 LIKE 子句

php - JSON 解码嵌套数组 PHP 循环

php - PHP 中的正则表达式期望匹配像 "${string}"这样的字符串,但不起作用

C++ 从函数定义在 main 中的类中的函数指针 vector 调用函数

function - 查找 Haskell Int 精度

MySQL:可以AUTO_INCRMENT=some_value;创建表并插入行时会失效吗?

php - 如何在 Codiginator 模型不敏感查询中创建 SQL 查询 - SQL LIKE 查询

javascript - Angular Firestore 根据返回的 bool 值显示一个按钮,该 bool 值检查 Firestore 文档是否存在

mysql - 函数执行时mysql字段的值递增