Sto convalidando un modulo di accesso con jQuery chiamata AJAX a PHP. In PHP, creo una sessione e se hanno spuntato la casella di controllo "ricordami", voglio creare un cookie. Ecco il codice php:Impostazione di un cookie in una richiesta 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 sessione è impostata correttamente, tuttavia il cookie non è impostato. Ho provato a impostare tutti i valori (dominio, percorso, ecc.) Ma ciò non ha cambiato nulla. C'è qualcosa di ovvio che mi manca?
Da dove viene la variabile '$ exp'? – Sarfraz
scusate, era solo un errore di battitura, $ exp è definito prima come data di scadenza (2 mesi) – williamg
oooooh, non credo che vogliate impostare la password nel cookie, anche se è md5'ed. L'ID sessione è molto meglio – CpILL