1
Plan du chapitre
Chapitre2: Transmettre des données de page en
page
2
Transmettre Des Données Avec L'url
Cela signifie Uniform Resource Locator, et sert à représenter une
adresse sur le web. Toutes les adresses en haut du navigateur, :
http://www.monsite.com/bonjour.php, sont des URL.
http://www.monsite.com/bonjour.php
?nom=tounsi&prenom=younes
.
3
Envoyer des paramètres dans l'URL
4
Créer un lien avec des paramètres
On peut créer des liens en HTML pour transmettre des paramètres
d'une page web vers une autre.
Exemple deux fichiers sur le site :
Index.php (l'accueil) ;
bonjour.php.
On fait un lien de index.php qui mène à bonjour.php et qui lui
transmet des informations, comme le schématise la figure suivante.
5
Récupérer les paramètres en PHP
On s’intéresse à la page bonjour.php qui réceptionne les paramètres.
Nom Valeur
$_GET[‘nom’] tounsi
$_GET[‘prenom’] younes
6
Créer un lien avec des paramètres: Exemple
Index.php
<html>
<body>
<p><a href="bonjour.php?nom=tounsi&prenom=younes">Dis-moi bonjour !</a></p>
</body>
</html>
Bonjour.php
<html>
<body>
<p>Bonjour <?php echo $_GET['prenom'] . ' ' . $_GET['nom']; ?> !</p>
</body>
</html>
7
Créer un lien avec des paramètres :Exemple
Tous les visiteurs peuvent trafiquer les URL
Si on fait les tests des codes précédents, on doit tomber sur une URL de la
forme :
8
Tester la présence d'un paramètre
Un autre exemple le visiteur supprime tous les paramètres de l'URL ? il
peut bien tenter d'accéder à : http://localhost/tests/bonjour.php
Que va afficher la page bonjour.php ?
Elle va afficher quelque chose comme :
PHP avertit qu'on essaie d'utiliser des variables qui n'existent pas, d'où les
« Undefined index ».
9
Tester la présence d'un paramètre :Solution
La fonction isset().
10
Fonction isset :exemple
11
Plan du chapitre
Chapitre2: Transmettre des données de page en
page
12
Les formulaires
Les formulaires constituent le moyen principal pour les
visiteurs d'entrer des informations sur le site web .
13
Envoyer les données d’un formulaire
Il existe plusieurs moyens/ méthodes d'envoyer les données du
formulaire . On peut en citer deux.
14
La réception des données du formulaires
L'attribut
action sert à définir la page cible appelée par le
formulaire.
Cette page recevra les données et elle sera chargée de les traiter.
Exemple sur le schéma de la figure suivante.
15
Les éléments du formulaire
Dans un formulaire, on peut insérer des éléments différents : zones de texte,
boutons, cases à cocher, etc.
dans la page cible.php qui fera le traitement. au lieu de recevoir un array $_GET,
on reçoit un array $_POST contenant les données du formulaire !
16
Les éléments du formulaire
Les valeurs multiples
Certains champs de formulaire peuvent permettre aux visiteurs de saisir plusieurs
valeurs sous un même nom de composant
Exemple:
-un groupe de cases à cocher ayant le même attribut name
- d’une liste de sélection ayant toujours un nom unique
-donner le même nom à des éléments de saisie de texte différents.
Solution: créer une variable de type array. un tableau qui est récupéré côté
serveur.
Exemple:
val1:<input type="checkbox" name= " select[] " value= " val1" />
val2:<input type="checkbox" name= " select[]" value= " val2" />
l’utilisateur peut cocher les deux cases simultanément. Le programmeur récupère
ces valeurs dans les variables suivantes :
$_POST[" select "][0]//
$_POST[" select "][1]//
17
Exemple:
Formulaire de saisie
18
Page de résultat
19
<body>
<form method="post" action="traitementvaleurmultiple.php" >
<fieldset>
<legend>Recherche d'emploi: complétez la fiche </legend>
<div>
Nom<input type="text" name="idt[]" />
Prénom<input type="text" name="idt[]" />
Age<input type="text" name="idt[]" />
<br /><br />
Langues pratiquées<br />
<select name="langue[]" multiple="multiple">
<option value="français"> français</option>
<option value="anglais"> anglais</option>
<option value="allemand"> allemand</option>
<option value="espagnol"> espagnol</option>
</select><br /><br />
Compétences informatiques<br />
HTML<input type="checkbox" name="competence[]" value="HTML" />
CSS<input type="checkbox" name="competence[]" value="CSS" />
PHP<input type="checkbox" name="competence[]" value="PHP" />
MySQL<input type="checkbox" name="competence[]" value="MySQL" />