Aller au contenu

Mémoire d'une variable au rafraîchissement


Sujets conseillés

Posté

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 ?


Posté

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 ?

Posté
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

Posté

Tu n'as pas à l'etre, on est là pour poser des questions et y répondre quand on le peut !


Mais à quoi te servent ces variables ?


Posté

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...

Posté

Dans ce cas, un système de cache php peut vraisemblablement t'aider...


Posté

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.


Posté
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.

Posté

Pourquoi la base n'est pas une solution?



Sinon, créer une fichier avec la date du jour pour le nom. Je ne vois pas d'autre solution hormis celles évoquées.


Posté

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) ?


Posté

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)


Posté
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

Veuillez vous connecter pour commenter

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



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