Pour développer du PHP, nous avons besoin de 3 outils : PHP, MySQL et APACHE



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

Formulaire pour envoyer un mail

TP JAVASCRIPT OMI4 TP5 SRC

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

Attaques applicatives

Module BD et sites WEB

Création de formulaires interactifs

Activités HTML. Code: act-html

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

Stockage du fichier dans une table mysql:

Failles XSS : Principes, Catégories Démonstrations, Contre mesures

Bases de Données et Internet

Formulaires et Compteurs

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

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

1. La plate-forme LAMP

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

Manuel d'installation

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

Séance d ED n 5 : HTML et JavaScript

Formation Webmaster : Création de site Web Initiation + Approfondissement

Manuel du composant CKForms Version 1.3.2

Gestion de stock pour un magasin

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

SYSTÈMES D INFORMATIONS

TD HTML AVEC CORRECTION

Hébergement de site web Damien Nouvel

Mise en place d un serveur Proxy sous Ubuntu / Debian

Installation d'une galerie photos Piwigo sous Microsoft Windows.

HTTP. Technologies du Web. Programmation Web côté serveur. Mastère spécialisé Management et nouvelles technologies, 16 novembre 2009

CREATION d UN SITE WEB (INTRODUCTION)

Mysql avec EasyPhp. 1 er mars 2006

Architectures web/bases de données

Campagnes d ings v.1.6

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

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

Bases de données et Interfaçage Web

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

INFORMATIQUE & WEB. PARCOURS CERTIFICAT PROFESSIONNEL Programmation de sites Web. 1 an 7 MODULES. Code du diplôme : CP09

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

PHP et les Bases de données - Généralités

Documentation Honolulu 14 (1)

Gestion du parc informatique matériel et logiciel de l Ensicaen. Rapport de projet. Spécialité Informatique 2 e année. SAKHI Taoufik SIFAOUI Mohammed

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

L3 informatique TP n o 2 : Les applications réseau

2 LES BASES DU HTML 19 Qu est-ce que le HTML? 20 De quand date le HTML? 20 Écrire son propre code HTML 22

INSTALLATION DE L APPLICATION DU CONTEXTE ITASTE

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

Introduction à PHP. Au sommaire de ce chapitre

Pratique et administration des systèmes

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

Programmation Web. Madalina Croitoru IUT Montpellier

Ingénieur Développement Nouvelles Technologies

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

Mise en oeuvre d un intranet à partir de logiciels Open Source avec intégration des certificats numériques et login unique

Activité sur Meteor. Annexe 1 : notion de client-serveur et notion de base de données

PDO : PHP Data Object 1/13

Comment faire pour créer ses propres pages html?

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

SYSTÈMES DE PUBLICATION POUR L INTERNET. Beatep Marie-France Landréa - Observatoire de Paris

Utiliser Reporting Services pour des NewsLetter

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

La programmation orientée objet Gestion de Connexions HTTP Manipulation de fichiers Transmission des données PHP/MySQL. Le langage PHP (2)

CREATION WEB DYNAMIQUE

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

CONFIGURATION DE LA RECEPTION DES MAILS EN POPS.

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

Installation locale de JOOMLA SEPIA

Mise en œuvre des serveurs d application

Techniques de Programmation pour Internet

laposte.net) Ministère de l'éducation nationale Atelier sécurité Rabat RALL 2007

Single Sign-On open source avec CAS (Central Authentication Service) Vincent Mathieu Pascal Aubry Julien Marchal

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.

Groupe Eyrolles, 2003, ISBN : X

Développement des Systèmes d Information

Attaques de type. Brandon Petty

Catalogue des Formations Techniques

2 Formation utilisateur

Application Web et J2EE

Mise à jour : Octobre 2011

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

SUGARCRM Sugar Open Source Guide d Installation de French SugarCRM Open Source Version 4.2

HTTP HTTP. IUT1 dpt SRC L Isle d Abeau Jean-françois Berdjugin. Introduction et architecture Messages Authentification Conclusion

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)

Chapitre 2 Accès aux partages depuis votre système d'exploitation

Mysql. Les requêtes préparées Prepared statements

Module http MMS AllMySMS.com Manuel d intégration

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

Configuration de plusieurs serveurs en Load Balancing

SERVEUR DE MESSAGERIE

Guide d'installation

Couche application. La couche application est la plus élevée du modèle de référence.

