Page 1 sur 1

gestion de variables dans une appli

Posté : 04 févr. 2007, 22:29
par Invité
Bonjour,
j'ai créé une petite application qui semble bien fonctionner. J'ai utilisé énormément de $_POST et $_GET pour récupérer des données qui circulent entre les nombreux fichiers. Ces données viennent d'une bdd.

Le problème: a chaque fois que je veux modifier ou ajouter des variables à traiter dans l'appli , je dois me retaper toutes les pages du fichier pour rajouter ceci:

if (isset($_POST['MaNouvelleVar'])) {
$MaNouvelleVar = $_POST['MaNouvelleVar'];
}

Pouvez vous me conseiller une meilleur façon de gérer la ciculation des variables dans une appli?

Posté : 04 févr. 2007, 23:48
par Ryle
Tu peux faire comme ceci :
foreach($_POST as $key => $val){
	$$key = $val;
}
Pour chaque couple clé/valeur de $_POST, cela va automatiquement affecter la valeur à une variable portant le nom de la clé. Du coup pas besoin de venir modifier/compléter quand tu ajoutes ou changes le nom d'une variable :)

Posté : 04 févr. 2007, 23:51
par Aureusms
Bonsoir,

Peut être que $_SESSION (les variables de sessions initié via session_start() ) peuvent t'aider. Ces variables sont valables dès que l'utilisateur entre les pages dans une session et jusqu'à qu'il en sorte (ferme le browser internet ou se délogue).

Exemple, si tu mets $_SESSION["nom"] = 'DUPONT'; en page 1 tu pourras retrouver (quasiment) cette variable dans n'importe qu'elle page ou session_start() sera inscrit.

De plus les variables de sessions sont stockés côté serveur et donc invisibles pour le client (l'utilisateur). Alors que les variables $_POST ou $_GET peuvent facilement lues. Peut - être est ce un aspect à ne pas négliger...

Enfin, dans ton exemple en page 1:
session_start();
$_SESSION["MaNouvelleVar"] = 'coucou';
Dans les autres pages :
session_start(); //obligatoire pour chaque page
$mavariable = $_SESSION["MaNouvelleVar"];
Dernier conseil, si tu créé des sessions, utilise session_regenerate_id(); pour éviter les fixations de sessions.