我有以下PHP函數:function validateUser($username){ session_regenerate_id (); $_SESSION['valid'] = 1; $_SESSION['username'] = $username; setcookie('username2',$username,time()+60*60*24*365); header("Location: ../new.php");}然后,我獲取Cookie:echo $_COOKIE['username2']; exit();(我僅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);我沒有包括所有if()語句以節省一些空間。
3 回答

富國滬深
TA貢獻1790條經驗 獲得超9個贊
嘗試添加path = /,以使Cookie不僅適用于當前目錄,而且適用于整個網站(之前使我陷入困境的目錄)
例
setcookie('password',$password,time()+60*60*24*365, '/');
還要確保cookie是php手冊中建議的輸出的第一件事(這也使我很困惑)
與其他標頭一樣,必須在腳本的任何輸出之前發送cookie(這是協議限制)。
- 3 回答
- 0 關注
- 635 瀏覽
添加回答
舉報
0/150
提交
取消