Probléme de cookies
Posté : 06 déc. 2007, 10:34
Bonjour,
Sur mon site j'ai un espace membre, sur ma page connection j'ai une case à cocher pour savoir si l'utilisateur veut mémoriser ses info de connection, donc pour cela j'utilise des cookies. Voici mon code pr la page connection :
Sur mon site j'ai un espace membre, sur ma page connection j'ai une case à cocher pour savoir si l'utilisateur veut mémoriser ses info de connection, donc pour cela j'utilise des cookies. Voici mon code pr la page connection :
<?
if ($_POST['memorise] == 'oui') //case a cocher
{
$pseudo =$_POST['pseudo'];
$passe =$_POST['passe'];
$temps = 3650*24*3600;
//envoie cookie
setcookie ("pseudo", $pseudo, time() + $temps);
setcookie ("passe", $passe, time() + $temps);
}
?>
Donc les cookies sont bien enregistré, et donc ensuite dans toute mes pages j'ai mis un code qui enregistre lesi nfo dans des sessions si le cookies existe, voici le code :<?
if (!$_SESSION['pseudo'] && !$_SESSION['passe']) //si pas de session on prend les cookies s'il y en a.
{
if (($_COOKIE['pseudo']) && ($_COOKIE['passe']))
{
$req = mysql_query("SELECT * FROM membres WHERE pseudo_membre = '".$_COOKIE['pseudo']."'") or die (mysql_error()); //Selectionne infos du concour.
$total = mysql_num_rows($req);
if($total > 0 )
{
while($val = mysql_fetch_object($req))
{
$passe_membre = $val2->passe_membre;
}
//On compare les 2 chaînes (mot de passe de la base de données et mot de passe dans le cookie), si égal à 0, les chaines sont identiques
if (strcmp($_COOKIE['passe'],$passe_membre)==0)
{
//on met les valeur dans des session
$_SESSION['pseudo'] = $_COOKIE['pseudo'];
$_SESSION['passe'] = $_COOKIE['passe'];
$_SESSION['id_membre'] = $val2->id_membre;
}
}
}
}
?>
Mais je pense que ça ne marche pas trés bien, car lorsque je me connecte et que je coche la case pour mémoriser mes infos, au bout de quelques heures (fin de journée si je me suis connecté du matin) je ne suis plus connecté. J'ai bien activé les cookies sur mon navigateur. A quoi est du ce probléme ? Y a t-il une erreur dans mon code ?