Merci d'avance de prendre le temps d'y répondre, et de nous le retourner avant le 20 octobre 2003 à l'adresse suivante :

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

Service WEB, BDD MySQL, PHP et réplication Heartbeat. Conditions requises : Dans ce TP, il est nécessaire d'avoir une machine Debian sous ProxMox

Domino, Lotus, WorkPlace sont des marques déposées IBM. Windows est une marque déposée Microsoft.

INSTALLATION DE PEGASUS MAIL 3.12 c FR Avec l interface Harp

Outil de planification en ligne pour des créations de rendez-vous ou de sondage

Transcription:

PHP et éléphant, pourquoi? Tout le monde aime ce gentil animal Il rend bien des services à l'homme Il est puissant et en même temps docile Il est rapide quand il attaque (les bases de données) Les lettres PHP forment un éléphpant Source : http://vpontier.free.fr Pour développer du PHP, nous avons besoin de 3 outils : PHP, MySQL et APACHE Le langage PHP, do you speak PHP? C'est un langage de programmation spécifique à l'utilisation de bases de données sur le web. Cela évite de passer par des langages autrement plus difficile comme Perl ou C++... PHP est un langage de script côté serveur multi-plateforme et il s'intègre parfaitement dans le code HTML y compris en utilisant des éditeurs de pages web (Dreamweaver...). Les différentes versions de PHP sont des améliorations de la version précédente ; un peu comme le HTML Ce langage fait la place belle aux sites dynamiques (le HTML est considéré comme statique). Applications et points communs : interface serveur SGBD ; administration de site ; sécurisation des pages ; forum ; sondage ; moteur de recherche...et plein d'autres applications à http://www.phpscripts-fr.net/ MySQL, Késako? Système de gestion de bases de données orienté vers le web. Il en existe d'autres mais il se trouve que MySQL reste la plus simple et la plus diffusée donc la plus accessibles (FAQ, forums...). Le langage de requête est SQL APACHE, Hugh! C'est un serveur page web que l'on peut installer sur son ordinateur. En gros, cela vous permet de tester vos scripts en local. Utile. Un autre avantage : il convient tant à des P II qu'à des 486. 1

PHP et les autres... Voici pour vous aider différents langages employés sur le web et leur rapport à la notion de client serveur. L'emploi de ces langages dépend évidemment des applications que vous voulez en faire. Côté Serveur PHP, ASP (Active Server Pages), JSP, CFM Côté Client HTML, Javascript, Java Comme vous le remarquez, ASP et PHP sont dans la même cellule, et si c'était des conccurents? ;-) Ces 2 langages de script interrogent le serveur pour générer des pages au format HTML. Compatibilité Les 2 langages sont compatibles avec les différents navigateurs du marché. La notion de compatibilité intervient surtout au niveau serveur (voir cf : ASP). Quel langage parlez-vous? (Résumé de l'article de Login du mois de Juin 2001 pour un comparatif de langages de développement de scripts) ASP Depuis peu, le langage ASP, propriétaire et développé par Microsoft, est compatible avec les serveurs UNIX, il était réservé aux serveurs Windows NT. Sites : http://www.asp-irine.com/ ; http://www.asp-fr.net/default.asp ; http://www.aspmagazine.com/ ; http://www.allhtml.com/langages/asp.php3 ; http://www.lbb.org/script/asp/ ; http://www.microsoft.com/france/msdn/technologies/asp/default.asp JSP Sun et Script. Encore peu accessible et peu rapide, ce langage de script, JSP, repose sur Java fait pourtant espérer à Sun une place de choix. Sites : http://www.trucsweb.com/java/ ; http://www.lbb.org/script/jsp/ ; http://tecfa.unige.ch/guides/tie/html/java-jsp/java-jsp.html ; http://www.javaside.com/asp/mfr.asp?page=/fr/servlet/jsp.shtml ; http://www.commentcamarche.net/ ; CFM Langage développé par Cold Fusion. Langage de script assez simple à appréhender mais ses performances (par rapport au PHP et son peix sont à son désavantage). Sites : http://www.lbb.org/script/cfm/ ; http://support.alphamedia.fr/doc_support/default.cfm?c_company=1&id_product=3 http://www.alphamedia.fr/products/allaire/coldfusion.cfm PHP Langage développé en 1994 (premier script) par Rasmus Lerdorf. Langage de plus en plus accessible, avantageux par son prix, ses solutions logicielles et ses applications. Sites : http://www.lbb.org/script/php/ ; http://www.commentcamarche.net/ ; http://vpontier.free.fr ; http://www.phpscripts-fr.net/ ; http://www.phpscripts-fr.net/?page=presentation-php ; http://ganesha.free.fr 2

Cas concrets A) premiers exemples en PHP (hello world, phpinfo(), bonjour...) B) cas d une page accessible par identifiant et mot de passe C) rappel de la création d'un formulaire en HTML et récupération des données du formulaire sur email. D) création d'un formulaire et récupération des données par la fonction mail() / PHP 3

