L'un des points forts de PHP est sa capacité Ã gérer les formulaires.
Le concept de base qui est important à comprendre est que tous les
champs d'un formulaire seront automatiquement disponibles dans le
script PHP d'action. Lisez le chapitre du manuel concernant les
variables d'origine externe à PHP
pour plus d'informations et d'exemples sur comment utiliser les
formulaires. Voici un exemple de formulaire HTML :
Exemple 2-6. Un simple formulaire HTML <form action="action.php" method="post">
<p>Votre nom : <input type="text" name="nom" /></p>
<p>Votre âge : <input type="text" name="age" /></p>
<p><input type="submit" value="OK"></p>
</form> |
|
Il n'y rien de particulier dans ce formulaire. Il est en HTML
pur, sans aucune configuration particulière. Lorsque le visiteur
remplit le formulaire, et clique sur le bouton OK, le
fichier action.php est appelé. Dans ce
fichier, vous pouvez écrire le script suivant :
Exemple 2-7. Afficher des données issues d'un formulaire
Bonjour, <?php echo htmlspecialchars($_POST['nom']); ?>. Tu as <?php echo (int)$_POST['age']; ?> ans.
|
Voici le résultat que vous pourriez obtenir, selon
les valeurs que vous avez saisies :
Bonjour Jean.
Tu as 29 ans. |
|
Mise à part les parties htmlspecialchars() et
(int), ce script ne fait que des choses évidentes.
htmlspecialchars() s'assure que tous les caractères
spéciaux HTML sont proprement encodés afin d'éviter des injections
de balises HTML et de Javascript dans vos pages. Pour l'âge, vu que
nous savons que c'est un entier, vous pouvez le
convertir en un
entier. Vous pouvez également demander à PHP de le faire
automatiquement à votre place en utilisant l'extension
filter.
Les variables $_POST['nom'] et
$_POST['age'] sont automatiquement créés par PHP.
Un peu plus tôt dans ce tutoriel, nous avons utilisé la variable
$_SERVER, une auto-globale. Maintenant, nous avons
introduit une autre auto-globale $_POST
qui contient toutes les données envoyées par la méthode
POST. Notez que
dans notre formulaire, nous avons choisi la méthode POST.
Si vous avions utilisé la méthode
GET alors notre formulaire aurait placé ses informations
dans la variable $_GET,
une autre auto-globale. Vous pouvez aussi utiliser la variable
$_REQUEST, si vous
ne souhaitez pas vous embarrasser de la méthode utilisée. Elle contient
un mélange des données de GET, POST, COOKIE et FILE. Voyez aussi la fonction
import_request_variables().
Vous pouvez également utiliser des champs XForms dans PHP, même si vous vous
sentez bien avec l'utilisation des formulaires HTML.
Bien que le travail avec XForms ne soit pas fait pour les débutants, vous pourriez être
intéressé par cette technologie. Nous avons également une
courte introduction sur le traitement des données
reçues par XForms dans notre section sur les fonctionnalités.