Aller au contenu

Mémoire d'une variable au rafraîchissement


sandrinoo

Sujets conseillés

Bonjour à tous, et me revoilà avec mes demandes improbables !



Voilà mon problème semble tout simple mais je pense que ma demande est impossible à réaliser :



Sur une page php qui génère des pages dynamiques j'ai :



if (condition réalisée) {$var="1"; } else {$var="0"; }

Puis rafraîchissement de la page (sur le même ordinateur ou sur un autre ordinateur avec une ip différente),



Mon but : j'aurais voulu que la variable $var soit sauvegardée sans utiliser la BD mysql, sans sessions évidemment , sans fichier txt. Bref que tout se passe sur la même page php.



Peut-être avec une fonction récursive mais je ne m'y connais pas assez...



C'est possible ou pas ? Si quelqu'un a une idée ?


Lien vers le commentaire
Partager sur d’autres sites

Merci pour vos réponses :



@hotgeart : cookie, local.storage => Pas possible car à partir du moment où c'est un autre navigateur on perd la donnée



Puis rafraîchissement de la page (sur le même ordinateur ou sur un autre ordinateur avec une ip différente)




@blackpage : sessions même chose non ? Ou alors c'est possible de le faire pour tous les utilisateurs ?



@Dan : j'ai essayé des choses de ce genre mais je suis pas assez douée :



test();
echo "<p>$var</p>";
if (empty($var)) {function test() {$GLOBALS['var'] = "1";}}

J'ai l'impression que c'est pas possible non ?

Lien vers le commentaire
Partager sur d’autres sites

Mon but : j'aurais voulu que la variable $var soit sauvegardée sans utiliser la BD mysql, sans sessions évidemment , sans fichier txt. Bref que tout se passe sur la même page php.

Sauvegarder sans BDD ni fichier (ni memcache ni ...) ? no way.

Les sémaphores (c'est le nom de ce type de variable si j'ai bien compris ta question) sont généralement stockés en BDD.

Tu peux passer à la question suivante wink.gif

Lien vers le commentaire
Partager sur d’autres sites

Salut SStephane, en fait, je cherchais à trouver un moyen pour dire :

- si telle page dynamique a été chargée par le premier internaute (de n'importe quel IP), plus besoin d'effectuer le script
- ou dit autrement : charger une seule fois le script pour une page donnée

C'est pour cela que j'avais pensé à une solution style page chargée=1 et pas encore chargée=0

Je voulais un truc très simple pour garder en mémoire ce 0 ou 1 suivant chaque page créee dynamiquement...

Lien vers le commentaire
Partager sur d’autres sites

En base de données, c'est très bien alors, tu stockes la date à laquelle le script a été exécuté (ou NULL) plutôt qu'un boolean, ainsi tu pourras faire ce que tu souhaites.


Lien vers le commentaire
Partager sur d’autres sites

j'aurais voulu que la variable $var soit sauvegardée sans utiliser la BD mysql

la base de données n'est pas une solution Stephane

En base de données, c'est très bien alors, tu stockes la date à laquelle le script a été exécuté (ou NULL) plutôt qu'un boolean, ainsi tu pourras faire ce que tu souhaites.

Lien vers le commentaire
Partager sur d’autres sites

Encore juste une question, j'ai un doute :



Est-il possible d'utiliser les sessions pour conserver, lors d'un rafraîchissement, la même variable sur le même ordinateur ou sur d'autres ordinateurs avec une ip différentes ?



En plus clair : que tous les utilisateurs de différentes ip aient la même chose (variable conservée identique) ?


Lien vers le commentaire
Partager sur d’autres sites

Non, clairement pas avec les sessions, qui sont liées à un ordinateur (Enregistrement de l'identifiant de session dans un cookie).



Pour obtenir ce que tu souhaites, il faut enregistrer la donnée sur le serveur (Dans un fichier ou la base de données)


Lien vers le commentaire
Partager sur d’autres sites

Est-il possible d'utiliser les sessions pour conserver, lors d'un rafraîchissement, la même variable sur le même ordinateur ou sur d'autres ordinateurs avec une ip différentes ?

une session est liée à une machine et un seul navigateur

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...