13
Les Formulaires Les Formulaires PHP PHP Génie Réseaux et Télécommunications Ecole Nationale des Sciences Appliquées - Khouribga Omar EL BANNAY

part5_PHP

Embed Size (px)

Citation preview

Page 1: part5_PHP

Les FormulairesLes Formulaires

PHPPHP

Génie Réseaux etTélécommunications

Ecole Nationale des Sciences Appliquées - Khouribga

Omar EL BANNAY

Page 2: part5_PHP

IntroductionIntroduction

� Dans une page HTML, l'interactivité entre l'internaute et leserveur se fera par l'intermédiaire des formulaires.

� Les formulaire constituent la base de la création de sitesdynamiques. Par exemple:

1. envoi des données personnelles d’un internaute qui souhaitepasser une commande

Formulaires 2PHP

passer une commande

2. le déclenchement d’une requête dans une BD ou la créationde page dynamique en réponse à cette demande.

• Tout échange entre visiteur et serveur passe par l’intermédiaire

d’un formulaire.

• PHP, permet de gérer les informations fournies par le formulaire

au script côté serveur.

Page 3: part5_PHP

Formulaire et HTML Formulaire et HTML

� Un formulaire correspond à une zone particulière d'une page HTML: elle estencadrée par les balises <FORM> et </FORM>

� L’élément <FORM> possède des attributs obligatoires (action et method).D’autres sont utilisés dans des circonstances particulières en fonction desbesoins.

� Dans un formulaire, on peut y trouver différentes zones de saisie appeléescontrôles. Ces contrôles correspondant à des balises HTML.

Formulaires 3PHP

contrôles. Ces contrôles correspondant à des balises HTML.

• Exemple de formulaire

Page 4: part5_PHP

Les différents contrôles d'un formulaire Les différents contrôles d'un formulaire

les contrôles rôle et syntaxe HTML

Zone de texte Utiliser pour saisir une valeur alphanumérique limitée en taille

<input type=text name=txt_nom size=10>

• Size: détermine la largeur de la zone en nombre de caractères.• Maxlength: détermine le nombre maximal de caractères que l’utilisateur est

autorisé à saisir.

Formulaires 4PHP

autorisé à saisir.• Value: définit un texte par défaut tant que l’utilisateur ne l’a pas modifié.

Zone de texte multiligne

Utilisé pour saisir du texte sur plusieurs lignes (une grande quantité de texte).<textarea name="textfield" row=3 cols=40></textarea>

Les attributs cols et rows, qui donnent respectivement le nombre de colonnes et de lignes de la zone de texte, doivent être définis.

Page 5: part5_PHP

Les différents contrôles d'un formulaire Les différents contrôles d'un formulaire

les contrôles rôle et syntaxe HTML

Radio-bouton Utilisé pour sélectionner un choix et un seul parmi plusieurs. Au maximum, un seul radio-bouton reste coché. Si l'option "checked" est ajoutée, le radio-bouton sera pré-cochée. <input type="radio" name="rd_1" value="radio1"> choix1 <input type="radio" name="rd_1" value="radio2" checked> choix2

Formulaires 5PHP

value="radio2" checked> choix2

Case à cocher Utilisé pour des valeurs de type "oui" (case cochée) ou "non" (case décochée) si l'option "checked" est ajoutée, la case sera pré-cochée.

<input type="checkbox" name="chk_1" value="choix1" checked>

Page 6: part5_PHP

Les contrôles rôle et syntaxe HTML

Fichier Utilisé pour accéder à un fichier particulier <input type="file" name="file" enctype= "multipart/form-data">

- enctype, détermine le type d’encodage des données transmisesau serveur. "multipart/form-data": pour le transfert de fichiers duposte client vers le serveur.

Les différents contrôles d'un formulaire Les différents contrôles d'un formulaire

Formulaires 6PHP

poste client vers le serveur.

Image Utilisé pour rendre une image active à un événement (onclick par exemple) <input type="image" border="0" name="img" src="Ensa.png" width="150" height=60>

Page 7: part5_PHP

Les différents contrôles d'un formulaire Les différents contrôles d'un formulaire

les contrôles rôle et syntaxe HTML

Liste de valeurs C'est une liste de choix particulière ou les choix s'affichent à concurrence de la valeur donnée dans size. Une barre de défilement s'affiche si le nombre de valeurs dépasse size <select name ="lst_valeur" multiple="multiple" size=3>

<option value ="IA" > Info App </option> <option value ="T1" > Télécom1 </option> <option value ="T2" > Télécom2 </option>

</select>

Formulaires 7PHP

<option value ="T2" > Télécom2 </option> </select>

Liste de choix Utiliser pour afficher une liste de valeurs qui se déroule quand on clique sur la flèche bas.

