Algorithmique et développement web S2 6. Gestion des formulaires

Documents pareils
Module Com231A - Web et Bases de Données Notion 5 : Formulaires et utilisation des Bases de Données avec PHP

TP JAVASCRIPT OMI4 TP5 SRC

Introduction. PHP = Personal Home Pages ou PHP Hypertext Preprocessor. Langage de script interprété (non compilé)

SYSTÈMES D INFORMATIONS

Programmation Web. Madalina Croitoru IUT Montpellier

Formulaire pour envoyer un mail

NFA016 : Introduction. Pour naviguer sur le Web, il faut : Naviguer: dialoguer avec un serveur web

L envoi d un formulaire par courriel. Configuration requise Mail Texte Mail HTML Check-list

Les Bases. Messaoudi Khaled, Boukelal Hanane (Etudiants Informatique ) 2015.

PHP et mysql. Code: php_mysql. Olivier Clavel - Daniel K. Schneider - Patrick Jermann - Vivian Synteta Version: 0.9 (modifié le 13/3/01 par VS)

Campagnes d ings v.1.6

Les sites Internet dynamiques. contact : Patrick VINCENT pvincent@erasme.org

Techniques de Programmation pour Internet

FTP : File TRansfer Protocol => permets d envoyer des gros fichiers sur un serveur (ou de télécharger depuis le serveur)

Attaques de type. Brandon Petty

RAPPORT AUDIT SEO. Élaboré à l'attention de : Monsieur Greber Élaboré par : Cédric Peinado

Création de formulaires interactifs

Les services usuels de l Internet

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Mise en place d un serveur Proxy sous Ubuntu / Debian

PHP CLÉS EN MAIN. 76 scripts efficaces pour enrichir vos sites web. par William Steinmetz et Brian Ward

TIC. Réseau informatique. Historique - 1. Historique - 2. TC - IUT Montpellier Internet et le Web

Séance d ED n 5 : HTML et JavaScript

Sécurité des sites Web Pas un cours un recueil du net. INF340 Jean-François Berdjugin

Module BD et sites WEB

Comment développer et intégrer un module à PhpMyLab?

< Atelier 1 /> Démarrer une application web

1 Position du problème

HTML. Notions générales

Pack Fifty+ Normes Techniques 2013

Mysql avec EasyPhp. 1 er mars 2006

Initiation à html et à la création d'un site web

Principales failles de sécurité des applications Web Principes, parades et bonnes pratiques de développement

Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6

STID 2ème année : TP Web/PHP

Formulaires et Compteurs

CRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN ING

CREATION d UN SITE WEB (INTRODUCTION)

Attaques applicatives

Manuel d'installation

Normes techniques 2011

Notes pour l utilisation d Expression Web

MAILING KOMPOZER... 2 CREEZ UNE PAGE... 2 FORMAT DE LA PAGE... 2 AJOUTER DU TEXTE SUR UNE PAGE... 4

Informatique : Création de site Web Master 2 ANI TP 1

DOM - Document Object Model

Dans l'article précédent, vous avez appris

EXTENSION WORDPRESS. Contact Form 7. Proposé par :

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

CREATION WEB DYNAMIQUE

PLUGINS Guide du Développeur STEPHANE FERRARI. P l u X m l 5.4

Modélisation PHP Orientée Objet pour les Projets Modèle MVC (Modèle Vue Contrôleur) Mini Framework

Programmation Web TP1 - HTML

Guide d implémentation. Réussir l intégration de Systempay

RÉALISATION D UN SITE DE RENCONTRE

Stockage du fichier dans une table mysql:

KompoZer. Composition du site : _ une page d'accueil : index.html. _ une page pour la théorie : theorie.html. _ une page pour les photos : photos.

Saisissez le login et le mot de passe (attention aux minuscules et majuscules) qui vous ont

TP JEE Développement Web en Java. Dans ce TP nous commencerons la programmation JEE par le premier niveau d une application JEE : l application web.

1. La plate-forme LAMP

WEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES

Logiciel : GLPI Version : SYNCRHONISATION DE GLPI AVEC ACTIVE DIRECTORY. Auteur : Claude SANTERO Config. : Windows 2003.

Gilles.Roussel univ-mlv.fr HTTP/1.1 RFC 2068

Document Object Model (DOM)

GOOGLE ANALYTICS. Ajout du code de suivi sur PowerBoutique. Ajout du code de suivi Google Analytics. Page 1 / 7 TUTO / GOOGLE ANALYTICS