A) Etant donné que PHP est un langage côté serveur, les instructions incluses dans un fichier ne se verront pas côté client. Exemple 1 Exemple 2 <head> <head> <title>hello world</title> <title>phpinfo</title> </head> </head> <body> <body> <?php <?php echo "hello world"; phpinfo(); Copiez-collez ce code dans notepad, enregistrez et donnez le nom hello.php et ouvrez ce fichier dans le navigateur Remarque <?php commence le script ferme le script echo appelle un le contenu Les encadrent le contenu appelé le ; se place à la fin de chaque instruction Autre exemple 2 fichiers : test.html et test.php3 Récupérer des données d'un formulaire dans un fichier test.html test.php3 <body bgcolor="#ffffff" text="#000000"> <!-- ici le début du formulaire : lse données ($variable) du formulaire sont traitées par test.php - -> <br>bonjour, quel est ton nom? <FORM type="post" action="test.php3"> <input type="text" name="mavariable" value="toto"> <input type="submit" value="ok"> </form> <head> <title>bonjour nono</title> </head> <body> <?php echo "bonjour ".$mavariable; 4

B) Accéder à une page protégée par un identifiant et un mot de passe. Il nous faut 3 fichiers. Identifier.htm extranet.php beatep (nom du fichier = identifiant) fichier contient en clair le mot de passe Voici identifier.htm <body bgcolor="#ffffff"> <form method="post" action="extranet.php3"> <p>identifiant? <input type="text" name="id"> Mot de passe? <input type="password" name="passw"> </p> <p> <input type="submit" name="submit" value="envoyer"> </p> </form> Remarque <Form> marque la création d'un formulaire (nous sommes toujours en HTML). Method= post marque l'envoi de données vers action= extranet.php3 > Accéder à cette page <input type= text name= id >champ de type texte ; id est le nom du champ <input type= password name= passw > champ de type password ; passw est le nom du champ et le contenu est crypté. Voici extranet.php3 <body bgcolor="white" text="black"><? function pass($id) { $fp = fopen ("$id", "r"); if (!$fp) { echo "désolé, votre identification n'est pas correcte </p> <A href=\"identifier.htm\"> recommencer /A>" ; exit ; } $password = fgets ($fp, 4096); fclose ($fp); return $password ; } <p> </p><? if ($passw!= pass($id)) { echo "désolé, votre identification n'est pas correcte </p> <A href=\"identifier.htm\"> recommencer /A>" ; exit ;} <br>bonjour et bienvenue sur la page réservée aux membres du beatep animateur multimédia 2001. Remarque Cette partie du script concerne l'identifiant. Id est traitée comme une variable $ fopen ouvre en lecture seule ( r ) Si l'identifiant n'est pas correcte ; retour à la page identifier.htm </a> boucle le lien ; boucle l'instruction ferme le script 5

C) Nous avons besoin ici d'un formulaire en HTML. Les données de ce formulaire seront renvoyées par email. Voici le fichier form1.html <body bgcolor="#ffffff" text="#000000"> <!-- ici le début du formulaire avec la ligne qui envera le resultat à l'adresse e-mail correspondant à la page free l'hebergeant --> <FORM METHOD=POST ENCTYPE="text/plain" ACTION="mailto:garciaweb@free.fr"> <!--les données seront envoyées (post) par email (action...) sur garciaweb@free.fr en mode texte (enctype= text/plain --> <br><center><b>qui êtes-vous?</b></center> <br>titre de civilité <br><input type= radio name= titre value= madame checked>madame <input type= radio name= titre value= mademoiselle >Mademoiselle <input type= radio name= titre value= monsieur >Monsieur <!-- value= titre : titre est la valeur donnée par défaut --> <!-- la valeur name= titre... servent à identifier les données (savoir quelles données correspondent à quels champs) que vous recevrez par email ; vous aurez ainsi titre=monsieur ; nom=garcia... --> <br>nom Prénom <input type="text" name="nomprenom" value="" size=40> <br>adresse email <input type="text" name="email" value="" size=40> <br>profession <br><select name= profession > <option selected>animateur</option> <option>formateur</option> <option>professeur</option> </select> <!-- option selected : sélectionne par defaut une valeur --> <br>vos commentaires <br><textarea name="comments" cols="50" rows="10" wrap="virtual"></textarea> <br><input type="reset" name="reset" value="effacer"> <input type="submit" name="ok" value=" OK!"> </form> <!-- ici la fin du formulaire Résumé : name=text : champ de type text ; name=password : champ de type crypté ; name=checkbox : champ de type case à cocher ; name=radio : champ de type bouton radio ; <textarea name comments : champ de type texte rallongé ; <select name...><option> : liste déroulante--> 6

