OVH Cloud OVH Cloud

Variable accessible depuis chaque script

9 réponses
Avatar
Zendik
Bonjour ou bonsoir,

Sur un site Web, j'utilise dans la majorité des pages des infos qui se
trouvent dans une base de données. Ces infos ne changent que TRES rarement
et j'aimerais les charger dans une variable tableau uniquement à l'affichage
de la page d'accueil.

Mon problème : comment peut on faire en sorte que cette variable tableau
soit conservée et puisse être accédée depuis n'importe quelle page ?
Existe-t-il une spécification encore plus générale que "global" ?

Merci

Zendik

9 réponses

Avatar
Olivier Miakinen

Sur un site Web, j'utilise dans la majorité des pages des infos qui se
trouvent dans une base de données. Ces infos ne changent que TRES rarement
et j'aimerais les charger dans une variable tableau uniquement à l'affichage
de la page d'accueil.

Mon problème : comment peut on faire en sorte que cette variable tableau
soit conservée et puisse être accédée depuis n'importe quelle page ?


C'est impossible, car tes pages sont indépendantes : du point de vue de
PHP, chaque page ne connaît qu'elle-même.

Si vraiment tu voulais que les données soient stockées chez le client,
tu pourrais les mettre dans des cookies, ou bien utiliser un système
de frames et du JavaScript pour les manipuler. Mais attention : tous
ces moyens seront vraisemblablement *beaucoup* plus coûteux que de
simplement les relire dans ta base de données, sans parler des
contraintes que tu imposes au client (accepter les cookies et/ou
le JavaScript + les frames) et de la complexité accrue du système.

Une alternative, si l'accès à ta base de donnée est vraiment trop
coûteux, serait de créer une mini base de données avec juste les
quelques variables que tu voulais stocker ailleurs.

--
Olivier Miakinen
Non, monsieur le juge, je vous le jure : jamais je n'ai cité
Bruxelles dans ma signature.

Avatar
Sebastian 'CrashandDie' Lauwers
Zendik wrote:

Bonjour ou bonsoir,


Bonsoir,

[...]

Mon problème : comment peut on faire en sorte que cette variable tableau
soit conservée et puisse être accédée depuis n'importe quelle page ?
Existe-t-il une spécification encore plus générale que "global" ?


Les sessions sans nul doute.

Anglais: http://fr.php.net/manual/en/ref.session.php
Français: http://fr.php.net/manual/fr/ref.session.php

Merci


HTH,

Zendik


S.

Avatar
David
Bonsoir,

C'est peut être bête mais...

Pourquoi ne pas faire un simple fichier texte contenant tes fameuses
variables ?

Il te suffirait de faire un include dans tes scripts.

Pour la mise à jour, il te suffirait de faire un script qui regénère le
fichier texte.

David

"Zendik" a écrit dans le message de news:
41deb6c7$0$27141$
Bonjour ou bonsoir,

Sur un site Web, j'utilise dans la majorité des pages des infos qui se
trouvent dans une base de données. Ces infos ne changent que TRES rarement
et j'aimerais les charger dans une variable tableau uniquement à
l'affichage
de la page d'accueil.

Mon problème : comment peut on faire en sorte que cette variable tableau
soit conservée et puisse être accédée depuis n'importe quelle page ?
Existe-t-il une spécification encore plus générale que "global" ?

Merci

Zendik


Avatar
EspaceTrain
Bonsoir,

C'est impossible, car tes pages sont indépendantes : du point de vue
de PHP, chaque page ne connaît qu'elle-même.


Cela devrait être possible en utilisant les pseudos frames.
Les pages incluses héritent bien des variables de la page mère, non ?

--
EspaceTrain
Prochain arrêt : Mars
Merci de ne laisser aucuns bagages dans les voitures

Avatar
Olivier Miakinen

C'est impossible, car tes pages sont indépendantes : du point de vue
de PHP, chaque page ne connaît qu'elle-même.


Cela devrait être possible en utilisant les pseudos frames.


C'est quoi, des pseudo frames ?

Les pages incluses héritent bien des variables de la page mère, non ?


Tu veux dire le contenu des fichiers appelés par include() ou
require() ? Il ne s'agit pas de pages différentes : au final, c'est
une seule et unique page HTML qui est générée.


Avatar
Sebastian 'CrashandDie' Lauwers
David wrote:

Bonsoir,


Bonjour,

C'est peut être bête mais...


Allons, ne vous sous-estimez pas voyons ;).

Pourquoi ne pas faire un simple fichier texte contenant tes fameuses
variables ?


Aie Aie Aie... Le fichier texte... Pas trop sécurisé, pour ainsi dire,
pas sécurisé du tout !

Un fichier PHP pourrait faire l'affaire certes, mais un fichier texte,
serait servi à n'importe quel utilisateur qui tappe l'URI dans sa barre
d'adresse.

Il te suffirait de faire un include dans tes scripts.

Pour la mise à jour, il te suffirait de faire un script qui regénère le
fichier texte.


En effet, c'est un système de cache très très simple, mais qui pourrait
peut être aider.

Amicalement,
S.

Avatar
Ngoc Ho
Sebastian 'CrashandDie' Lauwers de ses dix petits doigts nous a dit :

Aie Aie Aie... Le fichier texte... Pas trop sécurisé, pour ainsi dire,
pas sécurisé du tout !


moins de risque si le répertoire des fichiers à inclure est protégé
comme normalement il doit l'être... et donc les fichiers iccaccesibles
directement

Avatar
David
Mais la remarque est intéressante car l'oubli est vite arrivé ;-)

"Ngoc Ho" a écrit dans le message de news:

Sebastian 'CrashandDie' Lauwers de ses dix petits doigts nous a dit :

Aie Aie Aie... Le fichier texte... Pas trop sécurisé, pour ainsi dire,
pas sécurisé du tout !


moins de risque si le répertoire des fichiers à inclure est protégé
comme normalement il doit l'être... et donc les fichiers iccaccesibles
directement




Avatar
Olivier LEMOINE
Mais la remarque est intéressante car l'oubli est vite arrivé ;-)

"Ngoc Ho" a écrit dans le message de news:


Sebastian 'CrashandDie' Lauwers de ses dix petits doigts nous a dit :


Aie Aie Aie... Le fichier texte... Pas trop sécurisé, pour ainsi dire,
pas sécurisé du tout !


moins de risque si le répertoire des fichiers à inclure est protégé
comme normalement il doit l'être... et donc les fichiers iccaccesibles
directement




Les sessions, les includes, tout ça c'est des écritures dans des
fichiers et donc du temps de réponse pas terrible, encore que ...
une lecture dans le fichier de la session en cours, on est bien obligé
de la faire ...

une autre idée applicable en PHP5 ... c'est SQLI dont un des modes
fonctionne en mémoire ... Non ?