Les variables en PHP

Pour déclarer une variable en PHP, il faut préciser le signe $ (dollar) avant chaque nom de variable. Le nom ne doit pas contenir d'espace ni de caractères spéciaux (-, !, %, etc.) sauf le _ (trait de soulignement, underscore). De plus, après le $, le nom de la variable peut commencer par une lettre ou un underscore mais pas par un chiffre.

 Types 

Les variables sont faiblement typées en PHP. Vous pouvez commencer à utiliser une variable en tant que chaîne de caractères et ensuite l'utiliser comme entier ou booléen.

N'utilisez cette "facilité" qu'en cas d'extrême nécessité, vous imaginez la confusion que cela peut introduire dans la compréhension du code à posteriori.

PHP se "coupe en quatre" pour vous facilité la tâche. Si la variable $fruits contient la chaîne de caractères "3 kilos" et la variable $prix contient la chaîne de caractères "2 euros"

Si vous effectuez l'instruction $fruits * $prix; vous obtiendrez le résultat 6. N'est-ce pas magnifique ?

 Étendue 

On pourrait considérer une page PHP comme un programme.

Les variables déclarées dans une page sont globales à cette page, c'est-à-dire réutilisables avec leurs contenus à n'importe quel endroit de la page (attention si vous utilisez des fonctions dans votre page, voir les détails à ce sujet).

À l'entrée, cette page reçoit tous les champs des formulaires considérés comme des variables superglobales.

À la sortie de cette page, toutes ces variables et leurs contenus disparaissent.

Dans le chapitre précédent, nous avons envisagé le cas où une page HTML contenant un formulaire envoyait son contenu à une page PHP qui le traitait. Il peut être intéressant d'avoir, entre ces deux pages, une page de vérification/confirmation présentée à l'utilisateur afin qu'il puisse corriger ses erreurs éventuelles. Vous aurez donc un problème si vous travaillez sur trois pages :

  1. Une page de commande avec le remplissage du formulaire;
  2. Une page de confirmation pour que l'utilisateur vérifie sa commande;
  3. Une page de traitement de la commande qui enverra par exemple un courriel ou e-mail,...

Les variables et leurs contenus vont donc devoir être transmis deux fois de suite:

  • De la page de commande à la page de confirmation, cela ne pose guère de problèmes;
  • Le problème va se présenter entre la page de confirmation et la page de traitement.

On remédie à ce problème en réalisant des champs cachés (hidden) qui vont permettre ce second "saut" des variables de la page de confirmation à celle de traitement.

Dans votre page confirmation, le renvoi des champs cachés peut se faire de la façon suivante:

<form method="post" action="traitement.php">
<input type="hidden" name="prenom" value="<? echo $prenom; ?>">
<input type="hidden" name="nom" value="<? echo $nom; ?>">
...
</form>

Nous aurons l'occasion de détailler tout ceci dans l'exercice final de ce module PHP.

Bon travail.

Retour