我有以下功能设置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(两个用户之一)出现。不管是谁登录。
希望这是有道理的。
重复:http://stackoverflow.com/questions/6970754/why-are-my-cookies-not-setting http://stackoverflow.com/questions/6974379/cookie-and-session-errors –
你是1)实际调用函数'validateUser()'? 2)在调用'validateUser()'的页面上调用'session_start()'? –
哪里可以获得用户名?如果登录错误,您会在哪里取消设置Cookie,即使登录错误,您是否设置了Cookie?你有没有尝试清除你的cookies和用一些'var_dump()'和'die()'调试更多的高级代码没有太大的错误... –