CARPE. Documentation Informatique S E T R A. Version Août CARPE (Documentation Informatique) 1

Ecran : Processeur : OS : Caméra : Communication : Mémoire : Connectique : Audio : Batterie : Autonomie : Dimensions : Poids : DAS :

Bases de données et Interfaçage Web

Initiation aux techniques du Web. Cours L2 sciences cognitives séance 2 Charif HAYDAR: alchiekc@loria.fr

Devenez un véritable développeur web en 3 mois!

FORMATION / CREATION DE SITE WEB / 4 JOURNEES Sessions Octobre 2006

Internet. DNS World Wide Web. Divers. Mécanismes de base Exécution d'applications sur le web. Proxy, fire-wall

Hébergement de site web Damien Nouvel

Tous les autres noms de produits ou appellations sont des marques déposées ou des noms commerciaux appartenant à leurs propriétaires respectifs.

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

Comment bien référencer mes sites internet? Les 100 SECRETS EN VIDÉO

Publier un Carnet Blanc

Généralités. javadoc. Format des commentaires. Format des commentaires. Caractères spéciaux. Insérer du code

HTML/CSS - Travaux Pratiques 2

Bernard Lecomte. Débuter avec HTML

ContactForm et ContactFormLight - Gestionnaires de formulaire pour Prestashop Edité par ARETMIC S.A.

Dans nos locaux au 98 Route de Sauve NÎMES. Un ordinateur PC par stagiaire, scanner, imprimante/copieur laser couleur

BTS S.I.O PHP OBJET. Module SLAM4. Nom du fichier : PHPRévisionObjetV2.odt Auteur : Pierre Barais

Compte Rendu d intégration d application

GUIDE DE DEMARRAGE V1.02

Solution de gestion de newsletter 12all Version 1.0 p.montier

Serveur d'application Client HTML/JS. Apache Thrift Bootcamp

Bases de Données et Internet

Gestion de contenu d un site web avec TYPO3 Manuel de l administrateur

Guide de réalisation d une campagne marketing

Manuel d utilisation du web mail Zimbra 7.1

(structure des entêtes)

API SMS CONSEIL HTTP V2.01. Sommaire. Documentation V1.0 au 21/05/2011

E-TRANSACTIONS. Guide du programmeur API Plug-in. Version 1.1

Pratique et administration des systèmes

Projet en nouvelles technologies de l information et de la communication

PHP 5. La base de données MySql. A. Belaïd 1

SITE INTERNET BLOG SITE E-COMMERCE GRILLE D ANALYSE / AUDIT PREMIERE ANALYSE. Entreprises. o Public spécialisé o Etudiants o Enfants

Les solutions de paiement CyberMUT (Crédit Mutuel) et CIC. Qui contacter pour commencer la mise en place d une configuration de test?

Transcription:

Algorithmique et développement web S2 6. Gestion des formulaires Christophe BLANC IUT MMI IUT d Allier Université Clermont Auvergne www.christophe-blanc.fr 2016-2017 1 / 15

Rappel Un formulaire est un outil de base indispensable pour les sites Web dynamiques puisqu il permet à l utilisateur de saisir des informations et donc d interagir avec le site. Il Un formulaire HTML est défini entre les balises <FORM> et < \FORM> 2 / 15

Rappel Syntaxe <FORM >... </FORM > [ ACTION = " url de traitement " ] [ METHOD = " GET " " POST " ] [ NAME = " nom_formlaire " ] ACTION : URL relative ou absolue, qui va traiter le formulaire, en ce qui nous concerne, un script PHP. Si rien n est spécifié, la même URL que la page est utilisée METHOD : mode de transmission vers le serveur des informations saisies dans le formulaire. GET (valeur par défaut) : les données du formulaire sont transmises dans l url. POST : les données du formulaire sont transmises dans le corps de la requête. NAME : nom du formulaire. Si la page HTML contient plusieurs formulaires, le nom permet de les différencier. En ce qui nous concerne, ce nom ne présente pas d intérêt car il n est pas récupéré dans le script de traitement du formulaire. 3 / 15