<select name ="lst_choix" size=1> <option value ="pgm" > Programmation </option> <option value ="bdd" > Base de données</option>

</select>

Page 8: part5_PHP

les contrôles rôle et syntaxe HTML

Champ caché Utilisé pour passer en paramètres, des valeurs qui ne doivent pas être connues de l'internaute

<input type="hidden" name="hid_field">

Bouton simple Utilisé pour créer des boutons sur lequel on gèrera un événement (onclickpar exemple). Le texte affiché est dans l'attribut "value"

<input type="button" name="bt_bouton" value="mon Bouton">

Les différents contrôles d'un formulaire Les différents contrôles d'un formulaire

Formulaires 8PHP 8

<input type="button" name="bt_bouton" value="mon Bouton">

Bouton Soumettre

Aussi appelé "submit", il permet de valider le formulaire et d'envoyer son contenu au serveur. Le texte affiché est dans l'attribut "value" <input type = "submit" name = bt_submit value="Soumettre" >

Bouton Rétablir Aussi appelé "reset", il permet de réinitialiser tous les champs du formulaire avec leur valeur par défaut. Le texte affiché est dans l'attribut "value" <input type="reset" name="Submit" value="Rétablir">

Page 9: part5_PHP

Utilisation d’un formulaire Utilisation d’un formulaire

� Lorsqu’un client veut retourner des données au serveur Web, lenavigateur utilise la procédure de transmission de formulaire.

� La procédure de soumission d’un formulaire est contrôlée par 2attributs de la balise <FORM> :METHOD et ACTION.

� L’attribut METHOD détermine la manière dont les donnéessont transmises au serveur. Il peut prendre les valeurs GET etPOST.

Formulaires 9PHP

POST.

◦ POST demande au navigateur d’empaqueter toutes les données et de lestransmettre au serveur. Les données ne sont pas visibles par l'internaute aumoment de l'envoi

◦ GET, quant à lui, envoie les données en tant que partie intégrale de l’URLpour la page cible. De ce fait, les données sont visibles dans l'URL de la pagecible:

http://www.siteweb.ma/nouvpage.php?lst_valeur=Dupont&txt_nbr=20

Page 10: part5_PHP

Exemple :

<FORM method="post" action="http://www.uh1.ac.ma/php/test.php">

<INPUT TYPE = "text" NAME = "txtnom"> <BR>

<INPUT TYPE = "text" NAME = "txtemail"> <BR>

<INPUT TYPE = "SUBMIT"> <BR>

L’attribut ACTION spécifie la page cible pour les données soumises.

Utilisation d’un formulaire Utilisation d’un formulaire

Formulaires 10PHP

<INPUT TYPE = "SUBMIT"> <BR>

</FORM>

Avec la méthode GET, vous récupérez les données du formulaire en utilisant:

$_GET["nomVariable"]

Avec la méthode POST, vous récupérez les données du formulaire en utilisant :

$_POST["nomVariable"]

Dans le cas de notre exemple: $_POST["txtnom"] ;

Récupération des valeurs dans un formulaire

Page 11: part5_PHP

EXERCICEEXERCICE

� Construire une page qui permette de saisir un nom et un mot de passe.

� Renvoyer l’utilisateur sur une autre page et lui afficher si son mot de passe est correct ou non (NB : le mot de passe valide sera « mot »). Sur cette 2ème page : prévoir un bouton retour.

Objectifs : Utilisation de formulaires et de contrôles. Bouton

Formulaires 11PHP

Objectifs : Utilisation de formulaires et de contrôles. Bouton submit. Retour page précédente.

Page 12: part5_PHP

Passer des paramètres sans utiliser de formulairePasser des paramètres sans utiliser de formulaire

� Il existe une alternative au formulaire pour transmettre des données : le lien hypertexte.

� La création d’un lien hypertexte permettant de soumettre des données suppose l’emploi d’une balise d’ancre <A>

� Cette balise se sert d’un attribut HREF pour désigner la page cible

Formulaires 12PHP

� Cette balise se sert d’un attribut HREF pour désigner la page cible et lui transmettre les données une fois que l’utilisateur a cliqué sur le lien.

� Un point d’interrogation (?) sépare la cible, des données.

Page 13: part5_PHP

ExempleExemple

Exemple : pour transmettre le nom et la ville de notre école, on écrit :

<A HREF=http://www.website.ma/nouv_page.php? name=ENSA& ville=Khouribga> Cliquer ici </A>

Formulaires 13PHP

En utilisant des variables PHP, on obtient ceci :

<? $nom="ENSA" ?> <? $ville="Khouribga" ?>

<A HREF=http://www.website.ma/nouv_page.php?name= <?echo $nom ?>&ville=<?echo $ville?>> Cliquer ici </A>