我使用jQuery AJAX調用PHP來驗證登錄表單。在PHP中,我創建了一個會話,如果他們選中了「記住我」複選框,我想創建一個cookie。這裏是php代碼:在AJAX請求中設置cookie?
<?php
include '../includes/connection.php';
date_default_timezone_set('GMT');
$name = $_POST['username'];
$pass = $_POST['password'];
$query = mysql_query("SELECT id, username, password FROM users WHERE username = '$name' LIMIT 1");
if(mysql_num_rows($query) == 0) {
echo 'error';
exit;
}
while($row = mysql_fetch_array($query)) {
if($row['username'] == $name && $row['password'] == $pass) {
session_start();
$_SESSION['username'] = $row['username'];
$_SESSION['usrID'] = $row['id'];
echo 'success';
if($_POST['remember']) {
setcookie('username', $row['username'], $exp);
setcookie('password', $row['password'], $exp);
setcookie('usrID', $row['id'], $exp);
}
} else {
echo 'error';
exit;
}
}
?>
會話設置成功,但是cookie根本沒有設置。我試過設置所有的值(域,路徑等),但沒有改變任何東西。有什麼明顯的我失蹤了?
變量'$ exp'來自哪裏? – Sarfraz 2010-08-07 20:30:14
對不起,這只是一個錯字,$ exp是早期定義的截止日期(2個月) – williamg 2010-08-07 20:32:00
oooooh,我不認爲你想要在cookie中設置密碼,即使它的md5'ed。會話ID好得多 – CpILL 2012-06-20 07:06:21