Le langage PHP. Le langage PHP p.1/??

Documents pareils
INTRODUCTION A JAVA. Fichier en langage machine Exécutable

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

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

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

Programmation Web. Madalina Croitoru IUT Montpellier

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

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

Notions fondamentales du langage C# Version 1.0

Algorithmique et Programmation, IMA


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

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

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

OCL - Object Constraint Language

TP 1. Prise en main du langage Python

STAGE IREM 0- Premiers pas en Python

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

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

Initiation à la programmation en Python

Hébergement de site web Damien Nouvel

CREATION d UN SITE WEB (INTRODUCTION)

Initiation à la Programmation en Logique avec SISCtus Prolog

Cours Informatique Master STEP

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

Programmer en JAVA. par Tama

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

Introduction à MATLAB R

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

Programmation Internet Cours 4

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

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

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

Introduction au langage C

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

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

Organigramme / Algorigramme Dossier élève 1 SI

ALGORITHMIQUE ET PROGRAMMATION En C

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

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)

SNT4U16 - Initiation à la programmation TD - Dynamique de POP III - Fichiers sources

Chap III : Les tableaux

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

Utilisation d objets : String et ArrayList

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

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

Programme Compte bancaire (code)

INF 321 : mémento de la syntaxe de Java

Corrigé des TD 1 à 5

Bases de données et Interfaçage Web

HTML. Notions générales

Mysql avec EasyPhp. 1 er mars 2006

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

TP JAVASCRIPT OMI4 TP5 SRC

Formulaire pour envoyer un mail

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

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

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

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

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

Présentation du langage et premières fonctions

Algorithmique et programmation : les bases (VBA) Corrigé

Langage Java. Classe de première SI

Initiation à LabView : Les exemples d applications :

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

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

Découverte de Python

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)

Module BD et sites WEB

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

as Architecture des Systèmes d Information

Analyse de sécurité de logiciels système par typage statique

Cours d initiation à la programmation en C++ Johann Cuenin

1. Structure d'un programme FORTRAN 95

Cours d algorithmique pour la classe de 2nde

Les structures. Chapitre 3

Démonstration de la mise en cache via HTML 5 sur iphone

Attaques de type. Brandon Petty

Projet de programmation (IK3) : TP n 1 Correction

Introduction à PHP. Au sommaire de ce chapitre

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

SUPPORT DE COURS. Langage C

PHP 5.4 Développez un site web dynamique et interactif

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

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

Environnements informatiques

Programmation en Java IUT GEII (MC-II1) 1

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

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

Module http MMS AllMySMS.com Manuel d intégration

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

Plan. Exemple: Application bancaire. Introduction. OCL Object Constraint Language Le langage de contraintes d'uml

LES TYPES DE DONNÉES DU LANGAGE PASCAL

Un exemple d'authentification sécurisée utilisant les outils du Web : CAS. P-F. Bonnefoi

R, Bonnes pratiques. Christophe Genolini

TP, première séquence d exercices.

(structure des entêtes)

1 Introduction - Qu est-ce que le logiciel R?

Programmation en Caml pour Débutants

Transcription:

Le langage PHP Le langage PHP p.1/??

Le langage PHP p.2/?? Sommaire Les principaux aspects du langage PHP généralités littéraux, variables et constantes tableaux associatifs et indicés boucles et tests Quelques exemples

Le langage PHP p.3/?? Qu est-ce qu un «script» PHP C est un fichier d extension.php contenant du code PHP. Tout code PHP doit être inclus dans une balise <?php...?>. Le code PHP produit du texte HTML avec la commande echo on obtient un document HTML produit dynamiquement.

Le langage PHP p.4/?? Exemple : un script très simple (ExPHPa.php) <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>

Le langage PHP p.5/?? Traitement d un script PHP On appelle avec le navigateur une URL de la forme http://serveur/script.php Le serveur web accède au script et exécute le code PHP qu il contient. L exécution du code produit un document HTML qui est renvoyé au navigateur Attention: PHP est exécuté sur le serveur: le navigateur reçoit du HTML (dynamique).

Le langage PHP p.6/?? Syntaxe de PHP PHP est un langage de programmation comme le C ou Java, mais beaucoup plus simple à apprendre et à utiliser (en particulier, pas de types) très adapté à la programmation Web (production de texte) énormément de fonctions et de scripts prêts à l emploi (disponibles sur le Web) Très utilisé pour la réalisation de sites web.

Le langage PHP p.7/?? Syntaxe les bases Rappel: le code PHP doit être inclus dans une balise <?php...?> (sinon pas interprété). Le code PHP se compose d instructions séparées par des point-virgule; trois manières d inclure des commentaires : 1. entre les signes «/*» et «*/» ; 2. en commençant une ligne par «//» : 3. en commençant une ligne par «#».

Littéraux et constantes Littéral = valeur «en dur», non modifiable littéral numérique: 1 ou 3.14 littéral 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 Le langage PHP p.8/??

