Vous êtes sur la page 1sur 17

+

Les Formulaires en PHP


L2 BI 1 & L2 GLSI

Enseignante : Mme Mayssa


1 Bensalah
+ 2

Les formulaires

 Saisie dynamique d’information

 Traitement adapté

 Enregistrement d’information

 Sélection de l’information en fonction des besoins


+ 3

1. Saisie d’information

• Formulaire HTML pour recueillir les informations de


l’utilisateur
+ 4

Saisie d’information : HTML

<form name="saisie" action="script.php" method="get">


Votre nom : <input type="text" name="nom"/>
Votre âge : <input type="text" name="age"/>
<input type="submit" name="OK" value="OK"/>
</form>

 <FORM> a trois attributs principaux :


 name : le nom de l'objet formulaire
 action : l'url du script à activer
 method : le mode de transmission des données au
script : GET ou POST
 Par défaut, la méthode GET est utilisée
+ 5

Saisie d’information : HTML

<form name="saisie" action="script.php" method="get">


Votre nom : <input type="text" name="nom"/>
Votre âge : <input type="text" name="age"/>
<input type="submit" name="OK" value="OK"/>
</form>

 Un champ de formulaire est composé de :


 Un type
 Un nom : attribut name
 Une valeur : saisie par utilisateur / attribut value
+ 6

2. Transmission

• Transmettre les valeurs saisies par l’utilisateur


pour en faire un traitement
+ 7

Transmission

<form name="saisie" action="script.php" method="get">


Votre nom : <input type="text" name="nom"/>
Votre âge : <input type="text" name="age"/>
<input type="submit" name="OK" value="OK"/>
</form>

 Transmission à un script par une méthode


 GET : transmet les paramètres dans l’URL de façon visible
 POST : transmet les paramètres de façon cachée (dans l’en-tête HTTP)
+ 8

Transmission

 Cesméthodes sont en fait des variables


globales ou tableaux super-globaux
<form name="saisie" action="script.php" method="get">
Votre nom : <input type="text" name="nom"/>
Votre âge : <input type="text" name="age"/>
<input type="submit" name="OK" value="OK"/>
</form>

• Pour récupérer la valeur d’un champ :


$valeur = $_POST[‘name’];
<?php
$nom_user = $_GET[‘nom’];
$prenom_user = $_GET[‘prenom’];
?>
+ 9

Les champs texte

• Valeur : saisie par l’utilisateur


<form name="saisie" action="script.php" method="get">
Votre nom : <input type="text" name="nom"/>
Votre avis : <textarea name="avis" ></textarea>
<input type="submit" name="OK" value="OK"/>
</form>

• input text : $_GET[‘nom’];


• textarea : $_GET[‘avis’];
+ 10

Boutons radio

 Valeur : attribut value de bouton radio

 Un seul coché à la fois : tous les boutons ont le même name

<form name="saisie" action="script.php" method="get">


<input type="radio" name="genre" value="Femme"/> une femme
<input type="radio" name="genre" value="Homme"/> un homme
<input type="submit" name="OK" value="OK"/>
</form>

<?php
//si j’ai coché une femme, $genre_user ="Femme"
$genre_user=$_GET[‘genre’];
?>
+ 11

Cases à cocher

 Un
ensemble de cases à cocher ayant le même
name sont en fait un tableau simple
<form name="saisie" action="script.php" method="get">
Sport <input type="checkbox" name="loisirs[]" value="sport" />
Théâtre <input type="checkbox" name="loisirs[]" value="theatre" />
Cinéma <input type="checkbox" name="loisirs[]" value="cinema" />
<input type="submit" name="OK" value="OK"/>
</form>

 Valeur: sont ajoutées dans le tableau les


valeurs des seules cases cochées
+ 12

Cases à cocher

 Les valeurs sont enregistrées dans un tableau

 On peut faire des tableaux de tableaux !


$tab_loisirs = $_GET[‘loisirs’];

 Donc faire un parcours de tableaux

<?php
//Le tableau $_GET contient le tableau loisirs[]
$loisirs = $_GET["loisirs"];
for ($i=0; $i<count($loisirs); $i++) {
echo $loisirs[$i];
}
?>
+ 13

Les nouveaux types de champs


input
 Champ de type tel : <input type="tel">

 Champ de type url : <input type="url" >

 Champ de type email : <input type="email" >

 Champ de types date : <input type="date" >

 Champ de type time : <input type="time">

 Champ de type number : <input type="number" >

 Champ de type range : <input type="range">

 Champ de type color : <input type="color" >


+ 14

Listes déroulantes

 Normalement, une seule valeur sélectionnée


 Valeur : attribut value sélectionné

<form name="saisie" action="script.php" method="get">


<select name="choix">
<option value="choix1">Choix 1</option>
<option value="choix2">Choix 2</option>
<option value="choix3">Choix 3</option>
</select>
<input type="submit" name="OK" value="OK"/>
</form>

<?php
$choix_user = $_GET["choix"];
?>
+ 15

3. Traitement

• Maintenant que nous avons récupérer les


données, quels traitement ?
+ 16

Traitement des données

 Le script reçoit les données en GET/POST


 Vérifier la validité des données
 S'il y a des erreurs dans les données
 Afficher un message d'erreur (explicite!)
 Sinon s'il n'y a pas d'erreur dans les données
 Effectuer le traitement demandé
 Afficher un message de confirmation
+ 17

Traitement des données

 Erreurs :
 Champs vides
 empty($variable) teste si la variable est vide
 isset($variable) teste si la variable existe
 Suite de caractères attendue (selon un pattern)
 Expressions régulières
 Longueur d’une chaîne (voir le manuel PhP)

 Traitements :
 Calculs
 Construction de réponse
 Enregistrement

Vous aimerez peut-être aussi