【问题标题】:How to overwrite a PHP session variable [closed]如何覆盖 PHP 会话变量 [关闭]
【发布时间】:2013-05-17 15:16:02
【问题描述】:

这可能吗?

if ($_SESSION['variable'] = 'one' {
    $_SESSION['variable'] = 'car';
}

它似乎不起作用。 这些信息够不够?

【问题讨论】:

  • 是的,这是可能的。确保变量为 1 并记住使用 session_start();在文件的开头。此外,它的:“if ($_SESSION['variable'] == 'one'){}”
  • == 在 if 语句中,同时关闭 )
  • 并记得关闭括号 if ) :D
  • 我在这里没有正确输入语法,我不认为这是问题所在,这是我的代码if ($_SESSION['variable'] == 'one') { $_SESSION['variable'] = 'car'; } 这应该可以,对吧?我正在使用session_start();
  • @user2118228 你告诉我们...它有用吗?

标签: php session overwrite


【解决方案1】:

您的代码中存在语法错误或可能是拼写错误 试试这个

if ($_SESSION['variable'] == 'one') {
    $_SESSION['variable'] = 'car';
}

【讨论】:

    【解决方案2】:

    它不起作用的原因是您的语法错误。

    这里有一个例子可以帮助你理解发生了什么......

    $_SESSION['variable'] = 'one';
    // use == for comparison... = for variable assignment
    if($_SESSION['variable'] == 'one'){
        // reassign
        $_SESSION['variable'] = 'car';
    }
    
    var_dump($_SESSION);
    
    // array(1) { ["variable"]=> string(3) "car" }
    

    Demo

    【讨论】:

      【解决方案3】:

      存在语法错误,并且在 if 子句中您没有检查您是否正在分配值

      session_start();
      if ($_SESSION['variable'] == 'one') {
      $_SESSION['variable'] = 'car';
      }
      

      【讨论】:

        【解决方案4】:

        是的,您可以覆盖变量,但是您的代码语法错误,请尝试:

        if ($_SESSION['variable'] == 'one') {
            $_SESSION['variable'] = 'car';
        }
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2021-02-25
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-12-29
          • 2017-11-08
          • 1970-01-01
          相关资源
          最近更新 更多