Vous pouvez me contacter via Facebook pour questions & suggestions : Page Facebook relative à mon site
Mais avant d'aborder les formulaires et le traitement des donnée saisies dans ce dernier, je voudrais vous montrer qu'il est possible de passer des données dans la page via l'URL.
Dois-je vous rappeler que l'URL est la valeur de l'attribut href de la balise A.
Et bien sachez qu'il est possible d'ajouter à cette URL des données !
Cliquez sur les liens : accueil, page1, page2 et page3 et observez.
Le rendu dans un nouvel onglet
Dans chacune des pages (après clic sur le lien) il est affiché :
Site réalisé par Darcheville Patrick
C'est possible car mon nom et mon prénom sont contenus dans l'URL de chaque lien.
Observons le code des liens (contenus dans la page "navigation.htm").
Lorsque des données sont transmises via l'URL il y a automatiquement création dans la page cible du tableau associatif $_GET !
Donc si vous cliquez sur le premier lien, par exemple, vous affichez la page d'accueil et vous transmettez à cette page deux données.
En effet la valeur de l'attribut href comprend l'URL proprement dite (index.php) mais après un point d'interrogation deux
paramètres : nom=Darcheville&prenom=Patrick ; donc deux données séparées par &.
On peut donc transférer vers la page cible autant de paramètres qu'on veut à condition d'écrire un "?" après le lien proprement dit et de
séparer les données par le symbole "&".
A titre d'exemple je vous indique le code de la page "page1.php" (extraits) :
Le code de la page d'accueil (index.php) sera un peu plus complexe pour éviter un message d'erreur
lors du premier affichage de cette page ; le tableau $_GET[] n'existe pas encore puisqu'aucun lien n'a été exécuté.
Extrait du code de "index.php" :
Je veux maintenant vous montrer que le visiteur peut modifier les données affichées dans la barre d'adresse.
Cliquez sur l'un des quatre liens et modifiez l'URL comme suit :
http://darchevillepatrick.info/php2/index.php?nom=Dupont&prenom=Jacques
Puis appuyez sur ENTER.
La page affiche désormais que le site a été réalisé par Dupont Jacques ...
Autre test ; cliquez sur l'un des quatre liens puis modifiez l'URL comme suit :
http://darchevillepatrick.info/php2/index.php
Appuyez sur ENTER.
La page n'affiche ni nom ni prénom.
Par exemple allez sur le site "pagesjaunes" et renseignez le formulaire de la page d'accueil :
Saisir "hotel" et "Paris" puis cochez "proximité".
La barre d'adresse contient alors :
http://www.pagesjaunes.fr/annuaire/ chercherlespros?quoiqui=hotel&ou=paris&proximite=1
Si vous voulez connaître les hôtels sur Lille il vous suffit de modifier le texte dans la barre d'adresse :
http://www.pagesjaunes.fr/annuaire/ chercherlespros?quoiqui=hotel&ou=lille&proximite=1
Puis d'appuyer sur ENTER.
Si vous voulez connaître les restaurants sur Calais modifiez comme suit :
http://www.pagesjaunes.fr/annuaire/ chercherlespros?quoiqui=restaurant&ou=calais&proximite=1
Puis d'appuyer sur ENTER.
Ce qui veut dire que le formulaire du site "pagesjaunes" utilise la méthode GET !
Les données saisies apparaissent dans la barre d'adresse et peuvent être modifiées par le visiteur.
Le formulaire proposé par le site les "pages jaunes" est basé sur la méthode GET !
Lorsque des données de formulaire sont envoyées avec la méthode GET ces données apparaissent dans la barre d'adresse et peuvent donc être
modifiées par le visiteur.
Donc insérer des données dans les liens ou envoyer ces données de formulaire avec la méthode GET sont deux techniques qui aboutissent au même résulat :
ces paramètres apparaissent dans la barre d'adresse et peuvent donc être modifiées par le visiteur !
Donc si vous devez adresser à une page un identifiant et un mot de passe surtout n'utilisez pas un formulaire basé sur la méthode GET !
Utilisez
la méthode POST ; Avec cette méthode les données n'apparaissent jamais dans la barre d'adresse.
Vous devez concevoir un formulaire d'inscription à un site.
Dans un premier on va utiliser deux pages : l'une contenant le formulaire et une autre pour le traitement des données envoyées.
La page se nomme "inscription_form.php".
Elle pourrait avoir pour extension .htm puisqu'elle ne contient pas de code PHP mais il est plus simple que
dans un site toutes les pages aient la même extension.
Le code de la page (extraits) :