Je valide un formulaire de connexion avec l'appel jQuery AJAX à PHP. En php, je crée une session et si elles cochent la case "Mémoriser moi", je veux créer un cookie. Voici le code php:Définition d'un cookie dans une requête 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 session est définie avec succès, mais le cookie n'est pas défini du tout. J'ai essayé de régler toutes les valeurs (domaine, chemin, etc.) mais cela n'a rien changé. Y a-t-il quelque chose d'évident qui me manque?
D'où vient la variable '$ exp'? – Sarfraz
désolé, c'était juste une faute de frappe, $ exp est défini plus tôt que la date d'expiration (2 mois) – williamg
oooooh, je ne pense pas que vous voulez définir le mot de passe dans le cookie, même si son md5'ed. L'ID de session est beaucoup mieux – CpILL