我有以下功能来设置Cookie和两个会话:
function validateUser($username) {
session_regenerate_id ();
$_SESSION['valid'] = 1;
$_SESSION['username'] = $username;
setcookie('username2',$username,time()+60*60*24*365,'/');
header("Location: ../new.php");
exit();
}
调用该函数时:
if(mysql_num_rows($queryreg) != 0){
$row = mysql_fetch_array($queryreg,MYSQL_ASSOC);
$hash = hash('sha256', $row['salt'] . hash('sha256', $password));
if($hash == $row['password']) {
if($row['confirm'] == 1){
if(isset($remember)){
setcookie('username',$username,time()+60*60*24*365,'/');
setcookie('password',$password,time()+60*60*24*365,'/');
} else {
setcookie('username','',time()-3600,'/');
setcookie('password','',time()-3600,'/');
}
validateUser($username);
但是,在test.php
上,我添加了echo $_COOKIE['username2']; exit();
用于调试目的。然而,cookie每次都是jason,两个用户之一。无论谁登录。
希望这是有道理的。
答案 0 :(得分:0)
别忘了
session_start()
你的new.php中的
并致电
validateUser()
功能