Version complète: sur le forum Webmaster Hub : une variable trop tenace
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > PHP
francoisch
Bonjour

Je termine un module Php en passant une variable au module appelé :
CODE
... websaisie.php?resultat=".$resultatSql)

Dans ce deuxième module, je récupère d’abord cette variable par :
CODE
$resultat = $_GET[resultat];

et je conditionne l'affichage d’un message par l'existence de cette variable $resultat avec if(isset($resultat)) ... pour ne rien afficher dans le cas où le premier module ne se serait pas encore exécuté.

Une fois affiché le message, je supprime la variable: unset($resultat); pour qu’il ne s’affiche plus.

Quand ensuite, je fais Refresh de cette page, la variable $resultat réapparaît avec sa valeur initiale et le message est donc de nouveau affiché alors qu'il ne devrait pas l'être.

Comment pourrais je faire disparaitre cette variable une fois le message affiché?

Par avance merci de votre aide.

Francois
Ifmy
vous passez la variable en get donc en rafraîchissant la page vous la passez de nouveau ? juste ?
Anonymus
le unset supprime la variable, pas la valeur d'origine.
En gros, ca supprime: $resultat
et non : $_GET[resultat];
Donc au passage suivant, tu réinstancies $resultat:
$resultat = $_GET[resultat];

Il faut faire non pas 'unset', mais changer de page. Une redirection, mais sans le $_GET['resultat'].
Soit en php (s'il n'y a pas encore de code html passé), soit en javascript (si ca n'est pas critique... certains ne l'interprètent pas smile.gif )
francoisch
bonjour et merci de vos réponses.

Vous confirmez ce que je souponnais, le $_GET est toujours là.

Je vais devoir m'organiser autrement.

Merci encore.

Francois
francoisch
A la réflexion, ma demande initiale subsiste: comment afficher une seule fois le message?

En effet:
- pour avoir l'information à afficher, il faut la passer entre les deux modules
- pour la récupérer dans le deuxième module, il faut utiliser $_GET
donc on revient toujours au même point, à ma question d'origine ("Comment afficher ...").

Autre voie: y a t il un moyen de purger le stack(?) où se trouve la valeur récupérée par $_GET?

Par avance merci de votre aide.

Francois
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.