Estoy validando un formulario de inicio de sesión con la llamada jQuery AJAX a PHP. En php, creo una sesión y si marcaron la casilla "recordarme", quiero crear una cookie. Aquí está el código php:¿Configurando una cookie en una solicitud 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;
}
}
?>
La sesión se establece con éxito, sin embargo, la cookie no se establece en absoluto. Intenté configurar todos los valores (dominio, ruta, etc.) pero eso no cambió nada. ¿Hay algo obvio que me estoy perdiendo?
¿De dónde viene la variable '$ exp'? – Sarfraz
lo siento, solo fue un error tipográfico, $ exp se definió anteriormente como la fecha de vencimiento (2 meses) – williamg
oooooh, no creo que quiera establecer la contraseña en la cookie, incluso si es md5'ed. ID de sesión es mucho mejor – CpILL