Les paramètres d'appel PHP
Un article de WikiTuto.
Sommaire |
Explication
Comment récupérer les paramètres d'appel ? Dans cet exemple nous recevons les paramètres sous la forme d'une URL longue (nous verrons dans le paragraphe consacré aux formulaires comment récupérer les valeurs saisies par un utilisateur dans un formulaire).
Cette question est intéressante car ce besoin est très courant. Les différents paramètres que nous allons passer seront optionnels. En l'absence d'un des paramètres, une valeur par défaut sera utilisée. Nous pourrons donc utiliser notre script de la façon suivante :
<IMG SRC="GenButton.php3?msg=PHP3+est+install%E9+correctement& colorname=yellow&witdh=220&height=34">
ou encore :
<IMG SRC="GenButton.php3?msg=21170+Hits&colorname=Navy">
ou simplement :
<IMG SRC="GenButton.php3?msg=Hello+World">
Le code permettant de retrouver les différents paramètres a été adapté d'un exemple également écrit par Claus Radloff (Counter.php). Allez, on plonge ! (les numéros de ligne ne sont là que pour faciliter les explications)
1 $query_string = getenv("QUERY_STRING");
2
3 $env_array = split("&", $query_string);
4
5 while (list($key, $val) = each($env_array))
6 {
7 list($name, $value) = split("=", $val);
8
9 $name = urldecode($name);
10 $value = urldecode($value);
11
12 $$name = trim($value) ;
13 }
Tout d'abord, en ligne 1, nous stockons dans la variable $query_string le contenu de la partie Query de l'URL longue. Cette variable d'environnement fait partie des spécifications liées aux CGI. Dans un CGI, les paramètres sont passés sous la forme d'une URL longue. Ils sont passés sous la forme d'un couple nom_de_variable=valeur. Les couples variable/valeur sont séparés par un &. Pour résoudre les problèmes de codage de jeux de caractères entre le client (Win16, Win32, Mac, Linux,Unix, Amiga, TI-57^H^H^H^H) et le serveur (Win32 ou Unix/Linux en ce qui nous concerne) dans les valeurs de type chaîne de caractères, les espaces sont remplacés par des +, et tous les caractères accentués sont remplacés par identifiants normalisés. Par exemple, un é sera passé sous la forme %E9. Le codage et le décodage de ces chaînes est assuré par les fonctions PHP3 urlencode() et urldecode().
La ligne 3 découpe la QUERY_STRING en tokens séparés par le caractère &. La ligne 5 est une boucle pour chaque paramètre de type "variable=valeur". La ligne 7 assigne à $name le nom de la variable et à $value sa valeur. Les lignes 9 et 10 réalisent les substitutions de caractères spéciaux de façon à ce que %E9 devienne é.
La ligne 12 affecte à la variable dont le nom est $name la valeur $valeur. C'est une petite ruse bien pratique en PHP3 : les "variables variables" ( voir la doc. officielle de PHP3, Chap. 5 : variable-variable.html). Dans notre exemple, cela va avoir pour effet de créer une variable $msg contenant "PHP3 est installé correctement".
Maintenant intéressons nous au code pour décomposer une couleur
Voir aussi
- L'ensemble des articles concernant le PHP
- Ecrire des classes
- Utiliser des fonctions optionnelles
- Les paramètres d'appel
- Décomposer une couleur en composantes RGB
- Générer et retourner une image GIF
- Utilisation de Formulaires