Exemple <FORM > Nom : <INPUT TYPE =" text " NAME =" nom " VALUE ="" SIZE ="20" MAXLENGTH ="20"> Mot de passe : <INPUT TYPE =" password " NAME =" mot_de_passe " VALUE ="" SIZE ="20" MAXLENGTH ="20"> </BR > Sexe : <INPUT TYPE =" radio " NAME ="sexe " VALUE ="M">Masculin <INPUT TYPE =" radio " NAME ="sexe " VALUE ="F">Feminin <INPUT TYPE=" radio " NAME="sexe " VALUE="?" CHECKED >Ne sait pas </BR > Photo : <INPUT TYPE ="file " NAME =" photo " VALUE ="" SIZE ="50"> </BR > Couleurs preferees : <INPUT TYPE =" checkbox " NAME ="bleu "> Bleu <INPUT TYPE =" checkbox " NAME =" blanc "> Blanc <INPUT TYPE =" checkbox " NAME =" rouge "> Rouge <INPUT TYPE=" checkbox " NAME=" nesaitpas " CHECKED > Ne sait pas </BR > Langue : < SELECT NAME =" langue "> < OPTION VALUE ="E">Espagnol < OPTION SELECTED VALUE ="F">Francais < OPTION VALUE ="I">Italien </ SELECT >... 4 / 15

Exemple... </BR > Fruits preferes : </BR > < SELECT NAME =" fruits " MULTIPLE SIZE ="8"> < OPTION VALUE ="A">Abricots < OPTION VALUE ="C">Cerises < OPTION VALUE ="F">Fraises < OPTION VALUE ="P">Peches < OPTION SELECTED VALUE ="?">Ne sait pas </ SELECT > </BR > Commentaire : </BR > < TEXTAREA NAME =" Commentaire " ROWS ="4" COLS ="50"> </ TEXTAREA > </BR > <INPUT TYPE =" submit " NAME ="OK" VALUE ="OK"> </FORM > 5 / 15

Exemple 6 / 15

Interaction entre un formulaire et un script PHP PHP peut intervenir à deux endroits par rapport au formulaire : pour la construction du formulaire, si ce dernier doit contenir des informations dynamiques ; pour le traitement du formulaire (c est-à-dire des données saisies par l utilisateur dans le formulaire). 7 / 15

Interaction entre un formulaire et un script PHP Trois méthodes sont utilisables pour faire interagir un formulaire et un script PHP : placer le formulaire dans un document HTML pur (.html), le formulaire ne contient alors aucun élément dynamique, et indiquer le nom du script PHP qui doit traiter le formulaire dans l option ACTION de la balise <FORM> placer le formulaire dans un script PHP (par exemple pour construire une partie du formulaire dynamiquement) et faire traiter le formulaire par un autre script PHP (mentionné dans l option ACTION de la balise <FORM>) placer le formulaire dans un script PHP (par exemple pour construire une partie du formulaire dynamiquement), et le faire traiter par le même script PHP (mentionné dans l option ACTION de la balise <FORM> ou appelé par défaut si cette option n est pas présente). 8 / 15

Interaction entre un formulaire et un script PHP : exemple première méthode Document html saisie.html <HTML > <HEAD ><TITLE > Saisie </ TITLE ></HEAD > <BODY > <FORM ACTION =" traitement.php " METHOD ="POST "> Nom : <INPUT TYPE =" text " Name =" nom " VALUE =""></BR > <INPUT TYPE =" submit " NAME ="OK" VALUE ="OK"> </ FORM > </ BODY > </ HTML > Script PHP traitement.php <? php /* A faire - recuperer les informations saisies -faire le traitement - afficher une nouvelle page */?> Le résultat du clic sur le bouton OK est une page vide car, pour l instant, le script de traitement ne fait rien. 9 / 15

Interaction entre un formulaire et un script PHP : exemple deuxième méthode Document PHP saisie.php <? php // inclure un fichier qui contient des definitions de // constantes, dont le titre de la page ( TITRE_PAGE_SAISIE ) require (" constantes.inc "); // initialisation d une variable qui contient la valeur // initiale de la zone saisie (dans la pratique, cette // valeur vient sans doute d ailleurs et n est pas codee en dur $nom ="X"; // dans le code HTML qui suit, inclusion de deux petits // bouts de code PHP pour afficher respectivement le titre // de la page et la valeur initiale de la zone de saisie?> <HTML > <HEAD ><TITLE ><?php echo TITRE_PAGE_SAISIE?></ TITLE ></HEAD > <BODY > <FORM ACTION =" traitement.php " METHOD ="POST "> Nom : <INPUT TYPE ="text " Name ="nom " VALUE =" <?php echo $nom?>"></br > <INPUT TYPE =" submit " NAME ="OK" VALUE ="OK"> </ FORM > </ BODY > </ HTML > Script PHP traitement.php <? php /* A faire - recuperer les informations saisies -faire le traitement - afficher une nouvelle page */ 10 / 15

