如何仅为第一次分配值

在我的网络系统中,我有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>

functions.php如下所示

function getQuizes($quizNo)
{
    if($quizNo==NULL)
    {
        $quizNo=0;
    }
    include_once('database.php');
    $sql = "SELECT * FROM quiz LIMIT ".$quizNo.",1";
    $result = $conn->query($sql);
    while($row=$result->fetch_assoc())
    {
        echo $row['question'],$quizNo;
    }
    $quizNo++;
    return $quizNo;
}

当我点击提交按钮数据转到functions.php文件并返回到dashboard.php然后再次$ i变为NULL。 我可以只在第一次分配NULL吗?如果是,我该怎么做。


$i存储在会话中,并将其加载到每个请求中,如果未在$_SESSION设置,则将$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>
链接地址: http://www.djcxy.com/p/31621.html

上一篇: How to assign a value only for first time

下一篇: CMAC Key generation with OpenSSL EVP