更改会话值

时间:2013-01-23 13:55:39

标签: php mysql session

我正在创建一个允许用户更改密码的页面。但是密码是我会话的一部分。

以下是我的会议:

$_SESSION['myid'] = $myid;
$_SESSION['myusername'] = $myusername;
$_SESSION['mypassword'] = $mypassword;

我将用户名,密码和用户ID保存到我的会话中。我检查了每一页,检查会话是否属实:

require ('../handlers/loginhandler.php');

session_start();

    if (!isset($_SESSION['myid'])){  //in this part I skipped the username and password

    header("a page");

    }

    else {

    my page 

    } 

现在,当我想更改密码时,我的loginhandler似乎不正确。所以我需要重新启动会话并将新密码值放在会话中。但我似乎无法让它发挥作用。

我是否可以在会话中只放置user_id,这样无论我改变什么值,我的loghandler都会保持不变?因为现在我首先必须注销并再次登录才能获得正确的值。或者是否有重启代码?

1 个答案:

答案 0 :(得分:0)

使用$_SESSION['password']的新值更新会话应该有效(假设您在尝试进行更改之前已经session_start()'进行了会话。

话虽如此,将会话密码存储在会话中通常是一个坏主意,所以这是一个删除它的好机会。另一方面,存储用户名很好,可能会阻止不必要的数据库查找。