2012-04-11 62 views
3

下面的代码:会议将不会留在重定向

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; 
    } 

我不知道,当我重定向会话不留。我在当前页面上回应了它,并显示出来。任何解决方案我有一个全局的命名空间,所以会话被设置在所有文件中。

+0

你开始使用'session_start'会议? – Ryan 2012-04-11 23:18:46

+0

你叫这个页面和其他_every_页面上'在session_start()''那里$ _SESSION'访问? – 2012-04-11 23:18:57

+1

'$ _SESSION [ 'ID'] = “$这 - > ID”'?请不要......还有,你为什么要把一切都变成实例变量?这是否有一个很好的理由,还是这是试图成为面向对象? – Ryan 2012-04-11 23:21:07

回答

0

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

呼叫session_start()每个页面,你只有一次。