Bases de données et Sites Web. Li345 Le langage PHP 2 ème partie. généralités tableaux structures de contrôle

Documents pareils
Programmation Web. Madalina Croitoru IUT Montpellier

INTRODUCTION A JAVA. Fichier en langage machine Exécutable


Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

Introduction à MATLAB R

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

Notions fondamentales du langage C# Version 1.0

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

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

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

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.

Introduction au langage C

IN Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

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

Programmer en JAVA. par Tama

Algorithmique et Programmation, IMA

as Architecture des Systèmes d Information

STAGE IREM 0- Premiers pas en Python

Mysql avec EasyPhp. 1 er mars 2006

Plan Général Prévisionnel (1/2) (non contractuel) Internet et Outils L1/IO S2-IO2 Bases de données: Jointures, Transactions

Plan du cours. Historique du langage Nouveautés de Java 7

Structure d un programme et Compilation Notions de classe et d objet Syntaxe

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples

TP 1. Prise en main du langage Python

Cours de C++ François Laroussinie. 2 novembre Dept. d Informatique, ENS de Cachan

Introduction à l algorithmique et à la programmation M1102 CM n 3

CREATION d UN SITE WEB (INTRODUCTION)

Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre Enrica.Duchi@liafa.jussieu.fr

Hébergement de site web Damien Nouvel

INF 321 : mémento de la syntaxe de Java

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

Cours d algorithmique pour la classe de 2nde

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)

Bases de programmation. Cours 5. Structurer les données

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

Stockage du fichier dans une table mysql:

Magento. Magento. Réussir son site e-commerce. Réussir son site e-commerce BLANCHARD. Préface de Sébastien L e p e r s

Java Licence Professionnelle CISII,

OCL - Object Constraint Language

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

SUPPORT DE COURS. Langage C

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

PHP 5.4 Développez un site web dynamique et interactif

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

Programmation en Java IUT GEII (MC-II1) 1

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

CREATION WEB DYNAMIQUE

Module BD et sites WEB

Le Langage C Version 1.2 c 2002 Florence HENRY Observatoire de Paris Université de Versailles florence.henry@obspm.fr

Bases de données et Interfaçage Web

Programme Compte bancaire (code)

Programmation en langage C

Initiation à la programmation en Python

MATLAB : COMMANDES DE BASE. Note : lorsqu applicable, l équivalent en langage C est indiqué entre les délimiteurs /* */.

Programmation C++ (débutant)/instructions for, while et do...while

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

ALGORITHMIQUE ET PROGRAMMATION En C

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

Anis ASSÈS Mejdi BLAGHGI Mohamed Hédi ElHajjej Mohamed Salah Karouia

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40

Organigramme / Algorigramme Dossier élève 1 SI

(structure des entêtes)

Cours Informatique Master STEP

Introduction. Passage de sites statiques à des sites dynamiques

Langage Java. Classe de première SI

Initiation à LabView : Les exemples d applications :

Environnements informatiques

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

Claude Delannoy. 3 e édition C++

Déroulement. Evaluation. Préambule. Définition. Définition. Algorithmes et structures de données 28/09/2009

Langage SQL (1) 4 septembre IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes

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

TD3: tableaux avancées, première classe et chaînes

SHERLOCK 7. Version du 01/09/09 JAVASCRIPT 1.5

//////////////////////////////////////////////////////////////////// Administration bases de données

Pratique et administration des systèmes

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

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

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

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

1. Structure d'un programme FORTRAN 95

Formulaire pour envoyer un mail

Programmation Internet Cours 4

FORMATION DRUPAL. Support de cours - Mise à jour 02/11. Drupal / Matthieu Levet / JlGestion

Sage 100 CRM - Guide de la Fusion Avancée Version 8. Mise à jour : 2015 version 8

3W Academy Programme de Formation Développeur Intégrateur web Total : 400 heures

Expression des contraintes. OCL : Object C o n t r a i n t L a n g u a g e

PROGRAMMER EN MQL4. Apprenez à automatiser vos stratégies sur MetaTrader 4

Centre CPGE TSI - Safi 2010/2011. Algorithmique et programmation :

TP JAVASCRIPT OMI4 TP5 SRC

Aide mémoire UML & Java 1ère partie : Introduction. marc.lemaire@u-cergy.fr

SYSTÈMES D INFORMATIONS

Programmation Web. Introduction

Assurance Qualité. Cours de génie logiciel. Renaud Marlet. LaBRI / INRIA (d'après A.-M. Hugues) màj 23/04/2007

Langage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL

Transcription:

Bases de données et Sites Web. Li345 Le langage PHP 2 ème partie généralités tableaux structures de contrôle 1

Rappel : CGI et bases de données Architecture 3 tiers MySQL : stockage, protection des données, interface SQL PHP: extrait données et les met en forme reçoit des données et les stocke Le navigateur fournit l interface graphique Navigateur : http://serveur/script.php Serveur web : exécute le code PHP, produit un doc. HTML -> navigateur 2

Script PHP : HTML dynamique Fichier.php contenant du code PHP [dans du HTML]. Tout code PHP doit être inclus dans une balise <?php...?> (pour être interprété par le serveur Web) Le code PHP produit du HTML avec la commande echo <HTML> <HEAD> <TITLE>HTML avec PHP</TITLE></HEAD> <BODY bgcolor= white > Ici c est du HTML statique. <P> <?php echo "Ici c est du HTML dynamique";?> </P> </BODY></HTML> 3

Syntaxe de PHP : commentaires & valeurs Instructions séparées par des point-virgule; commentaires : 1. entre les signes «/*» et «*/» ; 2. en commençant une ligne par «//» : 3. en commençant une ligne par «#». Littéral = valeur «en dur», non modifiable Littéraux : numérique: 1 ou 3.14 ou chaîne de caractères: Tintin en Amérique encadré par des guillemets doubles. Constantes = valeur référencée par un symbole non modifiable Créé avec la commande define : define ( PI, 3.14116 ) Permet d éviter les fautes de frappe ou de les corriger facilement 4

Syntaxe de PHP : variables Variable = symbole référençant une valeur. syntaxe : un $ suivi du nom. Ex.:$adresse peut référencer des valeurs de différents types, au cours de l exécution : un nombre, puis une chaîne,... pas de déclaration de variable. Attention: minuscules et majuscules : $adresse $Adresse 5

Syntaxe de PHP : types de données Entiers: 1, 2, 3, 12980 Décimaux: 3.14, 1.23, 2093.2988 Booléens (TRUE ou FALSE) Les chaînes de caractères (entre " ") Les tableaux et les objets Typage très souple: PHP convertit le type en fonction de l opération effectuée. Fonctions : isset(), is_string(), is_int(), is_array(), 6

Manipulation de données en PHP $v1 = 2; $v2 = $v1 + 1; /* affectation $v1 + $v2 : conversion en numérique (vaut donc 5). Opérateurs arithmétiques classiques (+ - * /) et % pour le modulo. " $v1 " :inclut la valeur de $v1 dans la chaîne Concaténation de chaînes: chaine1. chaine2 $c = "$v1 + $v2 = "; /* 2 + 3 = $c = $c. $v1+$v2 ; /* 2 + 3 = 5 $c.= "<BR> ; /* 2 + 3 = 5 <BR> echo $c; Donnera dans le HTML produit : 2+3 = 5 <BR> 7

Tableaux en PHP Tableau = suite de valeurs référencées par un indice (tableaux indicés) ou par une clé (tableaux associatifs) La paire (indice, valeur) ou (clé, valeur) est un élément du tableau. La taille des tableaux est dynamique: on ajoute des éléments à volonté. 8

Tableaux indicés Syntaxe : <NomTableau>[<indice>] $tab[0] = "élément 1 "; $tab[1] = "élément 2 "; $tab[2] = 120; PHP peut affecter automatiquement les indices (ajout en fin de liste). $tab[] = "élément 1 "; // $tab[0]! $tab[] = "élément 2 "; // $tab[1]! $tab[] = 120; // $tab[2]! Pour initialiser un tableau, on peut utiliser la commande array. $tab = array ( "élément 1 ", "élément 2 ", 120); NB: indices automatiques commencent à 0. 9

Tableaux associatifs Adressage par clé unique $mes["vertigo"] = "Hitchcock"; $mes["sacrifice"] = "Tarkovski"; $mes["alien"] = "Scott"; Ici aussi, initialisation par array. $mes = array ("Vertigo" =>"Hitchcock", "Sacrifice" => "Tarkovski", "Alien" => "Scott"); 10

Tableaux à plusieurs dimensions Un élément est désigné par plusieurs indices ou clés. $tab[0][0] = "En haut à gauche"; $tab[0][1] = "En haut à droite"; $tab[1][0] = "En bas à gauche"; $tab[1][1] = "En bas à droite"; Valeur de $tab[i]: un tableau à une dimension. $mes = array ( "Vertigo" => array ( "Alfred","Hitchcock"), "Sacrifice" => array ( "Andrei", "Tarkovski"), "Alien" => array ( "Ridley", "Scott") ); 11

Structures de contrôle Permettent de diriger le flux d exécution vers un ensemble d instruction, ou bloc. Les tests: if-else, switch. Les boucles: while, for, do, foreach. 12

Conditionnelle : if-then-else if (expression) { // Bloc si expression est vraie. } else { // Bloc si expression est fausse. } // Ici le script continue. ATTENTION : Une erreur très courante: $i = 1; $j = 2; // Renvoie FALSE: i est différent de j. if ($i == $j)... // Renvoie la valeur de $j, soit TRUE! if ($i = $j)... 13

Exemple avec if-then-else if ($a == 2) { echo La variable a vaut 2 } else { if ($a == 3) { echo La variable a vaut 3 } else { echo La variable a ne vaut ni 2 ni 3 } } Possibilité d utiliser elseif 14

Conditionnelle : switch switch (expression) { Case valeur1 : {bloc1} Case valeur2 : {bloc2} Default : {bloc_default} } // Ici le script continue. Attention : dès qu une valeur correspond à l expression, tout le reste du code du switch est exécuté. En principe, on finit chaque bloc par break pour sortir du switch 15

Boucle While Permet d exécuter un bloc d instructions tant qu une condition est remplie. while (expression) { // Ici, expression est vraie. } Exemple: $a = 0; while ($a < 10) { echo a vaut $a ; $a = $a + 1;} On peut aussi faire un do {bloc} while (expr), bloc est alors exécuté au moins une fois 16

Boucle For For (initialisation; test; incrément) {bloc}; Plus concis que le While For ($v1=1;$v1<10;$v1++){echo $v1}; Mais aussi For ($v1=1,$v2=10;$v1<$v2;$v1++, echo $v1); Exercice : la même chose avec un while 17

Boucle foreach Permet de parcourir un tableau. Tableau indicé: foreach ($tableau as $valeur) { /* bloc */ } Tableau associatif: foreach ($tableau as $cle => $valeur) { /* bloc */ } À chaque passage dans le bloc, $valeur contient la valeur de l élément courant ($cle contient la clé pour les tableaux associatifs). 18

Break, exit, continue Dans une boucle : Break permet de sortir de la boucle Exit sort du script Continue va directement à la prochaine évaluation de la condition de la boucle 19

Exemples PHP permet de récupérer automatiquement les paramètres transmis par HTTP. Ces paramètres sont stockés dans des tableaux prédéfinis. le tableau $_SERVER contient les paramètres CGI sur le contexte de la demande. le tableau $_POST contient les paramètres transmis en mode POST. le tableau $_GET contient les paramètres transmis en mode GET. le tableau $_REQUEST contient tous les paramètres! 20

Exemple 1 : affichage des paramètres CGI dans un tableau <HTML><HEAD> <TITLE>Paramètres CGI</TITLE> </HEAD> <BODY> <?php // Script affichant les paramètres CGI. $serveur = $_SERVER[ SERVER_SOFTWARE ]; $client = $_SERVER[ HTTP_USER_AGENT ]; echo "<TABLE BORDER=1>"; echo "<TR><TD>Le serveur<td>$serveur"; echo "<TR><TD>Le client<td>$client"; echo "</TABLE><P>";?> 21

Exemple 2 : affichage des paramètres GET <HTML><HEAD> <TITLE>Paramètres GET</TITLE> </HEAD> <BODY> <TABLE border=2> <?php // Script affichant les paramètres GET. foreach ($_GET as $cle => $valeur) { echo "<TR><TD>$cle<TD>$valeur"; }?> </TABLE></BODY></HTML> 22

Exemple 3 : Bonjour <HTML><HEAD> <TITLE>Dis bonjour</title> </HEAD><BODY> <?php if (isset($_request[ nom ]) and isset($_request[ prenom ])) { $nom = $_REQUEST[ nom ]; $prenom = $_REQUEST[ prenom ]; echo "Bonjour $prenom $nom"; } else echo "Mais qui êtes-vous?";?> </BODY></HTML> 23