Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何仅在第一次分配值_Php - Fatal编程技术网

Php 如何仅在第一次分配值

Php 如何仅在第一次分配值,php,Php,在我的web系统中,我有3个文件,分别是database.php、functions.php和dashboard.php 这就是我的dashboard.php文件的外观 <?php $i = NULL; if (isset($_POST['next'])) { $i = getQuizes($i); } ?> <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>"> &

在我的web系统中,我有3个文件,分别是database.php、functions.php和dashboard.php

这就是我的dashboard.php文件的外观

<?php
$i = NULL;
if (isset($_POST['next'])) {
    $i = getQuizes($i);
}

?>
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
    <input name="next" value="Next" type="submit">
</form>
当我单击submit按钮时,数据转到functions.php文件并返回dashboard.php,然后$I再次变为NULL。
我可以只在第一次分配NULL。如果是,我如何分配。

在会话中存储
$I
,并在每个请求中加载它,如果它没有在
$\u会话中设置
$I
设置为
NULL

<?php
   $i = isset($_SESSION['next']) ? $_SESSION['next'] : NULL;
   if(isset($_POST['next']))
   {
       $i = getQuizes($i);
       $_SESSION['next'] = $i;
   }?>
   <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
        <input name="next" value="Next" type="submit">
   </form>


$quizNo++
的值将丢失,除非您将其存储在会话中。
<?php
   $i = isset($_SESSION['next']) ? $_SESSION['next'] : NULL;
   if(isset($_POST['next']))
   {
       $i = getQuizes($i);
       $_SESSION['next'] = $i;
   }?>
   <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
        <input name="next" value="Next" type="submit">
   </form>