Variables Variable = symbole référençant une valeur. syntaxe d une variable: un $ suivi du nom. Exemple: $adresse une variable peut référencer des valeurs différentes au cours de l exécution pas de variable typée en PHP: une variable peut référencer un nombre, puis une chaîne,... pas de déclaration de variable en PHP! Attention: minuscules et majuscules. ($adresse et $Adresse: deux variables différentes) Le langage PHP p.9/??

Le langage PHP p.10/?? Les types PHP Les entiers: 1, 2, 3, 12980 Les flottants: 3.14, 1.23, 2093.2988 Les booléens (TRUE ou FALSE) Les chaînes de caractères (entre guillemets doubles) Les tableaux et les objets Typage très souple: PHP convertit le type en fonction de l opération effectuée.

Rôle des types PHP Essentiellement, PHP convertit le type d une valeur en fonction de l opération effectuée. Si j écris $a + $b, PHP convertira $a et $b en numériques. Quelle que soit le type d une valeur, on peut la transformer en chaîne de caractères. Si j écris Valeur 1=$a, Valeur 2=$b, PHP convertit $a et $b en chaînes et les inclut dans la chaîne principale. PHP est conçu pour produire du texte! Le langage PHP p.11/??

Le langage PHP p.12/?? Interpolation et concaténation Interpolation: pouvoir inclure la valeur d une variable directement dans une chaîne de caractère. Concaténation: assemblage de deux chaînes de caractères avec l opérateur «.». $a = 2; $b = 3; echo $a + $b =. $a + $b. <BR>. On obtient la chaîne 2 + 3 = 5<BR> dans le document HTML produit.

Le langage PHP p.13/?? Les tableaux 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é.

Le langage PHP p.14/?? Tableaux indicés Syntaxe pour désigner un élément: le nom du tableau, puis des crochets indiquant la clé ou l indice. $tab[0] = "élément 1 "; $tab[1] = "élément 2 "; $tab[2] = 120; PHP peut affecter automatiquement les indices. $tab[] = "élément 1 "; // $tab[0]! $tab[] = "élément 2 "; // $tab[1]! $tab[] = 120; // $tab[2]! NB: les indices automatiques commencent à 0.

Le langage PHP p.15/?? Tableaux associatifs On doit donner explicitement la clé. Elle désigne de manière unique l élément. $mes["vertigo"] = "Hitchcock"; $mes["sacrifice"] = "Tarkovski"; $mes["alien"] = "Scott"; Pour initialiser un tableau, on peut utiliser la commande array. $tab = array ( "élément 1 ", "élément 2 ", 120) $mes = array ("Vertigo" => "Hitchcock", "Sacrifice" => "Tarkovski", "Alien" => "Scott");

Le langage PHP p.16/?? Tableaux multi-dimensionnels Un élément est désigné par un ou 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[0]: un tableau à une dimension. $mes = array ( "Vertigo" => array ( "Alfred", "Hitchcock"), "Sacrifice" => array ( "Andrei", "Tarkovski") "Alien" => array ( "Ridley", "Scott"));

Le langage PHP p.17/?? Expression et affectation Expression: toute instruction qui produit une valeur. $a + 3; Mon nom est. $nom À peu près toutes les instructions sont des expressions en PHP. Affectation: on affecte le résultat d un expression à une variable. $b = $a + 3; $c = Mon nom est. $nom

Le langage PHP p.18/?? Opérateurs arithmétiques Classique : +, -, /, *, et % pour le modulo. $a = 3; $b = 8; $c = $a + 2 * $b; Priorités: voir le poly. Mais le plus simple est d utiliser des parenthèses. $a = 3; $b = 8; $c = $a + (2 * $b);

Le langage PHP p.19/?? Concaténation de chaînes C est le point «.». $c1 = "Bonjour " ; $c2 = "Dominique"; // Affichage de la chaîne // "Bonjour cher Dominique" echo $c1. " cher ". $c2; Pour ajouter un fragment à une chaîne: $c = "Bonjour cher"; $c = $c. " Dominique" ou encore la construction équivalente: $c.= " Dominique"

Le langage PHP p.20/?? Opérateurs de comparaison Classique: <, >, <=, >=, sauf la comparaison: == (deux «=») 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)...

Le langage PHP p.21/?? 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. Dans un premier temps on peut se limiter à if-else, while et foreach. Voir le polycopié pour les autres.

Le langage PHP p.22/?? Les tests if-then-else if (expression) { // Bloc si expression est vraie. } else { // Bloc si expression est fausse. } // Ici le script continue.

Le langage PHP p.23/?? Exemple de test 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 } }

Le while Permet d exécuter un bloc d insructions 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; } Le langage PHP p.24/??

Le 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). Le langage PHP p.25/??

Quelques exemples Le langage PHP p.26/??

Le langage PHP p.27/?? Quelques 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!

Le langage PHP p.28/?? Premier exemple (SERVER.php) <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>";?>

Le langage PHP p.29/?? Deuxième exemple (GET.php) <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>

Le langage PHP p.30/?? Troisième exemple (Bonjour.php) <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>