[PHP] - cookies actifs qu'après actualiser [Résolu/Fermé]

Signaler
Messages postés
37
Date d'inscription
mercredi 10 février 2010
Statut
Membre
Dernière intervention
26 février 2013
-
Messages postés
37
Date d'inscription
mercredi 10 février 2010
Statut
Membre
Dernière intervention
26 février 2013
-
Bonjour à tous.

Je suis entrain de développer quelques scripts en php et je fais appel aux cookies.

J'ai un formulaire dans un fichier php form.php.
Le "action" de ce formulaire me renvoie sur ce form.php mais dans une autre partie, dans laquelle j'enregistre dans des cookies les données de mon formulaire.

En gros :


session_start();
$action=$_GET['action']

if ($action="formulaire")
{
<html>

<head>
       bla bla bla
</head>

<body>
        affiche mon formulaire
</body>

</html>
}

else
{
setcookie('cookie_action[type]', $_POST['type'], (time() + 7200));

<html>

<head>
       bla bla bla
</head>

<body>
       <?php
             echo("Le type est : ".$_COOKIE['cookie_action']['type']);
        ?>
</body>

</html>
}


Bon, vous vous en doutez, c'est plus compliqué que ça, mais l'idée est là.
Je vérifie bien d'enregistrer mes cookies avant l'écriture de quoi que ce soit sur ma page html.

Le problème, c'est que le contenu de mon cookie ne s'affiche que si j'actualise la page. Il n'affiche rien lorsque j'arrive sur la page pour la première fois après avoir validé mon formulaire.

Comment ce fait-ce ? Est-il possible de régler ce problème ?

Merci à tous :-)

2 réponses

Bonjour

La variable $_COOKIE contient les cookies que ton visiteur t'a envoyés.
Dans le script que tu montres, si le client n'a pas encore reçu de cookie (la première fois) il ne t'envoie rien, donc $_COOKIE est vide.
Tu lui envoies un cookie lors de cette première fois, mais il ne te renverra que la fois suivante, lors de l'actualisation.
Ce que tu vois est donc tout à fait normal.

Si tu tiens à afficher la valeur du cookie que tu envoies, tu n'as qu'à faire
echo("Le type est : ".$_POST['type']);
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 76687 internautes nous ont dit merci ce mois-ci

Messages postés
37
Date d'inscription
mercredi 10 février 2010
Statut
Membre
Dernière intervention
26 février 2013
8
Ouais,
ça m'a travaillé cette nuit et je me suis dit que c'était certainement ça. Je te remercie, j'utiliserai les $_POST autant que possible.

Merci le père !