PHP et formulaires TP N 5. Découvrir les formulaires HTML pour saisir des valeurs dans les scripts PHP (HTML). Utiliser des boucles et des conditions.

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

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

TD HTML AVEC CORRECTION

TP JAVASCRIPT OMI4 TP5 SRC

La Clé informatique. Formation Internet Explorer Aide-mémoire

Formulaire pour envoyer un mail

Création de formulaires interactifs

Paramétrage des navigateurs

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

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

Attaques de type. Brandon Petty

Module BD et sites WEB

Sommaire Accès via un formulaire d'identification... 4 Accès en mode SSO... 5 Quels Identifiant / mot de passe utiliser?... 6

HTML. Notions générales

Les outils de création de sites web

Séance d ED n 5 : HTML et JavaScript

Programmation Web TP1 - HTML

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

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

Comment débloquer les fenêtres publicitaires (popup) de votre navigateur Internet

KAJOUT WASSIM INTERNET INFORMATION SERVICES (IIS) 01/03/2013. Compte-rendu sur ISS KAJOUT Wassim

ENVOI EN NOMBRE DE Mails PERSONNALISES

PARAMETRAGE CONSOLE ADMINISTRATION DE MESSAGERIE "VENDOME.EU" NOTICE UTILISATION

PARAMETRER INTERNET EXPLORER 9

Utilisation de l éditeur.

DOM - Document Object Model

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

EXTENSION WORDPRESS. Contact Form 7. Proposé par :

WebSMS. Avril WebSMS Orange Mali - Guide utilisateur

CREATION d UN SITE WEB (INTRODUCTION)

RTE Technologies. RTE Geoloc. Configuration avec Proxy ou Firewall

ENVOI EN NOMBRE DE Mails PERSONNALISES

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

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

Introduction. Passage de sites statiques à des sites dynamiques

Modules Prestashop - ExportCatalogue / EXPORT IMPORT POUR MODIFICATIONS EN MASSE DANS PRESTASHOP VERSION Optim'Informatique

MANUEL DE L UTILISATEUR

Formulaires et Compteurs

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Système Normalisé de Gestion des Bibliothèques -SYNGEB : version Réseau-

CMS Made Simple Version 1.4 Jamaica. Tutoriel utilisateur Récapitulatif Administration

FICHE 17 : CREER UN SITE WEB

SOMMAIRE. 3. Comment Faire? Description détaillée des étapes de configuration en fonction du logiciel de messagerie... 3

Création d un formulaire de contact Procédure

GESTION DE L'ORDINATEUR

NAMEBAY PRO. votre site de revente de noms de domaine en marque blanche. Documentation technique

Activités HTML. Code: act-html

Bases de Données et Internet

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

Mysql avec EasyPhp. 1 er mars 2006

Sauvegarder et restaurer les données PMB

Création d'un site dynamique en PHP avec Dreamweaver et MySQL

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

Se débarrasser des s indésirables

HTML/CSS - Travaux Pratiques 2

BIRT (Business Intelligence and Reporting Tools)

25 mars. Tutoriel sur Laravel. Préparé par : Lydiane Beaulne-Bélisle. Ceci est un tutorial qui montre comment débuter avec le Framework PHP Laravel.

Remote Cookies Stealing SIWAR JENHANI (RT4) SOUHIR FARES (RT4)

ISPConfig Documentation

Uniformiser la mise en forme du document. Accélère les mises à jour. Permets de générer des tables de matières automatiquement.

Procédure de sauvegarde - Cobian Backup

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)

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

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

Comment installer un certificat de signature et de chiffrement pour Mozilla Thunderbird

(structure des entêtes)

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

Présentation du Framework BootstrapTwitter

Installation locale de JOOMLA SEPIA

Réseau local entre Windows Xp et 7

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

dmp.gouv.fr Pour en savoir plus DMP Info Service : 24h/24 7j/7

Mise en place d un serveur Proxy sous Ubuntu / Debian

Manuel d installation de Business Objects Web Intelligence Rich Client.

Types MIME (2) Typage des ressources Internet. Les URI. Syntaxe dans les URI. Possibilité de spécifier un paramètre du sous-type

Application Web et J2EE

Les services usuels de l Internet

Web service AREA Manuel d installation et d utilisation du mode déconnecté. Version du 18 mars 2011

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

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

Climat Scolaire - Manuel utilisateur - Chapitre 2 : «Créer, Editer et suivi d un texte»

SOMMAIRE 1 INTRODUCTION 4 2 GUIDE D UTILISATION ET TUTORIAUX VIDEOS EN LIGNE 4 3 CONTACTER VOTRE SUPPORT 4 4 RACCOURCIS CLAVIER 5

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

Travaux dirigés n 10

Leica Geosystems Licences des logiciels Introduction & Installation

CONFIGURER UNE CONNEXION RTC SOUS WINDOWS XP/VISTA/SEVEN OU MAC OS

TAGREROUT Seyf Allah TMRIM

Thème : Création, Hébergement et référencement d un site Web

Contrôler plusieurs ordinateurs avec un clavier et une souris

