ous avons vu ensemble la dernière fois comment réceptionner
les informations d'un formulaire par messagerie. Dans cet épisode nous
allons gérer ces données sur le serveur avec PHP et la fois prochaine
nous le verrons avec ASP.. Chacun, son tour.
Pour que
les données contenues dans le formulaire puissent être réceptionnées
par le script serveur, nous devons donner l'URL ou le nom de ce script dans l'attribut
'action' de la balise <form>. Comme ceci par exemple :
<form action="monScript.php"
method=post>.
Le script
serveur 'monScript' reçoit alors automatiquement les variables contenues
dans le formulaire. Tous les contrôles ayant un nom sont transmis : les
zones de saisie, les cases à cocher, les radio-boutons, les boutons 'submit,
les champs cachés... Les noms des variables correspondent exactement aux
noms des contrôles du formulaire. Si vous avez déclaré un
champ <.... name="nomChamp"...> vous pourrez manipuler
la variable $nomChamp dans votre script PHP. C'est miraculeux !
Essayons
ce script simple :
<FORM ACTION="test.php"
METHOD=POST>
<INPUT TYPE="text" NAME="zoneDeTexte" SIZE=40 MAXLENGTH=40>
<INPUT TYPE="submit" NAME="btnEnvoyer" VALUE="envoyer">
</FORM>
Et mettons
dans le source de text.php, (qui ici est au même niveau que la page contenant
le formulaire) le code suivant :
<?php
print $zoneDeTexte;
?>
Ce que nous
avons saisi dans la zone de texte, éventuellement rien, est affiché
dans la page préparée par le script.
Cela peut servir par exemple à faire une page de remerciements, de présentation
de ce qu'à saisie l'internaute afin de lui faire valider sa saisie, etc..
Bien qu'il y ait d'autres méthodes : cookies ou script Perl. Il est toujours
bon d'avoir plusieurs cordes à son arc afin de choisir le plus judicieux
en fonction de la situation.
La
page-formulaire et le script peuvent ne faire qu'un:
<FORM ACTION="<?php
print $PHP_SELF
?>" METHOD=POST>
<INPUT TYPE="text" NAME="zoneDeTexte" SIZE=40 MAXLENGTH=40>
<INPUT TYPE="submit" NAME="btnEnvoyer" VALUE="envoyer">
</FORM>
La variable
$PHP_SELF est créée par le système et contient le nom du
script courant. Notre page affichée est donc construite par notre script
PHP et à l'envoi du formulaire, c'est le même script, pas nécessairement
la même page qui est exécuté.
Remarque
: La variable $PHP_SELF pose parfois des problèmes chez certains hébergeurs,
elle contient l'URL complète avec le nom de domaine. Pour savoir ce qu'elle
contient il suffit de faire un 'echo $PHP_SELF' dans un script PHP.
Quel est
l'intérêt d'utiliser le même script pour envoyer et recevoir
? Vous allez vite comprendre.Imaginons le formulaire qui lit ses informations
dans une base de données, cela permet à l'utilisateur de corriger,
supprimer et créer des fiches. On insère des boutons "création",
"modification" .. dans le formulaire :
<INPUT
type='submit' name='delete' VALUE="Supprimer">
<INPUT type='submit' name='create' VALUE="Créer">
<INPUT type='submit' name='update' VALUE="Modifier">
Le script
gère le bouton qui a été utilisé pour transmettre
le formulaire afin de mettre en oeuvre les actions adéquates :
if ( isset(
$update)) { // mise à jour
...
} elseif ( isset( $delete)) {
...
} elseif ( isset( $create)) {
...
}
Ensuite
dans le corps de la page on affiche la fiche modifiée ou uun fiche vierge
avec des valeurs par défaut par exemple. dans le cas de la suppression
il faut faire des choix soit la précédente ou la suivante, en testant
que ce n'est pas suivant le cas la première ou la dernière.
A suivre…
Daniel
Lucazeau
Ajornet.com
Chef de projet Internet
Développeur informatique
Tous
droits réservés - Reproduction même partielle interdite sans
autorisation préalable
|