如何在某个时刻将php会话重置为起始值?

时间:2014-04-28 20:59:29

标签: php session

  <?php
    session_start();
    if(isset($_SESSION['enter']))
    $_SESSION['enter']=$_SESSION['enter']+1;
    else
    $_SESSION['enter']=1;

    if ($_SESSION['enter']=7) {
      unset($_SESSION['enter']);
        $_SESSION['enter']=1;  // here I want to count from beginning if there are seven enters
    }
    $enter = $_SESSION['enter'];
    $enter = sprintf("%03d", $enter);
    echo $enter; //keep always 001
    ?>

所以,我想计算页面从1进入7然后再回到1 ......依此类推,但在上述情况下,它始终保持在{{ 1}}。

任何帮助。

2 个答案:

答案 0 :(得分:3)

if ($_SESSION['enter']=7) {

==,而不是=

答案 1 :(得分:1)

这是你的问题:

if ($_SESSION['enter']=7) {

您不是在比较这些值,而是分配它们并始终返回true值,从而导致其后的代码运行。

只需将其更改为:

if ($_SESSION['enter']===7) {

在这种情况下,您也可以跳过if并执行:

$_SESSION['enter'] = ($_SESSION['enter'] % 7) + 1;

在您的第一个if声明中。有关modulus operator的更多信息。