Programmation PHP Détail du stage Public : Introduction à la programmation des sites web dynamiques Tout agent devant créer ou maintenir un site internet ou intranet dynamique Objectifs pédagogiques : Maîtriser la programmation en langage PHP pour le développement de sites Web dynamiques Pré-requis : Connaître les bases du langage HTML (c) Pierrick Doré - www.dsi-atlantic.com Contenu du stage Approfondissement du langage HTML Découverte de l'architecture dynamique des sites Les bases du langage PHP L'initiation aux bases de données MySql Création d'un site Internet/Intranet dynamique Sécurisation de ces sites Plan du cours Introduction Présentation de l'architecture WAMP / LAMP Rappels HTML Introduction au langage PHP Utilisation de MySQL Exercices d'application
Introduction Quelques définitions Le modèle client Serveur Fonctionnement d'un serveur web Les protocoles Introduction Jadis, les entreprises «dans le coup» s'affichaient sur l'internet à l'aide d'un site web simple qui était le plus souvent la retranscription en ligne de leur plaquette papier... Introduction Désormais, les Internautes souhaitent pouvoir consulter des catalogues de produits en ligne, effectuer des commandes, vérifier le solde de leurs comptes en banque ou encore payer leurs impôts directement... en limitant au maximum les intermédiaires. Le temps des sites web statiques développés avec des pages HTML est définitivement révolu... Intro. : Quelques définitions Internet : (INTERconnected NETworks) Réseau informatique mondial constitué d'un ensemble de réseaux plus petits (nationaux, régionaux) interconnectés entre eux par le protocole de communication TCP/IP Intranet : Réseau informatique privé ou interne à une entreprise (LAN & MAN) qui utilise les protocoles de communication et les technologies du réseau Internet. Extranet : Ouverture partielle d'un Intranet vers l'extérieur, via le protocole Internet, pour des personnes autorisées et sélectionnées (par ex. : clients ou fournisseurs)
Intro. : Quelques définitions Intro. : Principes du client / serveur Navigateur web : Programme informatique client capable d'interpréter du code HTML et d'en afficher une représentation à l'écran. 1. requête Protocole Client(s) 2. réponse serveur Intro. : Fonctionnement d'un serveur Web Intro. : Les protocoles 3 : to 163.173.128.121:80 GET /index.php?c=1 HTTP/1.1 Host: www.cnfpt.fr User-Agent: Mozilla/5.0... Accept: text/html... Accept-Language: fr,en Accept-Encoding: gzip,deflate Accept-Charset: ISO-8859-1, utf-8;q=0.7,*;q=0.7 Keep-Alive: 300 Connection: keep-alive Referer: http://www.google.fr 211.180.12.8 1 : who is www.cnfpt.fr? 2 : www.cnfpt.fr is 62.4.78.153 DNS 62.4.78.153 HTTP 4 : to 211.180.12.8 HTTP/1.1 200 OK Date: Wed, 10 May 2006 09:12:04 Server: Apache/1.3.33 (Unix) X-Powered-By: PHP/4.3.10 Pragma: no-cache Content-Type : text/html Content-Encoding: gzip Content-Length: 5357 <html> Protocole réseau : Description formelle des messages et des règles que deux ordinateurs doivent respecter pour échanger des messages. De bas niveau (entre les interfaces réseau) : Ex : TCP, UDP,... voir le fichier protocol de windows De haut niveau (entre les programmes) : Ex : HTTP, FTP, SMTP,... voir le fichier services de windows
Intro. : Les protocoles de bas niveau Définissent les règles de communication entre les interfaces réseau Orienté connexion : La machine émettrice : Établit une connexion avec la machine réceptrice Envoie un flot de données La machine réceptrice : Reçoit et contrôle la validité des données Informe l'émetteur par un avis de réception Le cas échéant, elle demande de renvoyer le flot de données erronées TCP (Transmission Control Protocol) est un protocole orienté connexion Intro. : Les protocoles de bas niveau Non orientés connexion Protocole adapté à la diffusion audio/video La machine émettrice envoie des données (blocs ou datagrammes) sans prévenir la machine réceptrice La machine réceptrice reçoit les données sans envoyer d'avis de réception à la première. UDP (User Datagram Protocl) est un protocole non orienté connexion Intro. : Les protocoles de haut niveau Définissent les règles de communication entre des programmes dans un environnement client/serveur Protocoles les plus connus : HTTP (HyperText Transfer Protocol) pour les pages web FTP (File Transfer Protocol) pour l'échange de fichiers SMTP (Simple Mail Transfer Protocol) pour envoyer des emails à un correspondant POP (Post Office Protocol) pour récupérer ses emails (...) Intro. : Le protocole HTTP HTTP (HyperText Transfer Protocol) Protocole de communication permettant de transférer un fichier (HTML, image, feuille de style, etc...) localisé par son URI entre un serveur HTTP et un navigateur Web. Son n de port serveur est 80 Défini par les RFC 1945 (HTTP 1.0) et RFC 2610 (HTTP 1.1)
Intro. : Le protocole HTTP Le protocole HTTP utilise la notion d'uri (Uniform Resource Identifier) pour indiquer l'objet auquel s'applique les requêtes du protocole (RFC 1738 et 1808) Les types MIME (Multipurpose Internet Mail Extensions) pour typer les données échangées (RFC 1521) Intro. : Exemple de requête HTTP GET / HTTP/1.1 Host: www.cnfpt.fr User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.0.3) Gecko/20060426 Firefox/1.5.0.3 Accept: text/xml, application/xml, application/xhtml+xml, text/html;q=0.9, text/plain;q=0.8, image/png, */*;q=0.5 Accept-Language: fr, fr-fr;q=0.8, en;q=0.5, en-us;q=0.3 Accept-Encoding: gzip, deflate Accept-Charset: ISO-8859-1, utf-8;q=0.7,*;q=0.7 Keep-Alive: 300 Connection: keep-alive Referer: http://www.google.fr/search?q=cnfpt&start=0&ie=utf-8&oe=utf- 8&client=firefox-a&rls=org.mozilla:fr:official Intro. : La réponse du serveur HTTP HTTP/1.1 302 Found Date: Wed, 10 May 2006 14:09:27 GMT Server: Apache/1.3.33 (Unix) PHP/4.4.1 mod_ssl/2.8.22 OpenSSL/0.9.7i X-Powered-By: PHP/4.4.1 Location: fr/accueil.php? Keep-Alive: timeout=2, max=100 Connection: Keep-Alive Transfer-Encoding: chunked Content-Type: text/html Intro. : Nouvelle requête corrigée GET /fr/accueil.php? HTTP/1.1 Host: www.cnfpt.fr User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.0.3) Gecko/20060426 Firefox/1.5.0.3 Accept: text/xml, application/xml, application/xhtml+xml, text/html;q=0.9, text/plain;q=0.8, image/png, */*;q=0.5 Accept-Language: fr, fr-fr;q=0.8, en;q=0.5, en-us;q=0.3 Accept-Encoding: gzip, deflate Accept-Charset: ISO-8859-1, utf-8;q=0.7,*;q=0.7 Keep-Alive: 300 Connection: keep-alive Referer: http://www.google.fr/search?q=cnfpt&start=0&ie=utf-8&oe=utf- 8&client=firefox-a&rls=org.mozilla:fr:official
Intro. : La réponse du serveur HTTP HTTP/1.1 200 OK Date: Wed, 10 May 2006 14:09:29 GMT Intro. : Du coté du navigateur... Server: Apache/1.3.33 (Unix) PHP/4.4.1 mod_ssl/2.8.22 OpenSSL/0.9.7i X-Powered-By: PHP/4.4.1 X-Cache: jpcache vv2 - file ETag: "jpd-369675562.6890" Content-Encoding: gzip Keep-Alive: timeout=2, max=99 Connection: Keep-Alive Transfer-Encoding: chunked Content-Type: text/html a40 xúµyýr½>n BlgH;1½6$eaz0 5u 0mo<ò ì(ìj uâw=êô çß% 7ÓCÜ«èóJ»ëuâ@`ZÃ`ïJzŸ O (...) Intro. : Les commandes de requête HTTP Commande GET HEAD POST PUT DELETE Description Requête de la ressource située à l'url spécifiée Requête de l'en-tête de la ressource située à l'url spécifiée Envoi de données au programme situé à l'url spécifiée Envoi de données à l'url spécifiée Suppression de la ressource située à l'url spécifiée Nom de l'en-tête Accept Accept-Charset Accept-Encoding Accept-Language Authorization Content-Encoding Content-Language Content-Length Content-Type Date Forwarded From From Link Orig-URL Referer User-Agent Intro. : Les entêtes de requête HTTP Description Type de contenu accepté par le browser (par exemple text/html). Voir types MIME Jeu de caractères attendu par le browser Codage de données accepté par le browser Langage attendu par le browser (anglais par défaut) Identification du browser auprès du serveur Type de codage du corps de la requête Type de langage du corps de la requête Longueur du corps de la requête Type de contenu du corps de la requête (par exemple text/html). Voir types MIME Date de début de transfert des données Utilisé par les machines intermédiaires entre le browser et le serveur Permet de spécifier l'adresse e-mail du client Permet de spécifier que le document doit être envoyé s'il a été modifié depuis une certaine date Relation entre deux URL URL d'origine de la requête URL du lien à partir duquel la requête a été effectuée Chaîne donnant des informations sur le client, comme le nom et la version du navigateur, du système d'exploitation
Nom de l'en-tête Intro. : Les entêtes de réponse HTTP Content-Encoding Content-Language Content-Length Content-Type Date Description Type de codage du corps de la réponse Type de langage du corps de la réponse Longueur du corps de la réponse Type de contenu du corps de la réponse (par exemple text/html). Voir types MIME Date de début de transfert des données Intro. : Les URLs URI (Uniform Resource Identifier) URL (Uniform Resource Locator) Format de nommage universel pour désigner une ressource sur Internet. Expires Forwarded Location Server Date limite de consommation des données Utilisé par les machines intermédiaires entre le browser et le serveur Redirection vers une nouvelle URL associée au document Caractéristiques du serveur ayant envoyé la réponse Exemple : ftp://user:password@ftp.test.net:21/pub/linux/ls.tgz Intro. : Les URLs Intro. : Les URLs Se décomposent en cinq parties : 1. Le nom du protocole : langage utilisé pour communiquer avec le destinataire (ex. : http://) 2. Identifiant et mot de passe : permet de spécifier les paramètres d'accès à un serveur sécurisé. déconseillé car le mot de passe est visible dans l'url (signets!) (ex. : login:pass@ ) 3. Le nom du serveur :nom de domaine ou adresse ip de l'ordinateur hébergeant la ressource demandée. (Ex. : www.cnam.fr) 4. Le numéro de port : numéro du service demandé sur le serveur (par defaut : 80 = http) 5. Le chemin d'accès à la ressource : emplacement (répertoire) et le nom du fichier demandé ( /index.htm) Exemple : ftp://user:password@ftp.test.net:21/pub/linux/ls.tgz
Intro. : Les types MIME MIME : (Multipurpose Internet Mail Extension) Standard proposé par les laboratoires Bell Communications en 1991 pour permettre d'insérer des objets multimédia (images, sons, texte,...) dans un courrier électronique. Egalement utilisé sur le Web, pour typer les documents transférés par le protocole HTTP afin d'indiquer au navigateur comment interpréter les données. Défini par la RFC 1341 et RFC 1343 Liste Exemple : 'Content-type: image/gif' -> images gif Intro. : Les serveur DNS DNS : (Domain Name System) Tout ordinateur directement connecté à l Internet est identifié par une adresse IP unique. Il est plus facile de retenir et de manipuler le nom d un serveur sous sa forme FQDN (www.cnam.fr) plutôt que son adresse ip (163.173.128.121) À l origine, la correspondance FQDN adresse ip était enregistrée dans un fichier (host) qu il fallait télécharger régulièrement Ce fichier devenant beaucoup trop volumineux, il a cédé sa place à un système plus astucieux : le DNS Intro. : Les serveur DNS Intro. : Fonctionnement du DNS Le serveur DNS est un serveur de base de données distribué qui effectue la corrélation entre les adresses IP et le(s) nom(s) de domaine(s) associé(s) et vice versa. 8: cnfpt.fr is 62.4.78.153 DNS 1 : who is cnfpt.fr? 2 : Req. cnfpt.fr? 3 : No. Req NS for.fr 4 : Req.fr cnfpt.fr? 5 : No. Req NS for.cnfpt.fr 6 : Req.cnfpt.fr cnfpt.fr?.com 7 : YES: 62.4.78.153..fr.org.dsi.cnfpt.linux
Présentation LAMP : l'architecture Fonctionnement général LAMP : Fonctionnement 1. 1. Le client demande une page.php au serveur web (via son url) 2. La page source est interprétée par l interpréteur php 3. l interpréteur php exécute les requêtes sql contenues dans la page php 4. l interpréteur php retourne au serveur web la page html fusionnée 5. le serveur web transmet cette page au client Elements constitutifs Navigateur client 5. 2. HTML + code PHP + SQL Page HTML 3. SGBDR Plate forme : Linux / Windows Serveur web : Apache 4. Interpréteur : PHP Mysql LAMP : Elements constitutifs Elements constitutifs Linux / Windows : La plate forme d'execution Apache : Le serveur web Mysql : le serveur de base de donnée PHP : le langage de programmation LAMP : La plate forme d'execution Machine serveur support de l'architecture Fonctionne généralement sous Linux ou Windows d'autres machines peuvent recevoir ce type d'architecture (ex. : Mac Os ou Unix)
LAMP : Le serveur Web "frontal" Serveur qui support le protocole HTTP Généralement : Apache C'est lui qui répond directement aux requêtes du client (navigateur web) LAMP : Le serveur de base de données Mysql : le plus populaire Il stocke toutes les données de l'application Ce serveur propose un langage de définition et d'interrogation des donnée : SQL Ex : Select * From User Where login='toto'; retourne toutes les informations de la table user pour l'utilisateur 'toto' LAMP : Le Langage PHP C'est le langage de script qui sert la logique applicative Il est généralement intégré au serveur web sous la forme d'un module L'interpréteur php peut etre configuré dans le fichier php.ini LAMP : L'architecture web Tous les composants peuvent etre situés : Sur une même machine (ex. : EasyPHP) Sur 2 machines (Apache+PHP sur une machine et MySQL su une autre) Sur de nombreuses machines (architecture n-tiers) pour assurer la haute disponibilité (répartition de charge et/ou failover)
EasyPHP : Présentation EasyPHP installe et configure automatiquement un environnement de travail complet sous Windows permettant de mettre en oeuvre toute la puissance et la souplesse qu'offrent le langage dynamique PHP et son support efficace des bases de données. EasyPHP : Composition EasyPHP regroupe : Le serveur web Apache Une base de données Mysql Le langage PHP L'outil PhpMyadmin Des outils de gestion des serveurs Dans un seul et même programme... -> le tout déjà configuré! Permet de disposer de sa propre architecture WAMP perso : Simplement et gratuitement! EasyPHP : Installation HTML : Les pages "Web" Présentation Application / limitation de HTML Document (x)html minimum bien formé Les balises les plus courantes
HTML : Présentation HTML : (HyperText Markup Language ) Langage de mise en forme des documents hypertexte (pages Web). standard initié par le W3C, issu de SGML compatible avec tous les systèmes codé en ASCII sur 7 bits transporté par le protocole http affichable par un navigateur Web (browser) inclue des balises de formatage textuel <font> HTML : Application / limitation Applications : Affichage de pages multimédia liées entre elles sur Internet Limitations : Relativement statique Apparence n'est pas garantie Langage de programmation intégré (javascript, vbscript) ne permet pas l'interrogation des bases de données distantes HTML : Structure du document Une page HTML est toujours composé Des balises d'ouverture et de fermeture : <html>...</html> D'un entete (<head>...</head>) qui contient des renseignements qui ne seront pas affichées dans le document par le navigateur web comme : le titre (en haut de la fenetre) les balises metas (name et/ou http-equiv) HTML : Document bien formé Le Doctype : Indique quelle norme est respectée par le code contenu dans la page HTML et donne un lien vers sa DTD. C'est un critère de qualité du code html Autorise l'analyse du code par un parser XML (xhtml) les liens vers d'autres fichiers (javascript, css,...) Du corp (<body></body>) qui comprend le texte, les images et autres informations du document
(X)HTML : Document bien formé (X)HTML : Document bien formé Depuis le 26 janvier 2000, le XHTML est la nouvelle norme du W3C en matière de langage balisé pour concevoir des documents Web. Exemple : <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/tr/xhtml11/dtd/xhtml11.dtd"> HTML : Les balises HTML : les balises de style Les balises de style Les titres Les paragraphes Les listes Les tableaux Les liens hypertextes Les images Les formulaires Les méta tags
HTML : Les titres HTML : Les paragraphes HTML : Les listes HTML : Les tableaux
HTML : Les liens hypertextes HTML : Les images HTML : Les formulaires (1) HTML : Les formulaires (1)
HTML : Les formulaires (2) HTML : Les formulaires (2) HTML : Les méta tags Balises spéciales situées dans l'en-tête du document (<head></head) Non affichées par les navigateurs HTML : Les méta tags 2 types : Les Metas NAME : pour décrire le contenu d'une page html Les Metas HTTP-EQUIV : pour envoyer des informations au navigateur via le protocole HTTP Syntaxe : <meta name="nom" content="attribut"> <meta http-equiv="nom" content="attribut">
PHP : Le langage Introduction Premiers pas avec PHP Les bases du langage Quelques exemples de code PHP : Introduction Les origines : Mis au point en 1994 par Rasmus Lerdorf A l'origine, ce langage lui permettait de conserver dans une base de donnée la trace des visiteurs qui consultaient leur cv sur son site web. Il mit en ligne la première version qu'il baptisa Personal Sommaire Page Tools puis Personal Home Page v1.0 en 1995 pour devenir enfin : Hypertext Preprocessor PHP/FI v2 durant l'été 1995 PHP3 le 6 juin 1998, PHP4 fin 1999, puis PHP5 PHP : Introduction Pourquoi programmer en PHP? PHP est gratuit Contrairement à d'autres technologies propriétaires (comme ASP ou ColdFusion) vous ne devez verser aucun droit pour développer vos propres applications web. PHP est simple à programmer C'est un langage interprété qui s'insère simplement dans le code html d'une page web PHP : Introduction Pourquoi programmer en PHP? PHP est très populaire Une grande communauté de développeurs partagent leurs codes et leurs expériences sur l'internet Il est supporté par la majorité des hébergeur sur Internet PHP est portable Votre application web PHP fonctionnera indifférement sur un serveur UNIX, Macintosh ou Windows
PHP : Introduction PHP : C'est quoi? Un script PHP est un simple fichier texte contenant des instructions incluses dans un code HTML à l'aide de balises spéciales et stockées sur le serveur. Ce fichier doit avoir l'extension «.php» pour pouvoir être interprété par le serveur. Le code PHP stocké sur le serveur n'est donc jamais visible directement par le client puisque dès qu'il en demande l'accès, le serveur l'interprète! De cette façon aucune modification n'est à apporter sur les navigateurs. Source : http://www.nexen.net PHP : Pour quoi faire? Typiquement, le langage PHP est utilisé pour : Analyser les données soumises par un formulaire HTML Communiquer avec des SGBDR Effectuer des calculs «à la volée» Ce langage couplé à un SGBRD permet aux développeurs de réaliser des sites web dynamiques. Connexion à des bases de données, envoi de mail, production d'image, génération de documents... PHP : Comment ça marche? Lorsque le navigateur du client demande au serveur une page dynamique réalisé en PHP : le serveur reconnait l'extension (.php) d'un fichier PHP et le transmet à l'interpréteur PHP Dès que l'interpréteur rencontre une balise php (<?php), il exécute le contenu jusqu'à la fin (?>) L'interpréteur exécute l'instruction puis envoie les sorties éventuelles au serveur A la fin du script, le serveur web (apache) transmet le résultat (html) au navigateur du client.
PHP : premiers pas... PHP : Questions 1? 1.Que contient une page PHP? a) Uniquement du PHP b) Du code php et du HTML c) Uniquement du HTML 2.Que contient une page PHP générée par le serveur? a) Uniquement du php b) Du code PHP et du HTML c) Uniquement du HTML 3.Qui exécute le code PHP? a) Le client (le navigateur) b) Le serveur c) Les deux PHP : Question 2? 1. Quelle est le balise dans laquelle on tape du code PHP? a) <* *> b) <% %> c) <?php?> 2. Quelle instruction permet d'afficher du texte? a) Echo b) Affiche c) Write 3. Quel symbole termine chaque instruction en PHP? a) Le point b) Le point-virgule c) Le slash Les bases du langage http://fr.php.net/manual/fr/langref.php La syntaxe de base Les types Les variables Les constantes Les expressions Les opérateurs Les structures de contrôle Les fonctions
PHP : les bases du langage Les variables Pas de déclaration préalable Son type est automatiquement défini par sa valeur Utilisable jusqu'à la fin du script (page.php) Commencent par le préfixe $ Le caractère d'affectation est = Exemple : $a = 12; PHP : Les bases du langage Les variables Exemples : $MaVariableEntier = 12; $MaVariableDecimal = 3.1415927; $MaVariableChaine = "Bonjour"; $Result += 5; // equiv à $Result = $Result + 5; $Texte = $MaVariableChaine; $Texte.= "Pierrick" // $Texte contient "Bonjour Pierrick" PHP : Les bases du langage Portée des variables 3 niveaux de visibilité pour une variable : Le niveau GLOBAL : La variable est visible dans la totalité du code d'une page PHP Le niveau LOCAL : La variable n'est visible qu'à l'intérieur d'une fonction et disparaît après son exécution. Le niveau STATIC : La variable n'est visible qu'à l'intérieur d'une fonction et persiste jusqu'à la fin d'une page de code PHP PHP : Les bases du langage Les constantes Pour définir une constante, il suffit d'utiliser l'instruction define Exemple : <?php?> define ("MACONSTANTE", "Bonjour"); if (defined("maconstante")) { Echo "La valeur de ma constante est :".MACONSTANTE; }
PHP : les bases du langage Les tableaux Comme dans tous les langages, les tableaux sont une structure de données incontournables. La déclaration d'un tableau se fait comme une variable (préfixé par $) L'indice du tableau se trouve entre [ et ] PHP : Les bases du langage Les tableaux Exemples : $MonTableau[0] = 1; $MonTableau[] = 23; // = $MonTableau[1] = 23; $MonTableau[] = 18; // = $MonTableau[2] = 18; $MonTableau[0][0] = 1; // Tableau à 2 dimensions PHP : Les bases du langage Les opérateurs arithmétiques : PHP : Les bases du langage Les opérateurs de comparaisons $a + $b : Addition Somme de $a et $b. $a - $b : Soustraction Différence de $a et $b. $a * $b : Multiplication Produit de $a et $b. $a / $b : Division Quotient de $a et $b. $a % $b : Modulo Reste de $a divisé par $b $a == $b : Egal Vrai si $a est égal à $b. $a!= $b : Différent Vrai si $a est différent de $b. $a <> $b : Différent Vrai si $a est différent de $b. $a < $b : Plus petit Vrai si $a est strictement < à $b. $a > $b : Plus grand Vrai si $a est strictement > à $b. $a <= $b : Inf. ou = Vrai si $a est plus petit ou égal à $b. $a >= $b : Sup. ou =l Vrai si $a est plus grand ou égal à $b
PHP : Les bases du langage Les opérateurs logiques PHP : les bases du langage Les opérateurs d'incrémentation $a and $b : ET (And) Vrai si $a ET $b sont vrais. $a or $b : OU (Or) Vrai si $a OU $b est vrai $a xor $b : XOR (Xor) Vrai si $a OU $b est vrai, mais pas les 2.! $a : NON (Not) Vrai si $a est faux. $a && $b : ET (And) Vrai si $a ET $b sont vrais. $a $b : OU (Or) Vrai si $a OU $b est vrai. ++$a : Pré-incrémente Incrémente $a de 1, puis retourne $a. $a++ : Post-incrémente Retourne $a, puis l'incrémente de 1. --$a : Pré-décrémente Décrémente $a de 1, puis retourne $a. $a-- : Post-décrémente Retourne $a, puis décrémente $a de PHP : Les bases du langage Les structures de controle Les conditions If, elseif, else Switch, case, else True et false PHP : Les conditions if... elseif... else <?php?> if ( $a > $b ) { echo "$a est plus grand que $b"; } elseif ($a == $b) { echo "$a est égal à $b"; } else { echo "$a est plus petit que $b"; }
PHP : Les conditions True et False <?php?> $a = 0; if (!$a) { // == if ($a not true) echo "il est vrai que $a est faux"; } else { } echo "il est faux que $a est faux"; PHP : Les conditions Switch... case Exemple : <?php?> switch ($i) { case 0 : echo "i égale 0"; break; case 1 : echo "i égale 1"; break; default : echo "i n'est ni égal à 0, ni à 1"; } PHP : les bases du langage Les structures de controle Les boucles (structures itératives) while... for... break <?php?> PHP : La boucle While... $i = 0; while ($i <= 5) { echo $i.'<br>'; $i++; }
PHP : Les boucles For... PHP : L'interruptions Break <?php?> for ($i = 0; $i <=5; $i++) { echo $i.'<br>'; } <?php for ($i = 0; $i <=5; $i++) { if ($i == 4) break; echo $i.'<br>'; } echo "fin de la boucle";?> PHP : les bases du langage Les fonctions utilisateur Le programmeur peut créer ses propres fonctions C'est une sorte de sous programme de type boite noire qui retourne une ou plusieurs valeurs Une fonction peut etre appelée depuis n'importe quelle partie du code principal Avantages : Meilleure lisibilité du code Maintenance facilitée Gain de productivité. PHP : les fonctions utilisateur <?php?> function carre ($num) { $calcul = $num * $num; return $calcul; } echo carre (5); // affiche '25'. echo $calcul; // affiche?
MySQL : La Base de Donnée Présentation Utilisation de l'outil : PhpMyadmin Lire des données avec PHP Ecrire des données avec PHP MySQL : Présentation Mysql est un serveur de bases de données relationnelles Caractéristiques : Logiciel libre Fonctionne sur de multiples plate-forme, Integre le langage de définition et de manipulation de donnée SQL Robuste et très rapide (en lecture), Très populaire MySQL : L'outil PHPMyAdmin MySQL : L'outil PHPMyAdmin Interface web de gestion des bases de données MySQL écrite en PHP Permet de créer, modifier et supprimer des bases de données, des tables ou des données dans MySQL sans connaissance de SQL Logiciel libre Très pratique Très populaire Documentation en ligne
Mysql : se connecter avec PHP <?php?> $link = mysql_connect("localhost", "mysql_user", "mysql_password") or die("impossible de se connecter : ". mysql_error()); echo 'Connexion réussie'; mysql_close($link); MySQL : Lire des données avec PHP <?php?> mysql_connect("localhost", "mysql_user", "mysql_password") or die("impossible de se connecter : ". mysql_error()); mysql_select_db("mydb"); $result = mysql_query("select id, name FROM mytable"); while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { } printf("id : %s Nom : %s", $row["id"], $row["name"]); mysql_free_result($result); Application : exercices pratiques 'Hello World!' Calculatrice simple Envoie d'un formulaire Mini gestionnaire de portail HTML Liens : http://www.megagiciel.com/conseils/cours-html/ http://cyberzoide.developpez.com/html/ PHP : http://fr.php.net http://www.iutenligne.net/ressources/informatique/ Roose/exosphp/index.html
Merci pour votre attention! Ce diaporama a été conçu avec le logiciel libre : OpenOffice.org Impress v2.0.2