jQuery와 AJAX 호출로 로그인 폼의 유효성을 검사하고 있습니다. PHP에서는 세션을 만들고 'remember me'확인란을 선택하면 쿠키를 만들고 싶습니다. 여기에 PHP 코드가 있습니다 :AJAX 요청에 쿠키를 설정 하시겠습니까?
<?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;
}
}
?>
세션이 성공적으로 설정되었지만 쿠키가 설정되지 않았습니다. 모든 값 (도메인, 경로 등)을 설정해 보았지만 아무 것도 변경하지 않았습니다. 내가 놓친 게 분명해?
여기서 '$ exp'변수는 어디에서 오는가? – Sarfraz
죄송합니다, 그건 단지 오타였습니다. $ exp는 만료일 (2 개월)보다 일찍 정의되었습니다. – williamg
오, 쿠키에 암호를 설정하고 싶지는 않습니다. md5로 지정 했더라도. 세션 ID가 훨씬 좋다. – CpILL