Interaction entre un formulaire et un script PHP : exemple troisième méthode Document PHP saisie.php <? php // inclure un fichier qui contient des definitions de // constantes, dont le titre de la page ( TITRE_PAGE_SAISIE ) require (" constantes.inc "); // initialisation d une variable qui contient la valeur // initiale de la zone saisie (dans la pratique, cette // valeur vient sans doute d ailleurs et n est pas codee en dur $nom ="X"; // dans le code HTML qui suit, inclusion de deux petits // bouts de code PHP pour afficher respectivement le titre // de la page et la valeur initiale de la zone de saisie?> <HTML > <HEAD ><TITLE ><?php echo TITRE_PAGE_SAISIE?></ TITLE ></HEAD > <BODY > <FORM ACTION =" saisie.php " METHOD ="POST "> Nom : <INPUT TYPE ="text " Name ="nom " VALUE =" <?php echo $nom?>"></br > <INPUT TYPE =" submit " NAME ="OK" VALUE ="OK"> </ FORM > </ BODY > </ HTML > Le résultat du clic sur le bouton OK est la même page de nouveau affichée, car, pour l instant, le script de traitement de ne fait rien. Utiliser le même script pour l affichage initial et le traitement nécessite d être en mesure de faire la différence entre les deux types d appels. 11 / 15

Interaction entre un formulaire et un script PHP : quelle méthode choisir? Séparer la page HTML du script PHP présente un inconvénient au niveau de la maintenance : si des modifications sont apportées au formulaire, il y a deux fichiers à modifier. Inversement, si le formulaire n a aucune partie dynamique, l écrire dans un fichier HTML séparé du script PHP qui le traite, permet de bien séparer l interface utilisateur (la couche présentation ) du traitement Dans la pratique, pour faciliter la maintenance, il est souhaitable de définir certaines valeurs présentées à plusieurs reprises dans des constantes ou des variables et d utiliser des constantes/variables dans les pages : toutes les pages deviennent un peu dynamiques et la troisième méthode parait optimale. Dans la suite, nous allons rentrer dans le détail du traitement du formulaire en PHP, en utilisant des exemples construits sur le modèle de la troisième méthode. 12 / 15

Interaction entre un formulaire et un script PHP : récupérer les données saisies dans le formulaire Par défaut, toutes les zones de formulaire sont automatiquement enregistrées dans le script PHP qui traite le formulaire, dans un tableau associatif $ POST pour les formulaires POST et $ GET pour les formulaires GET : la clé du tableau est égale au nom de la zone dans le formulaire (option NAME de la balise <INPUT>, <SELECT> ou <TEXTAREA> et la valeur égale à la valeur saisie dans la zone. 13 / 15

Interaction entre un formulaire et un script PHP : récupérer les données saisies dans le formulaire - Exemple <HTML > <HEAD ><TITLE > Saisie </ TITLE ></HEAD > <BODY > <? php $nom = ""; // - tester si le tableau contient une valeur associee a la cle // portant le meme nom que la zone de saisie du formulaire // - si oui, recuperer cette valeur dans une variable et l afficher if ( isset ( $_POST [" nom "]) ) { $nom = $_POST [" nom "]; echo "\ $_POST -> $nom </BR>"; }?> <FORM ACTION =" saisie.php " METHOD ="POST "> Nom : <INPUT TYPE ="text " Name ="nom " VALUE =" <?php echo $nom?>"></br > <INPUT TYPE =" submit " NAME ="OK" VALUE ="OK"> </ FORM > </ BODY > </ HTML > 14 / 15

Interaction entre un formulaire et un script PHP : récupérer les données saisies dans le formulaire - utilisation d un tableau pour récupérer les zones saisies <? php if ( isset ( $_POST [" saisie "]) ) { $nom = $_POST [" saisie " ][0]; echo "\ $_POST -> $nom </BR>"; $prenom = $_POST [" saisie " ][1]; echo "\ $_POST -> $prenom </BR>"; } else { echo "<HTML > <HEAD ><TITLE >Saisie </ TITLE ></HEAD > <BODY > <FORM ACTION =\" saisie3.php \" METHOD =\" POST \"> Nom : <INPUT TYPE=\" text \" Name=\" saisie []\" ></BR> Prenom : <INPUT TYPE=\" text \" Name=\" saisie []\" ></BR> <INPUT TYPE=\" submit \" NAME=\" OK \" VALUE =\" OK \"> </FORM > </BODY > </HTML >"; }?> 15 / 15