[PHP] setcookie et $_cookie

Fermé
K-féine - 25 avril 2005 à 17:27
camusdreck Messages postés 4 Date d'inscription vendredi 17 octobre 2008 Statut Membre Dernière intervention 6 avril 2009 - 6 avril 2009 à 10:29
Bonjour,

voici mon code :

<?php
setCookie("prov","provenance",time(),"/");
?>
<html><head></head><body>
<?php
echo "cookie: ".$_COOKIE["prov"];
?>
</body></html>

Le probleme est que $_COOKIE["prov"] devrait afficher "provenance" et n'affiche rien, il n'est pas attribué et je ne comprend pas pourquoi. Je ne vois pas où est l'erreur dans setCookie. Pouvez vous m'aider?
A voir également:

6 réponses

kij_82 Messages postés 4089 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857
25 avril 2005 à 17:30
may be or not to be !
Tu es sure que tu n'a pas bloqué les cooky, car si c'est le cas, il ne sera pas définie, et donc... tu tombe sur ton erreur.
0
Non les cookies ne sont pas bloquées, j'ai bien vérifié. J'ai même baissé la sécurité au maximum pour tester.
0
kij_82 Messages postés 4089 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857
25 avril 2005 à 17:48
essaye ca pour afficher le cookie :
<?php 
setCookie("prov","provenance",time()+30); 

if( isset( $cookie ) ) {
   while( list( $name, $value) = each( $cookie) ) {
      echo $name." == ".$value."<BR>";
   }
}
else
  echo "cookie non défini<BR>";

?>

En fait je crois que c t juste parce que tu met time(), mais tu ne rajoute pas de durée, donc il meure diresctement ! lol !
0
Effectivement l'erreur venait du time(), en fait ce que je voudrais c'est que le cookie expire à la fin de la session.

Enfin merci pour ton aide. :p
0
peter1789 > K-féine
10 mai 2008 à 15:12
Si vous ne spécifiez pas ce paramètre ou s'il vaut 0, le cookie expirera à la fin de la session (lorsque le navigateur sera fermé).
source : http://fr3.php.net/manual/fr/function.setcookie.php
0
kij_82 Messages postés 4089 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857
25 avril 2005 à 18:31
Ben en fait tu peut définir le cookie pour qu'il soit illimité en temps, par contre apres tu dois dédruire le cookie à la fin de la session
0
ccmvicos Messages postés 10 Date d'inscription dimanche 6 avril 2008 Statut Membre Dernière intervention 9 janvier 2009
7 oct. 2008 à 11:28
Bonjour, je n'ai pas de solution pour vous désolé mais je cherche moi meme une solution sur les cookie car j'ai ecrit sur des forum mais aucune reponse
Merci d'avance.

voici mon probleme: j'ai creé un site avec loggin et mot de passe. losque l'on rentre les bons identifiants j'ai acces a des pages "confidentielles". le probleme est si l'internaute tape dans la barre d'adresse
www.site.fr/pageconfidentielle il accede à la page juste apres l'authentification et peut naviguer à volonté, ça ne demande jamais de se reauthentifier!!.
Comment puis je resoudre ce probleme afin que les pages expirent au bout de 2 heure par ex et que ça renvoie sur la page de login et mot de passe?

setcookie ou session je ne sais pas du tout.

Votre aide me sera d'un grand secours
merci
0
Utiliser un .htaccess voila une solution simple et efficace
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
camusdreck Messages postés 4 Date d'inscription vendredi 17 octobre 2008 Statut Membre Dernière intervention 6 avril 2009
5 avril 2009 à 18:42
ccmvicos, tu utilise des session ou des cookie?

Dans tous les cas, utilise des variables globals qui te serviront a verifier si la personne est connecté ou pas.


Exemple d'utilisation :

- je verifie si $secur est définit.

2 cas :

Si définit j'affiche la page sinon je n'affiche pas la page.

il faudrait que pour chaque page ce test soit effectué.


Pas trés facile à mettre en place.
0
camusdreck Messages postés 4 Date d'inscription vendredi 17 octobre 2008 Statut Membre Dernière intervention 6 avril 2009
6 avril 2009 à 10:29
tu peux utiliser sa pour expirer ta session aprés 2 h

set_time_limit(7200);

mais sa ne fonctionne pas si php est en mode safe
0