如何在使用会话PHP刷新NOT时保留变量的内容

时间:2015-08-20 01:16:49

标签: php variables session

我想在刷新时保留变量的一个内容,因为它有点像计数器,这是我使用会话获得的代码,但它似乎不想工作。
是的,我已经查看了其他网站的错误,我已经删除了所有不必要的空格等。

session_start();
$result = mysql_query('SELECT MIN(ID) AS min, MAX(ID) AS max FROM ytable') or exit(mysql_error()); 
$row = mysql_fetch_assoc($result); 
if($_SESSION['counter'] < $row['max']){
    if (isset($_SESSION['counter'])){
        $counter = $_SESSION['counter']++;

    }else{
            $counter = $_SESSION['counter'] = 0;
        }
 }

我的代码有问题吗? 如果没有,还有其他方法可以做同样的事情吗?

1 个答案:

答案 0 :(得分:0)

if($_SESSION['counter'] < $row['max']){
    if (isset($_SESSION['counter'])){
        $counter = $_SESSION['counter']++;
  1. 检查$_SESSION['counter']是否小于$row['max']然后对其isset进行检查是否有意义应首先isset

  2. 这可能是您的问题:当您在右侧上使用++时,它会返回当前值,然后递增(后递增)。如果你想增加它,并返回递增的值,你需要使用pre-inrement版本,所以

    $counter = ++$_SESSION['counter'];

  3. 例如

    ;

    $a=1;
    $b=$a++;
    //$a=2, $b=1
    
    $a=1;
    $b=++$a;
    //$a=2, $b=2
    

    另请参阅:Pre-incrementation vs. post-incrementation