D) Nous avons besoin ici de 2 fichiers envoimail.html (formulaire en HTML) faisant appel à envoimail.php3 pour traiter sa requête et récupérer les données par email. Cela évite, comme précédemment de faire appel à son logiciel de messagerie. Voici envoimail.html <body> <FORM METHOD="post" ACTION="envoimail.php3" NAME="formulaire"> Adresse E-mail de l'expéditeur <INPUT TYPE="text" NAME="email1" SIZE=30 MAXLENGTH=50> Adresse E-mail du destinataire <INPUT TYPE="text" NAME="email2" SIZE=30 MAXLENGTH=50> Titre du message <INPUT TYPE="text" NAME="titre" SIZE=30 MAXLENGTH=50> Message <TEXTAREA NAME="message" COLS=30 ROWS=6 WRAP="SOFT"> </TEXTAREA> <input type="reset" name="reset" value="effacer"> <input type="submit" name="ok" value="ok!"> </FORM> Voici maintenant envoimail.php3 <HTML> <BODY BGCOLOR="#FFFFFF"> <? $headers="from: ".$email1; mail($email2,$titre,$message,$headers); </BODY> </HTML> Commentaires <? ouvre le script $ est attaché à la variable $headers (entête du message) = from : ".$email1; (expéditeur) fonction mail($nomchamp1 (name),$nomchamp2,$nomchamp3...); ; ferme l'instruction ferme le script Commentaires Les données saisies dans envoimail.html seront traitées par envoimail.php3 et renvoyées sur l'email du compte auquel il est rattaché. 7

Les packages PHP, MySQL et Apache EasyPHP disponible sur http://www.easyphp.org Easyphp1.1.exe (détail de l'installation sur http://www.manucorp.com/easyphp.php3) QuickPHP disponible sur http://www.phpinfo.net/?p=fichiers&rub=packages et d'autres packages... Où abriter votre éléphant et votre base de données? Voici une liste d'hébergeurs qui abriteront vos scripts (PHP) et votre base de données (MySQL) http://www.free.fr http://www.nexen.net http://www.forez.com http://www.citeglobe.com/ Bibliographie Programmation en PHP L. Artkinson Editions Campus Press 464 pages 199 FF Syntaxe du langage et revue des fonctions, le tout illustré. Ce qui en fait un bon ouvrage pour les débutants. PHP précis et concis R. Lerdorf Editions O Reilly 114 pages 50 FF Un bon ouvrage pour débuter (bases du langage, fonctions) 8

Grand Livre PHP4 & MySQL G. Leirer R. Stoll Editions Micro Application 480 pages Accompagné d'un CDRom 209 FF Nombreux exemples traitant de PHP et de MySQL. (Source : www.phpindex.com) Programmation Web en PHP L. Lacroix... Editions Eyrolles 364 pages Accompagné d'un CDRom (théoriquement) 230 FF Structure du langage, exemples, accès aux bases de données... Pratique de MySQL et PHP Philippe Rigaux Editions de O Reilly 370 pages 190 FF Un bon ouvrage pour aborder, de manière accessible, les bases du langage, la syntaxe, le developpement en PHP et la connectivité avec une base de données. N.B : un ouvrage que j'ai consulté et disponible auprès de Henri. Hors-série Login http://www.horsserielogin.com Mois de Juin : Spécial PHP Un CDRom accompagne ce hors-série contenant scripts prêts à l'emploi, les serveurs (Apache...), packages, MySQL... (Source : ouvrages consultés ou acquis en librairie ou en point presse) Rédaction du document : Bruno garciaweb@yahoo.fr Soutien technique : Henri henri.gabolde@laposte.net 9