Manuel du composant CKForms Version 1.3.2

Diffuser un contenu sur Internet : notions de base... 13

Procédure d utilisation et de paramétrage (filtrage) avec IPFIRE

Support pour les langues s écrivant de droite à gauche

Programmation Internet Cours 4

Notice d'utilisation Site Internet administrable à distance

Sessions en ligne - QuestionPoint

Attaques applicatives

Transcription:

1 OBJECTIF Découvrir les formulaires HTML pour saisir des valeurs dans les scripts PHP (HTML). Utiliser des boucles et des conditions. 1.1 CRÉATION D UN FORMULAIRE Afin de pouvoir interagir avec PHP, il existe plusieurs moyens : Lire/Écrire dans une base de données (MySQL ou PostGRE ) Lire les champs d'un formulaire Nous avons vu la semaine dernière (en Purebasic), l'utilisation d'une fenêtre contenant un champ de texte (GadgetEditor). En HTML, nous allons voir plusieurs types de champs Nous allons utiliser EasyPHP (C:\EasyPHP\) ou n'importe quel serveur PHP/HTML (WAMP, XAMP ). N'oubliez donc pas de démarrer EasyPHP ou WAMP (voir annexe). Une exception proxy doit exister pour l'adresse IP 127.0.0.1 et localhost (voir annexes). Vérifiez que le fichier formulaire.html n'existe pas (le cas échéant, effacez-le) Voici le code à copier dans la page formulaire.html : <!DOCTYPE html> <HTML> <HEAD> <Title>TP4 - Formulaire HTML</Title> <meta charset ="utf-8"> </HEAD> <BODY> Saisissez vos identifiants : <FORM method="post" action="cible.php"> <p> <input type="text" name="nom" value="votre nom" placeholder= "Ex: TOTO"/> <input type="password" name="mdp" value="" /> <input type="submit" value="valider" /> </p> </FORM> </BODY> </HTML> Enregistrez ce code (sauvegardez le fichier) dans C:\EasyPHP\data\localweb\ Ouvrez-le avec votre navigateur (FireFox, Chrome, IE...) : http://127.0.0.1/formulaire.html Si vous écrivez des choses dans les deux champs (sans valider), que ce passe-t-il? 1/10

En cliquant sur le bouton [Valider] que se passe-t-il? 1.2 CREATION D'UN SCRIPT PHP Nous allons maintenant créer un fichier PHP qui sera capable de lire les données transmises par la page HTML précédente : Copiez le code suivant dans le fichier cible.php (C:\EasyPHP\data\localweb) <p><?php echo "Bonjour ".$_POST['Nom']."!";?></p> <p>le mot de passe est [<?php echo $_POST['MdP'];?>]!</p> <p>pour recommencer la saisie, <a href="formulaire.php">cliquer ici</a>.</p> Affichez à nouveau le formulaire : http://127.0.0.1/formulaire.html Saisissez des informations puis cliquez sur le bouton [Valider]. Que se passe-t-il? Notez la présence de $_POST. Désormais, vous savez utiliser des champs dans vos pages web. Il faut cependant comprendre comment cela fonctionne : le bouton [Valider] indique au navigateur qu'il doit transmettre le contenu de tous les champs entre la balise <FORM> et la fin </FORM> Les champs ont chacun un type (text, password ) et pour les reconnaître, on leur donne un nom. <input type="text" name="nom" value="votre nom" /> Type= «Text» Nom du champ S'utilise comme un nom de conteneur. Valeur par défaut Amusez-vous à changer le paramètre name (par exemple name= «LeNom» ; il s'agit du nom de la variable) ou le paramètre value (le contenu de la variable). 2/10

1.3 AUTRES TYPE DE FORMULAIRES Voici d'autres types fréquemment utilisés sur Internet : 1.3.1 TextArea <textarea name="message" rows="8" cols="45"> Votre message ici. </textarea> Créé un cadre de texte pour saisir des commentaires par exemple. 1.3.2 Select <select name="departement"> <option value="choix1">ardeche</option> <option value="choix2">drome</option> <option value="choix3">isere</option> <option value="choix4" selected="selected">autre</option> </select> Créé une liste déroulante permettant de choisir un élément (un item). Le choix4 est présélectionné. 1.3.3 Radio <input type="radio" name="s2" value="sisr" id="sisr" checked="checked" /> <label for="sisr">sisr</label> <input type="radio" name="s2" value="slam" id="slam" /> <label for="slam">slam</label> Créé un ensemble de boutons dont un seul peut-être actif : il n'est pas possible de faire plusieurs choix. 1.3.4 Checkbox <input type="checkbox" name="matiere[]" value="anglais" /> Anglais<br> <input type="checkbox" name="matiere[]" value="francais" />Français<br> Crée un ensemble de cases à cocher. Plusieurs peuvent être cochées simultanément. C'est la raison pour laquelle vous devez ajouter [] au nom de votre champ (les [] signifie un conteneur de type table. Une table peut contenir plusieurs éléments). 3/10

