【问题标题】:Session Won't Stay on Redirection会话不会继续重定向
【发布时间】:2012-04-24 07:27:43
【问题描述】:

代码如下:

final public function login($email) {
    $this->email = mysql_real_escape_string($email);
    $this->q = "SELECT id FROM users WHERE mail = '$this->email'"; 
    $this->r = mysql_query($this->q);
    $this->id = mysql_result($this->r, 0);
    $_SESSION['id'] = "$this->id";

    header('Location: me.php');
    exit;
    }

我不确定何时重定向会话不会保留。我已经在当前页面上回应了它,它显示了。有什么解决办法吗?我有一个全局命名空间,所以会话设置在所有文件中。

【问题讨论】:

  • 您是否使用session_start 开始会话?
  • 您是否在此页面和每个访问过$_SESSION的其他页面上调用了session_start()
  • $_SESSION['id'] = "$this->id"?请不要......另外,你为什么要把所有东西都变成实例变量?这样做有充分的理由,还是试图成为 OOP?
  • 尝试使用window.location() Javascript函数而不是使用header()

标签: php session set session-variables


【解决方案1】:

当您在 PHP 中处理会话时,您应该使用session_start() 将会话数据加载到内存中。

每个页面只调用一次session_start()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-28
    • 2016-04-14
    相关资源
    最近更新 更多