Module Internet (4) 1 Département Technologie de l’Information et de la Communication Internet.

Post on 04-Apr-2015

102 views 0 download

Transcript of Module Internet (4) 1 Département Technologie de l’Information et de la Communication Internet.

Département Technologie de l’Information et de la Communication Module Internet (4)1

Internet

Département Technologie de l’Information et de la Communication Module Internet (4)2

Sommaire

• PHP.

Département Technologie de l’Information et de la Communication Module Internet (4)3

PHP

Département Technologie de l’Information et de la Communication Module Internet (4)4

Historique (1/3)

• 1994: – créé par Rasmus Lerdorf pour contrôler le nombre des

internautes visitant son site.

• Début 1995:– mise en service de la première version de PHP appelée

Personal Home Page :• moteur d'analyse syntaxique,• quelques macros spéciales,• utilitaires communément utilisés dans les pages persos.

• Milieu 1995:– PHP/FI (Form Interpreter) :

• formulaires,• support pour mySQL,

Département Technologie de l’Information et de la Communication Module Internet (4)5

Historique (2/3)

• Fin 1997: – réécriture complète de l'analyseur par Z. Suraski et A. Gutmans

• combinaison avec Apache et MySQL: – grand succès (solution entièrement libre et gratuite)

• support des serveurs IIS et PWS de Microsoft, …

• support des bases de données Oracle, Ingres, Interbase, PostGreSQL,

PHP 3 (PHP Hypertext PreProcessor)

Département Technologie de l’Information et de la Communication Module Internet (4)6

Historique (3/3)

• Fin 1999:– nouvelle version:

PHP 4:– support du type booléen,– support pour Java et XML,– support pour FTP,– …– version la plus répandue dans le monde aujourd'hui.

• Octobre 2001: – plus de 1 000 000 développeurs en PHP.

• 2004: – sortie de la dernière version PHP 5.

Département Technologie de l’Information et de la Communication Module Internet (4)7

Caractéristiques (1/2)

• Les +:– un logiciel libre:

• gratuité.– un langage de script:

• simplicité.– nombreuses fonctions intégrées:

• facilité.– un pré processeur hypertexte exécuté côté serveur:

• non lisibilité du code côté PHP client.– indépendant du système d'exploitation:

• portabilité.– nombreux supports (serveurs Web et BDD):

• ouverture.

Département Technologie de l’Information et de la Communication Module Internet (4)8

Caractéristiques (2/2)

• Les –:

– gestion automatique des types de données (masquage): • incompréhensions et difficultés de débogage.

– débogage algorithmique peu aisé.

Département Technologie de l’Information et de la Communication Module Internet (4)9

PHP face à la concurrence

• Choix d'un langage de script:

CGI

PHP

ASP

Perl

Rapidité

Accessibilité

Facilitéde codage

Département Technologie de l’Information et de la Communication Module Internet (4)10

Qu'est-ce que PHP ? (1/3)

• Un langage de script:– langage de programmation spécialisé dans la génération de

code (HTML principalement) :• bibliothèques de fonctions de manipulation d'images,• outils de traitement de fichiers,• outils d'accès aux bases de données,• création de fichiers PDF,• …

– lignes de programmation insérées dans le source d'un fichier texte et interprétées par la machine qui exécute le script,

– extension des fichiers: • php, php3 ou php4…

Département Technologie de l’Information et de la Communication Module Internet (4)11

Qu'est-ce que PHP ? (2/3)

• Organisation:– fichiers = programmes,– intégration du PHP au cœur des pages HTML:

• transformation des pages HTML sur le serveur,

• ajout d'un comportement dynamique.

– ensemble d'instructions dont les zones non encadrées par une balise particulière sont intégralement recopiées dans le fichier de sortie

• un fichier .php peut très bien ne contenir que du code HTML (aucune modification du code) ou PHP (code entièrement généré).

Département Technologie de l’Information et de la Communication Module Internet (4)12

Qu'est-ce que PHP ? (3/3)

• Le langage de programmation:– écrit en C.