Enfin, pour que le formulaire soit un peu plus esthétique, vous pouvez ajouter les balises suivantes : <p> contenu </p> <p> ouvre un nouveau paragraphe, et pour cela, effectue un saut de ligne et un retour à la ligne. </p> signifie que le paragraphe est terminé. <br> passe à la ligne dans le même paragraphe. C'est une balise qui ne nécessite pas la fermeture (</br> n'existe pas) <hr> insère une ligne horizontale pour séparer du texte ou des champs. Essayez de remplacer le code du formulaire dans formulaire.html par le suivant (il sufit de ne remplacer que la partie entre la balise <FORM... > et </FORM> <FORM method="post" action="cible.php"> <p> <input type="text" name="nom" value="votre nom" /> <input type="password" name="mdp" value="" /><br><hr>> <p>vous aimez <br> <input type="checkbox" name="matiere[]" value="anglais" /> Anglais<br> <input type="checkbox" name="matiere[]" value="francais" /> Français<br> <input type="checkbox" name="matiere[]" value="maths" /> Maths<br> </p> <input type="submit" value="valider" /> </p> </FORM> Que constatez-vous? Désormais, vous pouvez créer vos propres formulaires de saisies, puis traiter les données avec PHP. En PHP, $_POST est un tableau qui contient les données du formulaire transmis : Pour accéder à une valeur, il faut connaître le champ choisit : $_POST['Nom'] renverra la valeur du champ 'Nom'. Par contre, pour les champs à sélections multiples, il faut utiliser une boucle. 4/10

PHP nous propose une boucle simplifiée qui s'arrête automatiquement à la fin d'un tableau. foreach($_post['matiere'] as $valeur) { echo "Matière : $valeur <br>"; } 1.4 MODIFICATION DU SCRIPT PHP En tenant compte des informations données ci-dessus, nous allons modifier le script cible.php <p><?php echo "Bonjour ".$_POST['Nom']."!";?></p> <p>le mot de passe est [<?php echo $_POST['MdP'];?>]!</p> <p>vos préférences sont : <?php foreach($_post['matiere'] as $valeur) { echo "Matière : $valeur <br>"; }?> </p> <p>pour recommencer la saisie, <a href="formulaire.php">cliquer ici</a>.</p> Sauvegardez le résultat. Puis affichez le formulaire HTML de départ dans votre navigateur. Saisissez votre NOM, le mot de passe 'Toto123', cochez la case 'Maths'. Copiez le résultat ci-dessous Faites d'autres essais. Éventuellement, essayez de ne rien mettre dans les champs, essayez de dépasser la taille des champs, etc. 5/10

1.5 POUR LES PLUS RAPIDES La semaine dernière, nous avons programmé un codeur et un décodeur de message (par codage de César). Sauriez-vous faire ce programme en PHP? Astuces : voici comment déclarer une fonction en PHP (n'oubliez pas les ; à la fin des instructions) <?php function nomdelafonction($param1, $param2,...) { // Bloc d'instructions return $result; }?> Coller ici votre formulaire HTML Coller ici votre code pour le codage (en PHP) 6/10

Collez ici l'ensemble du code PHP (codage et décodage) 7/10

1.6 POUR ALLER PLUS LOIN EN PHP Recherchez la différence entre la méthode GET et la méthode POST : indiquez 2 arguments importants ci-dessous Vérifiez s'il est possible de changer une méthode GET et POST dans le script du début : <p><?php echo "Bonjour ".$_POST['Nom']."!";?></p> <p>le mot de passe est [<?php echo $_POST['MdP'];?>]!</p> <p>vos préférences sont : <?php foreach($_post['matiere'] as $valeur) { echo "Matière : $valeur <br>"; }?> </p> <p>pour recommencer la saisie, <a href="formulaire.php">cliquer ici</a>.</p> 8/10

2 ANNEXES 2.1 PROBLÈME EASYPHP ET SKYPE Skype utilise parfois le port 80 et le port 443 pour recevoir des communications. Cela n'est pas nécessaire et WAMP, XAMP, EasyPHP peuvent ne pas fonctionner car, le port et déjà utilisé. Voici comment éviter que Skype se réserve les ports utiles pour les services web : Dans Skype, aller dans les options avancées, et décocher la case "Utiliser les ports 80 et 443 pour les connexions entrantes supplémentaires". 9/10

2.2 GESTION DES EXCEPTIONS PROXY (INTERNET EXPLORER) Lorsqu'un serveur proxy est configuré, toutes les requêtes web du navigateur sont redirigées vers ce serveur, sans exception. Cela empêche notamment la création et l'utilisation de site web locaux (sur le PC). Pour contourner ce problème, il faut configurer les exceptions : Cliquez sur l'icône "engrenage" et sélectionner "Options Internet". Dans l'onglet "Connexions", choisir le bouton [Paramètres Réseau] Cliquez sur le bouton [Avancé] Dans cette fenêtre, modifiez les exceptions en ajoutant : localhost 127.0.0.1 172.16.*.* (séparés par des points-virgules ";") Validez (bouton [OK] ) et redémarrez le navigateur. Vérifiez que vos paramètres sont toujours présents. 10/10