Ce script n'a d'autre utilité que de garder un certain contrôle sur les variables que l'on veut récupérer lorsque le register_globals est à Off dans le php.ini (ce qui devrait être le cas de plus en plus).
Il nous évite d'insérer un bloc de ce genre :
if (isset($_GET['maVariable']) {
$maVariable = $_GET['maVariable'];
} else {
$maVariable = '';
}
pour chaque variable que l'on veut récupérer...
Source / Exemple :
<?php
/**
- Récupération des variables.
-
- - On définit $tab_variables, le tableau contenant le nom des variables que l'on veut récupérer.
- - Ensuite on parcoure ce tableau et pour chaque valeur,
- on teste si elle est définie dans $_POST, $_GET ou autre (à modifier soi-même)
- - Si elle est définie, on crée une variable portant le nom du paramètre envoyé grâce
- aux variables dynamiques ($$).
- - Sinon, on fait autre chose, soit assigner une valeur par défaut, soit renvoyer sur une
- page avec un message d'erreur par exemple.
- /
$tab_variables = array('login', 'pass1', 'pass2', 'politesse', 'nom', 'prenom', 'email');
foreach ($tab_variables as $nom_variables) {
if (isset($_POST[$nom_variables])) {
$$nom_variables = $_POST[$nom_variables];
} else {
$$nom_variables = '';
}
}
?>
Conclusion :
Dans ce cas de figure, on ne peut récupérer qu'un type de variables à la fois (GET, POST, etc..) Mais à mon avis, cela autorise un meilleur contrôle de ce qui se passe. Si vous voulez récupérer indépendament les variables venant de POST, GET et SESSION, utilisez la superglobale REQUEST...
26 janv. 2005 à 14:56
Mais il arrive que l'on veuille explicitement savoir si une variable vient de POST ou de GET :)
23 déc. 2004 à 19:49
23 déc. 2004 à 14:43
Sinon, pour améliorer un petit peu, je te propose de créer un tableau de plus qui fait correspondre à chaque variable de $tab_variables une valeur par défaut (pour le cas ou isset() retournerait false). Ainsi, un peut associer une page par défaut pour la variable $_GET['page'] par exemple (accueil ou autre).
C'est tout ^^
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.