sandrinoo Posté 26 Septembre 2014 Posté 26 Septembre 2014 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 ?
BlackPage Posté 26 Septembre 2014 Posté 26 Septembre 2014 Salut, Une raison de ne pas utiliser les sessions ? Parce que sans session ca va être compliqué huhu...
sandrinoo Posté 27 Septembre 2014 Auteur Posté 27 Septembre 2014 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 ?
captain_torche Posté 27 Septembre 2014 Posté 27 Septembre 2014 Si tu ne veux pas impacter le serveur (BDD, fichier) ni le poste utilisateur (cookie, localStorage), je ne vois effectivement aucune méthode possible.
SStephane Posté 27 Septembre 2014 Posté 27 Septembre 2014 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
sandrinoo Posté 27 Septembre 2014 Auteur Posté 27 Septembre 2014 ok désolée pour ma question... Merci à vous tous.
SStephane Posté 28 Septembre 2014 Posté 28 Septembre 2014 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 ?
sandrinoo Posté 29 Septembre 2014 Auteur Posté 29 Septembre 2014 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éeC'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...
Dan Posté 29 Septembre 2014 Posté 29 Septembre 2014 Dans ce cas, un système de cache php peut vraisemblablement t'aider...
khalid-ref Posté 29 Septembre 2014 Posté 29 Septembre 2014 je vois pas une solution sans BDD, session, fichier txt,... s'il y a une méthode je serai preneur aussi
SStephane Posté 1 Octobre 2014 Posté 1 Octobre 2014 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.
khalid-ref Posté 1 Octobre 2014 Posté 1 Octobre 2014 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.
Portekoi Posté 3 Octobre 2014 Posté 3 Octobre 2014 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.
khalid-ref Posté 4 Octobre 2014 Posté 4 Octobre 2014 oui aussi je vois pas de solution sans fichier ni BDD ni session
sandrinoo Posté 8 Octobre 2014 Auteur Posté 8 Octobre 2014 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) ?
captain_torche Posté 8 Octobre 2014 Posté 8 Octobre 2014 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)
khalid-ref Posté 8 Octobre 2014 Posté 8 Octobre 2014 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
sandrinoo Posté 8 Octobre 2014 Auteur Posté 8 Octobre 2014 Merci à tous les deux, j'ai posé la question à tout hasard, on ne sait jamais si on sait tout...
Message populaire. Portekoi Posté 9 Octobre 2014 Message populaire. Posté 9 Octobre 2014 Bonjour, Php ne possède pas de "variables d'application". Ces dernières sont présentes dans l'environnement de Microsoft en ASP 3.0 et Dotnet. Pour ton cas, tu as 3 solutions : Créer un fichier texte que tu consulteras pour savoir si tu dois rafraîchir Insérer un enregistrement dans une base de données Utiliser MemCache qui est une extension de Php En deux lignes de code avec un fichier texte, c'est très rapide à faire. Portekoi 1
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant