cs_satellite34
Messages postés688Date d'inscriptionmercredi 6 avril 2005StatutMembreDernière intervention 2 juin 2006
-
14 mai 2006 à 16:02
cs_satellite34
Messages postés688Date d'inscriptionmercredi 6 avril 2005StatutMembreDernière intervention 2 juin 2006
-
14 mai 2006 à 18:47
bonjour,
voila, j'ai un soucis, je doit creer et utiliser un cookie de session sur mon site, j'ai regardé des sources sur phpCS mais impossible d'en faire marcher une seule, vraiment j'y comprends rien a ces cookies, est-ce que qqun pourrait m'expliquer un peu la théorie sur les cookies et peut etre m'aiguiller vers un bon tuto ou un bon code?
pour le moment ce que j'ai réussi a faire, et qui marche pas, lol c'est :
dans mon fichir login, a la connection du client :
mais bon, je me demande comment ca pêut garder la session un tel code !Et oui, ce que je veux c'estr juste que la session ne s'arrete pas a la fermeture du navigateur.
audayls
Messages postés373Date d'inscriptionsamedi 9 juillet 2005StatutMembreDernière intervention11 août 2008 14 mai 2006 à 17:26
Essayes ce script cela te permettras d'apprendre à utiliser les cookies
"<?php
if (empty($_COOKIE['cookie_wx']) AND empty($_POST['pseudo'])) echo '<form method=\'post\' name=\'formulaire\' action=\'',$_SERVER['PHP_SELF'],'\'>Ecrire ici la variable à passer dans le Cookie :
';
elseif (!empty($_POST['pseudo']) AND empty($_COOKIE['cookie_wx'])) {
setcookie('cookie_wx',$_POST['pseudo'], time()+365*24*3600);
header('Location: '.$_SERVER['PHP_SELF']);
}
elseif (!empty($_COOKIE['cookie_wx'])) echo 'Le cookie contient : ',$_COOKIE['cookie_wx'];
?>"
cs_satellite34
Messages postés688Date d'inscriptionmercredi 6 avril 2005StatutMembreDernière intervention 2 juin 20061 14 mai 2006 à 17:42
salut,
erf, je comprends pas gd chose a ton script, pas une explication, j'en fait quoi, je le met ou , c'est quoi ce $_POST['pseudo'], en gros, j'ai rien capté, j' ai deja un formulaire de login, biensur, ce que je veux c'est que l'user ne perde pas la session en sortie de navigateur, donc il faut peut etre le passe non??
Enfin, j'y comprends pas plus, lol./ désolé d'etre quiche a ce point.
précision : php c'est pas ma tasse de thé, moi je viens de c++, donc si tu pouvais joindre une explication , ce serait simpa, sinon, ben je vais quand meme voir ce que je peu faire avec ca meme si a premiere vue c'est du chinois.
Merci;
audayls
Messages postés373Date d'inscriptionsamedi 9 juillet 2005StatutMembreDernière intervention11 août 2008 14 mai 2006 à 17:53
Salut,
Ce code est un exemple qui te montre comment utiliser les cookies en php.
Pour ton problème, je pense que c'est du à :
-> "$HTTP_POST_VARS['pseudo']" à remplacer par "$_POST['pseudo']" et pareil pour "$HTTP_COOKIE_VARS" à remplacer par "$_COOKIE"
("$HTTP_POST_VARS" s'utilisait en PHP3)
-> "setcookie("cookie_wx","$pseudo", time()+365*24*3600);" que tu peux remplacer par "setcookie('cookie_wx',$_POST['pseudo'], time()+365*24*3600);"
(Pourquoi creer une variable supplémentaire si tu peux directement utiliser l'originale ? A moins que tu fais des modifications sur cette variable (comme un découpage etc...))
cs_satellite34
Messages postés688Date d'inscriptionmercredi 6 avril 2005StatutMembreDernière intervention 2 juin 20061 14 mai 2006 à 17:59
oui,
donc j'ai testé, j'ai bien un cookie qui s'ecrit mais le truk, c'est que le fichier se nomme comme le repertoire du script, bizzare, et quand je fais :
cs_satellite34
Messages postés688Date d'inscriptionmercredi 6 avril 2005StatutMembreDernière intervention 2 juin 20061 14 mai 2006 à 18:17
ben je suis sou ie et firefox donc bon, la n'est pas le pb, par contre je viens de lire que setcookie doit etre placé avant les balises html, cependant mon script de login ne contient pas de balises html et est inclu a mon index qui lui en contient mais cet include est bien sur dans le body !
audayls
Messages postés373Date d'inscriptionsamedi 9 juillet 2005StatutMembreDernière intervention11 août 2008 14 mai 2006 à 18:32
"setcookie" doit être placé avant un renvoie de texte (par un "echo" ou un "print") Si ton fichier index utilise "setcookie" tu peux faire d'une pierre deux coup en utilisant la bufferisation de sortie : mets "ob_start('ob_gzhandler');" juste après "<?php" au début et "ob_end_flush();" à la fin juste avant "?>"
cs_satellite34
Messages postés688Date d'inscriptionmercredi 6 avril 2005StatutMembreDernière intervention 2 juin 20061 14 mai 2006 à 18:47
oué oué ca c'est déja fait car j'utilise moulte header, je vais regarder ca de plus prés, je dois pas etre loin de la vérité maintenant, merci pour ton aide.