• Fonctionnement:– le client interroge le serveur Web (demande d'une page),– le serveur demande à PHP d'interpréter le code de la page,– PHP renvoie le code HTML généré au serveur qui l'insère dans la

page,– le serveur renvoie la page HTML au client.

Département Technologie de l’Information et de la Communication Module Internet (4)13

Le code

• Syntaxe PHP:– premier code PHP:

<html><head>

<title>Ma page HTML avec du code PHP</title></head><body>

<?echo "Ceci est ma première page PHP !";

?></body></html>

– utilisation des balises <? et ?>.

Département Technologie de l’Information et de la Communication Module Internet (4)14

Le code

• Syntaxe PHP:– les balises délimitant les scripts PHP:

– délimiteur de fin d'instruction: • le caractère ";".

– l'instruction echo affiche le texte présent entre les guillemets.

Ouverture Fermeture

<? ?>

<% %>

<?php ?>

<script language="php"> </script>

Département Technologie de l’Information et de la Communication Module Internet (4)15

Les variables (1/8)

• Règles sur les noms:– 1er caractère:

• le symbole "$".

– 2ème caractère: • alphabétique (minuscule ou majuscule) ou "_" (souligné).

– caractères suivants: • alphanumériques ou "_"

– pertinents et explicites (éviter $a ou $tmp),– pas de limite de longueur.

Département Technologie de l’Information et de la Communication Module Internet (4)16

Les variables (2/8)

• Exemple d'utilisation de variables:<html><head>

<title>Ma page deuxième page PHP</title></head><body>

<?$a = 1;$b = 2;echo 'La somme de '.$a.' + '.$b.' vaut '.($a+$b);

?></body></html>

Département Technologie de l’Information et de la Communication Module Internet (4)17

Les variables (3/8)

• Le ".": – opérateur de concaténation.

• Différence entre les simples quottes ' et les doubles quottes ":– PHP n'analyse pas ce qui est écrit entre simples quottes:

$nom = Dupont;

echo 'bonjour M. $nom'; affichera : bonjour M. $nom

– PHP analyse le contenu entre des doubles quottes:$nom = Dupont;

echo "bonjour M. $nom"; affichera : bonjour M. Dupont

Département Technologie de l’Information et de la Communication Module Internet (4)18

Les variables (4/8)

• Les opérateurs arithmétiques:

• Les opérateurs de comparaison:==, !=, <, >, <=, >=

Opérateur arithmétique

+

-

*

/

%

Département Technologie de l’Information et de la Communication Module Internet (4)19

Les variables (5/8)

• Déclaration et initialisation:– pas de déclaration nécessaire :

• instanciation à la première utilisation,• le type change en fonction du contenu stocké,• types scalaires:

– chaîne, entier, booléen et à virgule flottante.

• types composés: – tableaux et objets.

– exemples d'affectations de valeurs:$Nom = "esigelec";$Compteur = 0;$Solde = 975.50;

Département Technologie de l’Information et de la Communication Module Internet (4)20

Les variables (6/8)

• Suppression de variables:– fonction unset():

• exemple: unset($Nom); //supprime la variable $Nom

Département Technologie de l’Information et de la Communication Module Internet (4)21

Les variables (7/8)

• Les constantes:– exemple:

define("CouleurCiel", "Bleu");

CouleurCiel vaut Bleu.

– remarque:• pas de "$" devant le nom de la constante.

Département Technologie de l’Information et de la Communication Module Internet (4)22

Les variables (8/8)

• Tableaux 1 dimension:$tableau[0] = 1; // création d’un tableau, la première valeur est 1

• Tableaux 2 dimensions:– il suffit de mettre un second indice au moment de l'affectation.

$tableau[0][0] = 1; // création d’un tableau, la première valeur est 1

• Navigation dans les éléments du tableau:next() , prev() et each().

• Nombre d'éléments d'un tableau:count().

• Tri des tableaux:asort(), ksort(), sort(), …

Département Technologie de l’Information et de la Communication Module Internet (4)23

Variables d'environnement (1/2)

• Dans une application, un élément fondamental est l’utilisation des variables d'environnement du serveur:– avec PHP toutes les variables d'environnement du serveur sont

automatiquement reprises dans les scripts PHP en tant que variables globales:

• il suffit de les utiliser directement dans le code.

Département Technologie de l’Information et de la Communication Module Internet (4)24

Variables d'environnement (2/2)

• Variables d'environnement:

PHP 4 / 5 Contenu du tableau

$_GET variables passées par méthode GET

$_POST variables passées par méthode POST

$_COOKIE variables passées via cookies

$_FILES informations fichiers téléchargés par méthode POST

$_SESSION variables de session

Département Technologie de l’Information et de la Communication Module Internet (4)25

Les variables issues de formulaires (1/2)

• Les variables issues de formulaires:– les variables sont issues de formulaires HTML, elles

correspondent aux différents champs positionnés entre les balises <form> et </form> de ce formulaire,

– la page qui reçoit ces variables est celle qui est désignée par l'attribut action de la balise <form>,

– exemple:<html>

<form action="test.php" method="post" >

Nom : <input type="text" name="nom">

<input type="submit" value="Envoyer">

</form>

</html>

Département Technologie de l’Information et de la Communication Module Internet (4)26

Les variables issues de formulaires (2/2)

• Tableaux: $_GET

$_POST

– exemple:

$nom = $_POST[’toto’]

echo $nom

Département Technologie de l’Information et de la Communication Module Internet (4)27

Tests

• Si une condition est vérifiée alors les instructions sont exécutés sinon (alternative facultative) d’autres instructions sont exécutées:– syntaxe:

if ( condition1 ){ Actions 1}elseif ( condition2 ){ Actions 2}else{ Actions 3}

exemple:if ($a==$b) { echo "A est égal à B";}elseif ($a > $b){ echo "A est supérieur à B";}else{ echo "A est inférieur à B";}

Département Technologie de l’Information et de la Communication Module Internet (4)28

Choix multiple

• Plusieurs conditions successives sur la valeur d'une seule variable:– utilisation de l'instruction switch, – l'instruction break est primordiale à la fin de chaque bloc case,

sinon les conditions suivantes sont vérifiées et exécutées,– exemple:

switch ($a){ case $b: echo "A est égal à B"; break; case >$b: echo "A est supérieur à B"; break; default: echo "A est inférieur à B";}

Département Technologie de l’Information et de la Communication Module Internet (4)29

Boucles (1/3)

• La boucle for (nombre d'itérations connu):for (expr1; expr2; expr3){ instructions // éviter de modifier l'indice s'il existe}

• La boucle while (nombre d'itérations inconnu):while ( condition ){ instructions;}

Département Technologie de l’Information et de la Communication Module Internet (4)30

Boucles (2/3)

• La boucle do…while: do

{

instructions;

} while (condition);

Département Technologie de l’Information et de la Communication Module Internet (4)31

Boucles (3/3)

• Exemples:

$i=1;while ($i <= 10){ echo "- $i -"; $i++;}

for ($i = 1; $i <= 10; $i++){ echo "- $i -";}

$i=1;do{ echo "- $i -"; $i++;} while ($i <= 10);

Département Technologie de l’Information et de la Communication Module Internet (4)32

Fonction each()

• Fonctions étroitement liées aux boucles:– permet de parcourir tous les éléments d'un tableau sans se

soucier des bornes,– lorsque la fin du tableau est atteinte, each() retourne false,– retourne la combinaison clé-valeur du tableau passé en

paramètre,– exemple:

while ($var = each($tableau)){ echo "$var[0] : $var[1]";}

l'indice est affecté au premier élément de $var et la valeur au deuxième élément.

Département Technologie de l’Information et de la Communication Module Internet (4)33

Les fonctions

• La syntaxe de déclaration s’appuie sur le mot clé function,– suivi du nom de la fonction, puis les paramètres éventuels,– exemple:

function bonjour(){ echo "Bonjour" ;}

function bonjourbis(){ return "Bonjour" ;}

Affiche simplement le texte. Pas de valeur de retour, c'est une procédure.Appel : bonjour();

Renvoie le texte sans l'afficher. Utilisation de return pour la valeur de retour.Appel : echo bonjourbis();

Département Technologie de l’Information et de la Communication Module Internet (4)34

Fichiers

• Même gestion qu'en C. Utilisation des fonctions: fopen()

feof()

fgets()

fputs()

fclose()

Département Technologie de l’Information et de la Communication Module Internet (4)35

Quelques fonctions …

• Les dates:

date() – exemple:

echo date("d-m-Y"); // affiche : "12-12-2000« 

• Chaîne de caractère:strlen (chaîne) 

• retourne la taille de la chaîne.

strtolower | strtoupper (chaîne)• retourne la chaîne passée en paramètres en minuscules (resp.

majuscules).

Département Technologie de l’Information et de la Communication Module Internet (4)36

Envoyer un mél

• Il existe une méthode PHP permettant d’envoyer un mail directement (sans gestionnaire de courrier):– la fonction mail nécessite au moins trois paramètres :

• le destinataire,• l’objet du message,• le corps du message.

– exemple :<? mail("dupont@mondomaine.fr", "Objet du mail","Corps du mail");?>

ce code enverra un mail à dupont@mondomaine.fr avec comme sujet Objet du mail, et comme corps Corps du mail.

Département Technologie de l’Information et de la Communication Module Internet (4)37

Références

www.php.net