Gamesvideo Posté 1 Octobre 2005 Posté 1 Octobre 2005 Bonjour, Je souhaiterais savoir comment faire pour créer un cookie avec le pseudo de la personne lors de l'ouverture d'une session pour qu'elle n'est plus besoin de se connecter à chaque fois Merci d'avance parce que la j'ai vraiment du mal
Boo2M0rs0 Posté 1 Octobre 2005 Posté 1 Octobre 2005 Bonjour, Créer le cookie lui même n'est pas très compliqué, voici la page complète qui explique comment on s'en sert. Le problème après, c'est qu'un cookie enregistré sur l'ordinateur des visiteurs n'est pas une information sure. Par exemple si tu envoie directement le cookie du pseudo de la personne, il pourra très bien le modifier et se faire passer pour quelqu'un d'autre. Ce que je te conseille c'est d'envoyer 2 cookies: -un identifiant, le plus courant c'est de se servir de l'id du membre -un code impossible à décrypter et étant unique pour ce membre Ainsi, même si l'utilisateur essayera de trafiquer l'identifiant (qui peut facilement être trouvé en visitant quelques pages de ton site), il ne pourra pas inventer le code unique.
Gamesvideo Posté 4 Octobre 2005 Auteur Posté 4 Octobre 2005 Pourquoi alors lorsque je met ce code, le cookie ne marche pas, je le vérifie avec print_r($_COOKIE) mais je trouve pas mes cookies <?phpsession_start(); $pseudo=$_SESSION['pseudo']; $pass=$_SESSION['pass']; $passes=md5($pass); setcookie("login", "$pseudo", time()+86400*30); setcookie("pass", "$passes", time()+86400*30); Merci d'avance de votre réponse
NorSeb Posté 5 Octobre 2005 Posté 5 Octobre 2005 Salut, Il ne faut enregistrer le cookie qu'une seule fois, quand tu détecte qu'il n'existe pas (et que tu as les infos à enregistrer). En gros ca donne : // Si les cookies n'existent pas ou sont videsif ($_COOKIE['pseudo'] == "" && $_COOKIE['pass'] ) { // Init des cookies setcookie("pseudo", $pseudo, time()+86400*30); $pass=md5($pass); setcookie("pass", $pass, time()+86400*30);}// SINON tu teste si le mot de passe et le pseudo sont valides
Gamesvideo Posté 5 Octobre 2005 Auteur Posté 5 Octobre 2005 Voila j'ai changé le bout de code mais les cookies ne fonctionnent toujours pas : session_start();$pseudo=$_SESSION['pseudo']; $pass=$_SESSION['pass']; $pass=md5($pass); if ($_COOKIE['pseudo']=="" && $_COOKIE['pass']=="") { setcookie("login", "$pseudo", time()+86400*30); setcookie("pass", "$pass", time()+86400*30); } Que faire ?
Boo2M0rs0 Posté 5 Octobre 2005 Posté 5 Octobre 2005 2 choses: session_start(); est inutile voire même dérengeant dans ce cas, il peut peut être influer sur les cookies. De plus, il faut que tu n'ais envoyé aucune donnée autre que des header au moment de l'envoi du cookie. if ($_COOKIE['pseudo']=="" && $_COOKIE['pass']=="") écrit plutot: if (isset($_COOKIE['pseudo'],$_COOKIE['pass'])) Je ne sais pas trop comment php se comporte donc il est possible que ton code marche aussi
Gamesvideo Posté 5 Octobre 2005 Auteur Posté 5 Octobre 2005 Meme en suivant les conseils de Boo2M0rs0 ca ne marche toujours pas, aucune erreur apparaît mais le cookie ne fonctionne pas, je ne sais vraiment pas quoi faire.
NorSeb Posté 6 Octobre 2005 Posté 6 Octobre 2005 Salut, Essaye en utilisant : $HTTP_COOKIE_VARS["pseudo"]; plutot que $_COOKIE['pseudo']
ams51 Posté 6 Octobre 2005 Posté 6 Octobre 2005 Bonjour, Essaye en utilisant : $HTTP_COOKIE_VARS["pseudo"]; plutot que $_COOKIE['pseudo'] <{POST_SNAPBACK}> En quoi cette solution est meilleure ?
NorSeb Posté 6 Octobre 2005 Posté 6 Octobre 2005 (modifié) Ca n'est pas une solution meilleure qu'une autre. En fait, la méthode d'accès aux cookies dépend de la configuration de php, du paramètre register_globals je crois. Selon la valeur de ce paramètre tu peux accéder aux cookies (+ les vraiables POST, GET, SESSION, etc) selon l'une ou l'autre des méthodes... Modifié 6 Octobre 2005 par NorSeb
Portekoi Posté 6 Octobre 2005 Posté 6 Octobre 2005 il est tout de même plus courant d'avoir "$_COOKIE" et plus confortable si l'on utilise $_POST, $_GET etc...
ams51 Posté 6 Octobre 2005 Posté 6 Octobre 2005 ok merci. J'utilise $_COOKIE et j'avoue me perdre un peu parfois avec toutes ces variables globales, leurs avantages et inconvenients.
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant