Vous êtes sur la page 1sur 34

Chapitre 3

Les Formulaires en PHP

Pr. Aissam MESRAR

Pr. Aissam MESRAR

Plan

Introduction
Elments de base du langage PHP
Fonctions
Tableaux
Formulaires
PHP et MySQL
Cookies
Sessions
Expressions rgulires

Pr. Aissam MESRAR

Traitement des
Formulaires

Pr. Aissam MESRAR

Formulaire : Rappel

Objectifs

Permettre linteraction avec lutilisateur

Personnaliser les requtes sur le web

Permettre daccder aux BDs sans savoir


manipuler les SGBDs

Pr. Aissam MESRAR

Formulaire : Rappel

Comment utiliser un formulaire ?

Ralisation du formulaire (Simple)

Exploitation du formulaire par un script

En HTML

CGI
PHP
JSP
ASP

Envoi du formulaire par e-mail


Pr. Aissam MESRAR

Formulaires

Un formulaire est insr dans une page HTML


par la balise double <FORM>

En

plus

de

ses

lments

principaux,

le

formulaire peut contenir du texte

Toutes les mises en forme peuvent tre


appliques aux lments du formulaire

Plusieurs formulaires peuvent tre insrs


dans la mme page
Pr. Aissam MESRAR

Formulaires
Principaux attributs dun formulaire
<FORM ACTION="script" METHOD="post" NAME
="nom_form">

ACTION: URL du script ou prog excuter

Chemin du script excuter sur les donnes du formulaire

ACTION= "chemin_script"

Adresse mail laquelle les donnes du formulaire seront


envoys

ACTION="mailto : destinataire@serveur.com"

Pr. Aissam MESRAR

Formulaires
Principaux attributs dun formulaire
<FORM ACTION="script" METHOD="post"
NAME ="nom_form">

METHOD: mthode denvoi des donnes GET


ou POST

GET : donnes du form envoyes avec lURL du


script (limite)
POST: donnes du form envoyes sparment de
lURL (meilleure)

NAME

: nom du formulaire
Pr. Aissam MESRAR

Formulaires

Balise <INPUT>

<INPUT> : cre une zone de saisie

Balise monolithique

Principaux attributs

NAME : nom du champ


SIZE : largeur du cadre rserv au champ
MAXLENTH: longueur du texte
TYPE : (text, password, radio, checkbox, submit, reset,
file, )
VALUE : La valeur du champ

Pr. Aissam MESRAR

Formulaires

Saisie des champs de texte

Zone de saisie du texte

Exemple

Votre nom : <INPUT NAME="nom" SIZE=15 MAXLENGTH=30> <BR>


<BR> <BR>
Votre prnom : <INPUT NAME="prenom" SIZE=15 MAXLENGTH=30>

Pr. Aissam MESRAR

10

Formulaires

Envoi du formulaire

Pour envoyer le formulaire, il suffit de cliquer avec la souris sur


un bouton spcial cr par la balise <INPUT>

<INPUT TYPE="submit" VALUE="Valider">

La valeur "submit" de lattribut TYPE caractrise le bouton denvoi


La valeur "Valider" de lattribut VA LUE dfinit le texte affich sur
le bouton denvoi

Exemple

Pr. Aissam MESRAR

11

Formulaires
Donnes envoyes

Seuls sont envoys les noms des champs et


les valeurs correspondantes

Exemple
nom=Ali&prenom=Mohamed+Amine

Deux champs successifs sont spars par le


caractre &

Lespace est remplac par le caractre + dans la


valeur dun champs

Pr. Aissam MESRAR

12

Formulaires

Modification du formulaire

Aprs avoir rempli les donnes du formulaire, nous pouvons les


effacer tous avec un bouton cr par la balise <INPUT>

Avant lenvoi du formulaire

<INPUT TYPE="reset" VALUE="Effacer">

La valeur "reset" de lattribut TYPE caractrise le bouton de


modification

La valeur " Effacer" de lattribut VA LUE dfinit le texte affich sur le


bouton denvoi

Exemple

Pr. Aissam MESRAR

13

Formulaires

Saisie dun mot de passe


Lattribut TYPE avec la valeur "password" permet de
masquer un champs lors de la saisie, ses caractres
sont remplacs par des points ou des toiles
<INPUT TYPE ="password" NAME="passwd" SIZE=15
MAXLENGTH=30>
Exemple

Pr. Aissam MESRAR

14

Formulaires
Boutons radio

Notation

<INPUT TYPE ="radio" NAME ="nom_radio" VALUE="valeur1"> texte


du bouton1
<INPUT TYPE ="radio" NAME =" nom_radio" VALUE="valeur2"> texte
du bouton2

La valeur de lattribut NAME est commune tous les boutons

Pr. Aissam MESRAR

15

Formulaires
Boutons radio

Slectionner un lment dans une liste

Cocher avec la souris

Une deuxime slection annule la premire

Choix exclusif

Exemple

Texte envoy au script :


nom=Ali&prenom=Mohamed+Amine&sexe=H
Pr. Aissam MESRAR

16

Formulaires
Boutons radio

Lattribut CHECKED permet de cocher par


dfaut lun des boutons
<INPUT TYPE ="radio" NAME ="nom_radio" VALUE="valeur1" CHECKED> texte du
bouton1
<INPUT TYPE ="radio" NAME =" nom_radio" VALUE="valeur2"> texte du bouton2

Exemple

Pr. Aissam MESRAR

17

Formulaires

Cases cocher

Notation :
<INPUT TYPE ="checkbox" NAME ="nom_cases" VALUE="valeur1"> texte case1
<INPUT TYPE ="checkbox" NAME ="nom_cases" VALUE=" valeur2"> texte case2
<INPUT TYPE ="checkbox" NAME =" nom_cases" VALUE=" valeur3"> texte case3

Pr. Aissam MESRAR

18

Formulaires

Cases cocher

Slectionner un lment
dans une liste

Cocher avec la souris

Possibilit de cocher
plusieurs lments

Un clique slectionne
llment

le 2 me clique annule la
slection
Exemple
Pr. Aissam MESRAR

19

Formulaires

Cases cocher

Possibilit de cocher
une

ou

cases

par

avec

plusieurs
dfaut
lattribut

CHECKED
Exemple
Pr. Aissam MESRAR

20

Formulaires

Menu droulant

Balise double <SELECT>

Principaux attributs : NAME, SIZE, MULTIPLE

Slectionner un lment dans un menu

Slection avec la souris

Pr. Aissam MESRAR

21

Formulaires

Menu droulants
Exemple
Ville(s) visits :
<SELECT NAME="ville" >
<OPTION VALUE="RA"> Rabat
<OPTION VALUE="FE"> Fs
<OPTION VALUE="MA"> Marrakech
<OPTION VALUE="AG"> Agadir
<OPTION VALUE="TA"> Tanger
</SELECT>

Pr. Aissam MESRAR

22

Formulaires

Menu droulant

SIZE : indique le nombre de Lignes visibles du


menu

Si SIZE < nb dlments du menu alors une barre de


dfilement apparat

Exemple

Pr. Aissam MESRAR

23

Formulaires

Menu droulant

Possibilit de slectionner plusieurs lments

Le nom de llment doit tre suivi de : []

Attribut : MULTIPLE

Exemple

Pr. Aissam MESRAR

24

Formulaires

Menu droulant

Possibilit de slectionner un lment par


dfaut

Attribut : SELECTED

Exemple

Pr. Aissam MESRAR

25

Formulaires

TEXTAREA : zone de texte

La balise double
<TEXTAREA> permet de cre
une zone de saisie de texte
Principaux attributs : NAME,
COLS, ROWS

COLS : nombre de colonnes


ROWS : nombre de lignes

Exemple :
Votre commentaire :
<TEXTAREA NAME="comment"
ROWS=5
COLS=40></TEXTAREA>

Pr. Aissam MESRAR

26

Etapes dexploitation dun


formulaire

Accs la page du formulaire (son URL)

Remplissage/modification des champs

Envoi du formulaire(submit)

Rcupration des paramtres par le

Client

script

Traitement du formulaire

Calcul

Transformation

Accs aux BD

Serveur

Renvoi de la rponse au client

Pr. Aissam MESRAR

27

Rcupration des paramtres

Les diffrents lments du formulaire sont


rcuprs par le script dans des variables

Deux cas selon la configuration de


register_globals

register_globals=on

register_globals=off (par dfaut partir de la


version PHP4.2)

Pr. Aissam MESRAR

28

Rcupration des paramtres

register_globals=on

Les paramtres sont rcuprs directement dans des


variables qui ont les mmes noms que leurs homologues
dans le formulaire.

De moins en moins utilise

Exemple

Dans le formulaire <input name="nom" >

Dans le script, cet lment est rcupr dans la variable


$nom
Pr. Aissam MESRAR

29

Rcupration des paramtres

register_globals=off

Les paramtres sont rcuprs dans un tableau :

$_POST["nom_champs"] si la mthode denvoi est POST

$_GET["nom_champs"] si la mthode denvoi est GET

Exemple

Dans le formulaire <input name="nom" >

Dans le script, cet lment est rcupr selon la mthode


denvoi par :

$_POST["nom"]

$_GET["nom"]

Pr. Aissam MESRAR

30

Rcupration des paramtres

Dans la suite nous supposons que


register_globals =off

Pr. Aissam MESRAR

31

Rcupration des paramtres

Zone de saisie, bouton radio et zone de texte

Llment est rcupr par son nom

$_POST["nom_champs"] ou $_GET ["nom_champs"]

Cases cocher

Chaque lment a un nom diffrent

Seuls les lments cochs seront envoys


Pr. Aissam MESRAR

32

Rcupration des paramtres

Liste de slection

A choix unique : de la mme faon que la zone de saisie

A choix multiple :

Le nom de llment dans le formulaire doit tre suivi des [ ]


Dans le script PHP la liste est rcupre dans un tableau selon
la mthode :

$tb = $_POST["nom_list_sel"]

$tb = $_GET["nom_list_sel"]

Pr. Aissam MESRAR

33

Traitement du formulaire

Du code PHP : tout est permis

Calcul

Transformation

Manipulation des fichiers

Accs aux BD

Pr. Aissam MESRAR

34