Sunteți pe pagina 1din 72

PHP M.

Oudghiri Introduction Fonctions Variables Tableaux Chanes Oprateurs Instructions Formulaires Fichiers Sessions MySql

PHP
Mourad Oudghiri
FSO - Dpartement Math-Info Mourad.Oudghiri@math.univ-lille1.fr

Novembre 2011

F.S.O

PHP M. Oudghiri Introduction Fonctions Variables Tableaux Chanes Oprateurs Instructions Formulaires Fichiers Sessions MySql

Au dbut de sa cration par Rasmus Lerdorf (1994), PHP signiait Personal Home Page. En 1997, le coeur de PHP a t redvelopp et est devenu labrviation de Hypertext Preprocessor. PHP est Open Source et gratuit PHP permet daccder facilement aux bases de donnes. PHP sexcute sur le serveur et renvoie le code HTML au client. Le code PHP est protg et ne peut pas tre vu par le client. PHP est un descendant du langage C.

F.S.O

Matriel et Logiciels
PHP M. Oudghiri Introduction Fonctions Variables Tableaux Chanes Oprateurs Instructions Formulaires Fichiers Sessions MySql

Serveur Web : Sous Linux : Serveur LAMP (Linux, Apache, MySQL, PHP) Sous Windows : WAMP (Windows, Apache, MySQL, PHP) Sous Mac : MAMP (Macintosh, Apache, MySQL, PHP) diteur : NeatBeans, Pspad, ou tout simplement un diteur de texte comme bloc-notes sous Windows et gedit sous Linux. Un navigateur : Mozilla, Internet Explorer, Opra, ...

F.S.O

Fonctionnement de WampServer
PHP M. Oudghiri Introduction Fonctions Variables Tableaux Chanes Oprateurs Instructions Formulaires Fichiers Sessions MySql

Une fois Wamp server est dmarr, une icne se place dans la barre des tches cot de lhorloge. Un clic permet : daccder la page localhost dans laquelle on trouve :
les versions de Apache, MySQL et PHP. un lien vers phpmyadmin qui permet de grer les bases de donnes. la liste des projets.

daccder directement phpmyadmin. daccder aux chiers log des erreurs gnres par Apache, MySQL et PHP. de dmarrer, darrter et de redmarrer Apache et MySQL.

F.S.O

Cration dun projet PHP


PHP M. Oudghiri Introduction Fonctions Variables Tableaux Chanes Oprateurs Instructions Formulaires Fichiers Sessions MySql

Un site web est form par plusieurs chiers de diffrentes extensions (html, php, css, pdf, doc, jpg, ...) quon mette dans un seul rpertoire nomm par exemple MonSite. Il est impratif de placer le dossier MonSite dans le dossier www de Wampserver. LURL du site sera : http://localhost/MonSite. Les pages qui seront afches par dfault sont index.html, index.html. En labsence de toutes ces pages, le navigateur afche une page vide.

F.S.O

Premier Script PHP


PHP M. Oudghiri Introduction Fonctions Variables Tableaux Chanes Oprateurs Instructions Formulaires Fichiers Sessions MySql

<html> <head> <title> Ma premire page en PHP </title> </head> <body> Aujourdhui : <?php print (Date("l F d, Y")); ?> </body> </html> Afchage : Wednesday November 16, 2011

Balises php Le code php doit tre mis entre une des balises suivantes : <?php print (Date("l F d, Y")); ?> <script language="php"> print (Date("l F d, Y")); </script> <? print (Date("l F d, Y")); ?> Syntaxe En php, chaque instruction se termine par un point virgule ;

Fonctions : print et echo : permettent dafcher lcran. Syntaxe : print(toto); et echo toto;. Date : retourne la date courante. Les paramtres l F d, Y dtermine le format de la date.

F.S.O

Code source dune page php


PHP M. Oudghiri Introduction Fonctions Variables Tableaux Chanes Oprateurs Instructions Formulaires Fichiers Sessions MySql

<html> <head> <title>Ma premire page en PHP</title> </head> <body> Aujourdhui : Wednesday November 16, 2011 </body> </html>

Le code source dune page php afche dans un navigateur ne contient aucune balise php. Un chier php ne peut pas souvrir directement par le navigateur.

F.S.O

Les commentaires
PHP M. Oudghiri Introduction Fonctions Variables Tableaux Chanes Oprateurs Instructions Formulaires Fichiers Sessions MySql

PHP permet dinsrer des commentaires qui naffectent pas linterprtation du script. Il existe deux type de commentaires : Commentaire de n de ligne : Il commence par // ou # et se termine automatiquement la n de la ligne. Commentaire en bloc : Il commence par /* et se termine par */. Lintrt principal est quon peut mettre plusieurs lignes en commentaire.
<?php //cette ligne ne sera pas afche # celle-l aussi /*Ce bloc sera lui aussi ignor */ ?>

Le naviguateur afche une page vide

F.S.O

Fonctions
PHP M. Oudghiri Introduction Fonctions Variables Tableaux Chanes Oprateurs Instructions Formulaires Fichiers Sessions MySql

Les fonctions (resp. procdures) regroupent des instructions rutilisables par simple appel de la fonction (resp. procdure).
function NomFonction (arg1, arg2, ..., argN){ Instruction1; Instruction2; . . . }

Diffrence entre fonction et procdure : Une fonction renvoie une valeur la n de son excution, cependant une procdure nen renvoie aucune.
//Exemple de procdure function division($x,$y){ print($x/$y); } // afche : 0.5

//Exemple de fonction function division($x,$y){ return $x/$y; } print(division(2,4)); // afche : 0.5

F.S.O

Variables
PHP M. Oudghiri Introduction Fonctions Variables Tableaux Chanes Oprateurs Instructions Formulaires Fichiers Sessions MySql

Une variable correspond une zone de mmoire tiquete par un nom et sert enregistrer une valeur. En php, une variable est reprsente par le signe $ suivi dun nom, commenant par une lettre (a-z,A-Z) ou un soulign (_), suivi de lettres, chiffres ou souligns. Elle reoit une valeur avec loprateur daffectation =. PHP nexige pas une dclaration explicite du type dune variable. Le type sera dtermin aprs laffectation dune valeur.
$nom=toto; $AnnNaiss=1983; $nom : type chane de caractres $AnnNaiss : type entier

Types de variables integer : entier positif ou ngatif. double : nombre virgule ottante : 1.23, 0.123e1, 12.3e-1. string : chane de caractres. boolean : boolenne (TRUE,FALSE).

F.S.O

null : variable non initialise ou de valeur null.

Variable : type et conversion


PHP M. Oudghiri Introduction Fonctions Variables Tableaux Chanes Oprateurs Instructions Formulaires Fichiers Sessions MySql

Fonction gettype Elle retourne le type de la variable passe en paramtre.


$nom="ali"; $AnnNaiss=1983; gettype($nom) retourne string gettype($AnnNaiss) retourne integer

PHP change dynamiquement le type dune variable lorsque son contenu change.
$AnnNaiss=Avrile 1983; gettype($AnnNaiss) retourne string

Autres fonctions Les fonctions suivantes retournent une valeur boolenne en comparant le type recherch celui de la variable : is_integer($var), is_double($var), is_string($var), is_bool($var), is_array($var), is_null($var). Conversion de type La fonction (type_voulu)$var permet de convertir la valeur de $var dans le type type_voulu. Le paramre type_voulu prend les valeurs : integer, double, string, bool.

F.S.O

$var="1983 novembre" : (integer)$var retourne 1983

Etat dune variable


PHP M. Oudghiri Introduction Fonctions Variables Tableaux Chanes Oprateurs Instructions Formulaires Fichiers Sessions MySql

isset($var) Elle retourne false si la variable $var nest pas initialis ou possde la valeur null, et true dans le cas contraire.
$var1=null; $var2=0; isset($var1) retourne 0 isset($var2) retourne 1

empty($var) Elle retourne true si la variable $var nest pas initialis ou possde la valeur null ou 0, et true dans le cas contraire.
empty($var1) et empty($var2) retournent 1

Dtruire une variable La fonction unset($var) permet de dtruire une variable.


$var="toto"; unset($var); print($var); renvoie un message derreur.

F.S.O

Affectation
PHP M. Oudghiri Introduction Fonctions Variables Tableaux Chanes Oprateurs Instructions Formulaires Fichiers Sessions MySql

Affectation par valeur Linterprteur PHP cre la variable $a. Puis il affecte la valeur de $a la variable $b. Par la suite, si la valeur de $a est modie, celle de $b restera inchange. Affectation par rfrence Avec loprateur de rfrence &, $b devient un alias de la variable $a. Les deux variables pointent alors vers la mme section de mmoire, et donc sur le mme contenu. Ainsi toute modication apporte lune des deux variables est rpercute dans lautre.

<?php $a=3; $b=$a; $a=10; echo $b=.$b.<br>; echo $a=.$a; //Rsultat : $b=3 $a=10 ?> <?php $a=3; $b=&$a; echo $b=.$b.<br>; $a=10; echo $a=.$a.<br>; echo $b=.$b; //Rsultat : $b=3 $a=10 $b=10 ?>

F.S.O

Porte dune variable


PHP M. Oudghiri Introduction Fonctions Variables Tableaux Chanes Oprateurs Instructions Formulaires Fichiers Sessions MySql

Variable locale Une variable dclare dans une fonction a une porte locale cette fonction. Elle nest pas accessible en dehors de la fonction. Variable globale Toute variable dclare dans le code en dehors, et avant, toute fonction, ou structure de contrle, a une porte globale. Son appel dans une fonction se fait en utilisant le mot-cl global. Variable statique An dempcher quune variable locale dune fonction soit rinitialise, on la dclare statique. Ainsi, la variable conserve sa valeur dun appel lautre de la fonction.

F.S.O

Porte dune variable


PHP M. Oudghiri Introduction Fonctions Variables Tableaux Chanes Oprateurs Instructions Formulaires Fichiers Sessions MySql

<?php //Script 1 $a =2; function teste(){ $a = 7; echo $a.<br>; } teste(); echo $a; //Ce code afche : 7 2 ?>

<?php //Script 2 $a =2; function teste(){ global $a; echo $a.<br>; $a++; } teste(); echo $a; //Ce code afche : 2 3 ?>

<?php //Script 3 function teste(){ static $i = 0; $i++; echo $i.<br>; } teste(); teste(); //Ce code afche : 1 2 ?>

F.S.O

Script 1 : 7 reprsente la valeur de $a dans la fonction teste(), cependant 2 est la valeur de $a en dehors de la fonction teste(). Script 2 : La variable $a conserve sa valeur 2, affecte au dbut du script, dans la fonction teste(). Lappel de la fonction incrmente de 1 la valeur initiale de $a. Script 3 : Le premier appel de la fonction teste() incrmente de 1 la valeur de la variable statique $i. La nouvelle valeur est conserve et sera incrment lors du deuxime appel de la fonction.

Fonction : transmission de paramtres


PHP M. Oudghiri Introduction Fonctions Variables Tableaux Chanes Oprateurs Instructions Formulaires Fichiers Sessions MySql

Transmission de paramtres par valeur <?php Le contenu de la variable $a na pas t function teste($a, $b=2){ $a *=$b; modi aprs lappel de la fonction teste(). } En effet, le code cre dabord la variable $a=5; teste($a); globale $a et lui affecte la valeur 5. Lappel echo $a; de la fonction teste() produit la cration //Rsultat : 5 dune nouvelle variable $a dune porte ?> locale et possdant la valeur 5 de la variable globale $a. Le changement de valeur de $a dans la fonction naffectera pas celle de la variable globale $a. Transmission de paramtres par rfrence Il consiste passer en paramtre une rfrence qui pointe sur la variable dorigine. Ainsi, toute modication de la valeur de $a dans la fonction se rpercutera sur celle de la valeur dorigine. Pour indiquer quun paramtre est pass par rfrence, on le prcde par &.
<?php function teste($a, $b=2){ $a *=$b; } $a=5; teste(&$a); echo $a; //Rsultat : 10 ?>

F.S.O

Les constantes
PHP M. Oudghiri Introduction Fonctions Variables Tableaux Chanes Oprateurs Instructions Formulaires Fichiers Sessions MySql

Une constante est un identiant qui reprsente une valeur qui ne peut jamais subir des modications durant lexcution du script. Le choix du nom dune constante suit les mme rgles que celui dune variable. Par convention, le nom dune constante est toujours en majuscule.

dene("ETAB","FSO"); echo ETAB; //Rsultat FSO

F.S.O

Les tableaux
PHP M. Oudghiri Introduction Fonctions Variables Tableaux Chanes Oprateurs Instructions Formulaires Fichiers Sessions MySql

En PHP, un tableau est une association ordonne de valeurs des cls. Il existe deux manires de dnir un tableau : tableau array La syntaxe crochets
$person= array( "nom" => "toto", "AnnNaiss" => "1983") echo $person["nom"]; Afchage : toto $person["nom"] = "toto"; $person[] = "1983"; //la cl attribue 1983 sera 0 echo $person[0]; Afchage : 1983

Tableau multidimensionnel
$tab = array( "a1" => array("a11" => "cel 11", "a12" => "cel 12"), "a2" => array("a21" => "cel 21", "a22" => "cel 22")); print($tab[a2][a21]); // Afchage : cel 21

extract($tab) cre les variables dont les noms sont les cls et leur affecte la valeur associe.

F.S.O

$tab= array(prenom => ali, nom => yousse); extract($tab); echo "$prenom $nom";// afche "ali yousse "

Fonctions associes un tableau


PHP M. Oudghiri Introduction Fonctions Variables Tableaux Chanes Oprateurs Instructions Formulaires Fichiers Sessions MySql

count($tab) : retourne le nombre dlments affects current($tab) : retourne la valeur de llment en cours key($tab) : retourne la cl de llment en cours next($tab) : dplace le pointeur llment suivant prev($tab) : dplace le pointeur llment prcdent reset($tab) : dplace le pointeur au premier lment sort(,$tab) : trie les lments du tableau selon lordre alpha-numrique et raffecte les cls (0, 1, ...) asort(,$tab) : trie les lments du tableau selon lordre alpha-numrique en conservant les cls rsort(,$tab) : mme fonction que sort mais inverse lordre arsort(,$tab) : mme fonction que asort main inverse lordre ksort(,$tab) : trie par valeur de cl krsort$tab) : mme fonction que ksort mais inverse lordre

F.S.O

Ajout et suppression dlments


PHP M. Oudghiri Introduction Fonctions Variables Tableaux Chanes Oprateurs Instructions Formulaires Fichiers Sessions MySql

array_push($tab,v1,v2,...,vN) Elle permet de rajouter les valeurs v1,v2,...,vn la n du tableau $tab. Pour les rajouter au dbut du tableau, on utilise la fonction array_unshift.
$tab1 = array(0 => a,1 => b,2 => c, dd => d, ee => e); array_push($tab1,h,k) retourne array(0 => a,1 => b,2 => c, dd => d, ee => e, 3 => h, 4 => k)

array_pop($tab) Elle supprime le dernier lment du tableau et retourne cet lment sil existe ou la valeur null dans le cas contraire. Pour supprimer le premier lment on utilise la fonction array_shift($tab).
print(array_pop($tab1)) imprime e et retourne $tab1 = array(0 => a,1 => b,2 => c, dd => d);

unset($tab[$c])

F.S.O

On lutilise pour supprimer llment de cl $c.

Extraction et fusion
PHP M. Oudghiri Introduction Fonctions Variables Tableaux Chanes Oprateurs Instructions Formulaires Fichiers Sessions MySql

array_slice($tab,$d,$l) Elle extrait la partie du tableau de taille $l et commenant par llment la position $d. Si $d est ngatif, le compte du premier lment se fait partir de la n. Si $l est ngatif, le tableau extrait commence par llment la position $d et se termine par llment la position $l-1.
$tab1 = array(0 => a,1 => b,2 => c, dd => d, ee => e); $tab2 = array(a,b,c,d,e); array_slice($tab1,2,2) retourne array(0=>c,dd => d) array_slice($tab2,-2,2) retourne array(0=>d,1 => e) array_slice($tab2,2,-2) retourne array(0=> c)

array_merge($tab1,$tab2,...,$tabN) Elle retourne un tableau o sont rassembles les valeurs des tableaux, passs en paramtres. Si les tableaux ont des cls en commun, la dernire valeur rencontre crasera lancienne.
$tab1 = array(2 => a, bb => b); $tab2 = array(c, d); $tab3= array(ee => e, bb => f); array_merge($tab1,$tab2,$tab3) retourne array(0=>a,bb=>f,1=>c,2=>d,ee=>e)

F.S.O

Chane de caractres
PHP M. Oudghiri Introduction Fonctions Variables Tableaux Chanes Oprateurs Instructions Formulaires Fichiers Sessions MySql

Une chane de caractres est une suite de caractres contenus entre des guillemets simples () ou doubles ("). $nom ="toto"; $prenom=tati; Pour inclure un guillemet simple (resp. double) dans une chane dlimite par des guillemets simples (resp. double) il faut le prcder par un antislash \. $nom =M\hamed; Si une chane dlimite par des guillemets doubles contient une variable, alors celle-ci est value. $nom="toto"; echo "Je mappelle $nom"; Rsultat : Je mappelle toto

F.S.O

PHP M. Oudghiri Introduction Fonctions Variables Tableaux Chanes Oprateurs Instructions Formulaires Fichiers Sessions MySql

Une chane de caractres peut se voir comme un tableau dont chaque lettre est un lment.
$chaine="abcd"; for($i=0;$i<strlen($chaine);$i++){ print("Lettre dindice $i est : $chaine[$i] <br>"); }

Lettre dindice 0 est : Lettre dindice 1 est : Lettre dindice 2 est : Lettre dindice 3 est :

a b c d

F.S.O

Fonctions associes aux chanes


PHP M. Oudghiri Introduction Fonctions Variables Tableaux Chanes Oprateurs Instructions Formulaires Fichiers Sessions MySql

strlen($ch) Elle retourne le nombre de caractres dans la chane $ch. strlen("abcd") retourne 4 strtolower($ch) Elle retourne la chane $ch avec toutes les caractres en miniscule. strtolower("MySql Php") retourne "mysql php" strtoupper($ch) Elle retourne la chane $ch avec toutes les caractres en majuscule. strtoupper("MySql Php") retourne "MYSQL PHP" ucwords($ch) Elle retourne la chane avec toutes les initiales des mots qui la composent en majuscules. ucwords("mySql php") retourne "MySql Php"

F.S.O

Fonctions associes aux chanes


PHP M. Oudghiri Introduction Fonctions Variables Tableaux Chanes Oprateurs Instructions Formulaires Fichiers Sessions MySql

ucrst($ch) Elle retourne la chane avec la premire lettre en majuscule. ucrst("mySql php") retourne "MySql php" Fonctions : ltrim($ch,$l), rtrim($ch,$l) et trim($ch,$l) Ces trois fonctions suppriment de la chane $ch une liste de caractres dnis dans $l. ltrim agit sur le dbut de la chane $ch : ltrim("b .e abc.de . b e"," .be") retourne "abc.de . b e" rtrim agit sur la n de la chane $ch : rtrim("b .e abc.de . b e"," .be") retourne "b .e abc.d" trim agit sur le dbut et la n de la chane $ch : trim("b .e abc.de . b e"," .be") retourne "abc.d" En labsence du paramtre $l, uniquement les espaces vides seront crass.

F.S.O

Fonctions associes aux chanes


PHP M. Oudghiri Introduction Fonctions Variables Tableaux Chanes Oprateurs Instructions Formulaires Fichiers Sessions MySql

addslashes($ch) Elle rajoute le caractre dchappement \devant les caractres spciaux : Guillemet , double guillemets ", antislash \, le caractre null (espace). addslashes("Mhamed\Nagy") retourne "M\hamed\\Nagy" htmlspecialchars($ch) htmlspecialchars($ch) remplace certains caractres spciaux dans $ch par leurs quivalents en HTML : &, ", , <, >.
htmlspecialchars("<a href=mapage>Tome & Jerry</a>") "&lt;a href=mapage&gt;Tome &amp; Jerry&lt;/a&gt;"

retourne

F.S.O

Fonctions associes aux chanes


PHP M. Oudghiri Introduction Fonctions Variables Tableaux Chanes Oprateurs Instructions Formulaires Fichiers Sessions MySql

strstr($ch,$ch1) Elle recherche $ch1 dans $ch. Selle est prsente, la fonction retourne la portion de $ch allant de la premire occurence de $ch1 jusqu la n de $ch; sinon elle ne renvoie rien. La recherche est sensible la casse. Pour effectuer une recherche ne tenant pas compte de la casse, on utilise la fonction stristr($ch;$ch1). strstr(abcdabcd,bc) retourne bcdabcd strrchr($ch, $l) Elle retourne la portion de $ch commenant partir de la dernire occurrence de $l. strrchr("a%c a%dea%fg","a%") retourne a%fg

F.S.O

Fonctions associes aux chanes


PHP M. Oudghiri Introduction Fonctions Variables Tableaux Chanes Oprateurs Instructions Formulaires Fichiers Sessions MySql

substr($ch,$n,$l) Elle retourne la portion de $ch de longueur $l qui commence au caractre $n. Cas $n ngatif : la portion commence au caractre numro $n compter de la n de $ch. Cas $l ngatif : la portion se termine au caractre numro -$l-1. Cas dabsence de $l : la portion se termine la n de $ch.
substr("abcdefgh","1","2") retourne "bc" substr("abcdefgh","-5","3") retourne "def" substr("abcdefgh","1","-2") retourne "bcdef" substr("abcdefgh","-5","-3") retourne "de"

substr_count($ch;$ch1) Elle retourne le nombre doccurrences de $ch1 dans $ch.

F.S.O

substr_count("abcdabefabgh","ab") retourne 3

Fonctions associes aux chanes


PHP M. Oudghiri Introduction Fonctions Variables Tableaux Chanes Oprateurs Instructions Formulaires Fichiers Sessions MySql

str_replace($ch1,$r,$ch) Elle retourne une chane dont toutes les occurrences de $ch1 dans $ch sont remplaces par $r.
str_replace("ab","%","abcdabefabgh") retourne "%cd%ef%gh"

Chanes et tableaux explode($sep,$ch) : retourne un tableau dont les lments sont les portions de $ch spares par $sep.

F.S.O

PHP M. Oudghiri Introduction Fonctions Variables Tableaux Chanes Oprateurs Instructions Formulaires Fichiers Sessions MySql

Expressions Une expression est forme par des constantes et des variables relis par des oprateurs. $x = $y + 5 : est une expression obtenue en appliquant loprateur + aux oprandes $y et $5. En PHP, il existe deux type doprateurs arithmtiques : Oprateurs binaires Ils porte sur deux oprandes : +, -, /, *. PHP dispoe aussi de loprateur modulo % : $a%$b retourne le reste de la division de $a par $b. Oprateurs unaires Ils font intervenir un seul oprande : -$a retourne loppos de $a.

F.S.O

Oprateur daffectation
PHP M. Oudghiri Introduction Fonctions Variables Tableaux Chanes Oprateurs Instructions Formulaires Fichiers Sessions MySql

Laffectation est lopration dattribuer une valeur une variable. Elle se fait avec loprateur =. Exemple : $x = 2. Il est impratif que loprande gauche soit une variable. Le membre droit peut tre une constante, une variable, ou une expression quelconque : $y=$x+2. Laffectation est une expression qui possde une valeur gale celle de son membre droit : lexpression $x = 2 a la valeur 2. loprateur daffectation possde une associativit de droite gauche : lexpression $z = $x = 2 signie que $x = 2 sera dabord value, et puis sa valeur sera attribue $z. Oprateur += -= *= /= %= Syntaxe a += b a -= b a *= b a /= b a %= b Signication a =a+b a =a-b a =a*b a = a /b a =a% b

F.S.O

Oprateurs dincrmentation et dcrmentation


PHP M. Oudghiri Introduction Fonctions Variables Tableaux Chanes Oprateurs Instructions Formulaires Fichiers Sessions MySql

En Java, il existe deux oprateurs unaires ++ et -- qui permettent respectivement dincrmenter et de dcrmenter de 1 la valeur dun oprande de type numrique. Oprateurs de post-incrmentation et post-dcrmentation La valeur de lexpression de post-incrment $x++ (resp. post-dcrment $x--) est celle de loprande $x. Cette expression a pour effet de bord lincrmentation (resp. la dcrmentation) de la valeur $x. Oprateurs de pr-incrmentation et pr-dcrmentation La valeur de lexpression de pr-incrment ++$x (resp. pr-dcrment --$x) est celle de loprande $x aprs incrmentation (resp. dcrmentation).
$i=1; print($i++); // afche la valeur 1 et puis incrmente de 1 print($i);// afche la valeur 2 print(++$i);// afche la valeur 3

F.S.O

Oprateurs de comparaison
PHP M. Oudghiri Introduction Fonctions Variables Tableaux Chanes Oprateurs Instructions Formulaires Fichiers Sessions MySql

PHP dispose des oprateurs qui permettent de comparer des expressions. Le rsultat retourn est lune des deux valeurs boolennes : TRUE ou FALSE. Les oprateurs de comparaisons dexpressions arithmtiques. Oprateur signication < infrieur strictement > suprieur strictement <= infrieur ou gale >= suprieur ou gale Les oprateurs suivants sappliquent tous les types de variables. Oprateur signication == gale != diffrent <> diffrent

F.S.O

Oprateurs logiques
PHP M. Oudghiri Introduction Fonctions Variables Tableaux Chanes Oprateurs Instructions Formulaires Fichiers Sessions MySql

PHP dispose doprateurs logiques avec lesquels on peut former des expressions de valeur boolenne. Oprateur Ngation Et binaire Et logique Ou binaire Ou logique Ou exclusif Syntaxe !A A && B A&B A || B A|B AB

Valeur retourne retourne true lorsque A est fausse, et false dans le cas contraire retourne true uniquement lorsque A et B sont vrais. A et B sont toujours values retourne true uniquement lorsque A et B sont vrais. B nest value que si A est vraie retourne true lorsquau moins A ou B est vrai. A et B sont toujours values retourne true lorsquau moins A ou B est vrai. B nest value que si A est fausse retourne true uniquement lorsque un et un seul des oprandes A et B est vrai

F.S.O

Oprateur conditionnel
PHP M. Oudghiri Introduction Fonctions Variables Tableaux Chanes Oprateurs Instructions Formulaires Fichiers Sessions MySql

Il sagit de loprateur ternaire ? : . Syntaxe : expr1 ? expr2 : expr3 Cette expression est value expr2 si expr1 est valu TRUE, et expr3 si expr1 est valu FALSE.
$i=5; echo $i%2==0 ? pair : impair;// afche impair

F.S.O

Oprateur de concatnation
PHP M. Oudghiri Introduction Fonctions Variables Tableaux Chanes Oprateurs Instructions Formulaires Fichiers Sessions MySql

PHP dispose de deux oprateurs de concatnations de chanes de caractres : Oprateur . Il retourne la concatnation de ces deux arguments essentiellement de type string.
$nom = "yousse"; $prenom = "Kamal"; echo "Vous vous appelez : ".$nom." ".$prenom; //afche Vous vous appelez : yousse Kamal

Oprateur .= Syntaxe $a .=chaine. Cette expression est quivalente $a=$a.chaine.


$nom = "yousse"; $prenom = "Kamal"; $phrase = "Vous vous appelez : "; $phrase .=$nom; echo $phrase;// Vous vous appelez : yousse $phrase .=" ".$prenom; echo $phrase; // afche Vous vous appelez : yousse Kamal

F.S.O

Oprateur de suppression derreur


PHP M. Oudghiri Introduction Fonctions Variables Tableaux Chanes Oprateurs Instructions Formulaires Fichiers Sessions MySql

Ce code produit un message derreur qui correspond la division par 0. Pour viter lafchage des messages derreur de PHP dans le navigateur, il suft de prcder lappel dune fonction par le caractre @. Ainsi, si on remplace print par @print dans ce code, aucun message derreur ne sera gnr.

$a=5; $b=0; print($a/$b); // Rsultat : Warning: Division by zero $a=5; $b=0; @print($a/$b); // Rsultat :

F.S.O

Instruction
PHP M. Oudghiri Introduction Fonctions Variables Tableaux Chanes Oprateurs Instructions Formulaires Fichiers Sessions MySql

Instruction Une instruction correspond toujours une action mener et se termine par un point-virgule. Bloc Par un bloc on dsigne une suite dinstructions places entre accolades. En PHP, les instructions sexcutent lune aprs lautre. Pour chapper cette rgle, PHP fournit les instructions de contrle qui dnissent lordre dexcution. On en distingue deux types : Instructions de contrle qui permettent deffectuer un choix : if ... else et switch. Instructions de contrle pour raliser des boucles : do ... while, while et for.

F.S.O

Instruction If
PHP M. Oudghiri Introduction Fonctions Variables Tableaux Chanes Oprateurs Instructions Formulaires Fichiers Sessions MySql

Linstruction If possde la syntaxe suivante : if(condition1) instruction1 elseif(condition2) instruction2 else instruction3

$nombre=5.4; if($nombre>0) echo $nombre." est positif"; elseif($nombre<0) {echo $nombre." est ngatif";} else echo $nombre. "est nul";

conditions 1 et 2 sont des expressions valeurs boolennes else et elseif sont facultatifs les instructions 1, 2 et 3 peuvent tre simples ou des blocs

F.S.O

Instruction switch
PHP M. Oudghiri Introduction Fonctions Variables Tableaux Chanes Oprateurs Instructions Formulaires Fichiers Sessions MySql

switch gnralise linstruction if en offrant de multiples choix. Syntaxe :


switch (expression) { case constante 1 : liste d instructions 1 case constante 2 : liste d instructions 2 . . . case constante N : liste d instructions N default : liste d instructions }

Linstruction switch commence par rechercher la premire constante gale la valeur de lexpression. La liste dinstructions correspondante est excute, et puis celles correspondantes aux constantes suivantes sont galement excutes jusqu la rencontre de la premire instruction break. Celle-ci demande de sortir du bloc et donc termine lexcution de linstruction switch. On peut remplacer les constantes par des variables. Linstruction default est facultative. Elle sert traiter tous les cas non prciss dans la liste "case".

F.S.O

Instruction switch
PHP M. Oudghiri Introduction Fonctions Variables Tableaux Chanes Oprateurs Instructions Formulaires Fichiers Sessions MySql

$i=6; switch ($j ){ case 1 : case 2 : case 3 : case 4 : case 5 : case $i : case 7 : Default : }

print("jour ".$j." : $j++; print("jour ".$j." : --$j; print("jour ".$j." : print("jour ".$j." : break ;

Lundi<br>"); Mardi<br>"); Mercredi<br>"); Jeudi<br>");

print("jour ".$j." : Samedi<br>"); break; print("jour ".$j." : Dimanche<br>"); print("jour ".$j." inconnu<br>");

$j=1 produit : jour 1 : Lundi jour 2 : Mardi jour 1 : Mercredi jour 1 : Jeudi

$j=6 produit : jour 6 : Samedi //ce cas correspond // $j=$i //

$j=8 produit : jour 8 inconnu //instruction default est //excute //

F.S.O

Instruction while
PHP M. Oudghiri Introduction Fonctions Variables Tableaux Chanes Oprateurs Instructions Formulaires Fichiers Sessions MySql

Sa syntaxe est : while (condition) liste dinstructions la condition, qui est valeur boolenne, est dabord value. Si elle vaut true, les instructions sont excutes. Dans le cas contraire, lexcution de while sarrte.
//script pour dcomposer un entier non nul //en produit de nombres premiers. $n= -35699290; print("n = ".$n." = "); if($n <0){ print ("-"); $n=-$n; } print("1"); $k=2; while ($n!=1 & $n !=0){ if($n%$k ==0){ print ("*".$k); $n /=$k; } else{ $k++; } }

? False 
condition

Fin de while

True ?
Instructions

F.S.O

Instruction do ... while


PHP M. Oudghiri Introduction Fonctions Variables Tableaux Chanes Oprateurs Instructions Formulaires Fichiers Sessions MySql

Contrairement linstruction while, la liste dinstructions correspondant do ... while est dabord excute, puis la condition est value : selle vaut true le processus recommence, sinon lexcution sarrte. Sa syntaxe est : do liste dinstructions while (condition);
//calcul de pgcd de deux entiers. $n=44730; $m=622125; if($n>$m){ $p=$n; $q=$m; } else{ $p=$m; $q=$n; } do{ $r=$p%$q; $p=$q; $q=$r; } while ($r != 0); print("le pgcd de ".$m." et ".$n." vaut ".$p);

? Instructions

? 
True

condition False- Fin de do...while

liste dinstructions est toujours excute au moins une fois indpendamment de la valeur de la condition.

F.S.O

Instruction for
PHP M. Oudghiri Introduction Fonctions Variables Tableaux Chanes Oprateurs Instructions Formulaires Fichiers Sessions MySql

Sa syntaxe est : Expression 1 : peut comfor( Expression 1; Expression porter plusieurs expressions, 2; Expression 3){ spares par des virgules, de Liste dinstructions dclarations de variables } quon initialise (compteurs). Elle est value une seule fois avant dentrer dans la boucle. Expression 2 : forme par une seul expression boolenne qui conditionne la poursuite de la boucle. Expression 3 : peut contenir plusieurs expressions, spares par des virgules, dincrmentation. Elle est value la n de chaque parcours. //Afche : for($i=2,$j=2;$i <5;$i++,$j+=$i){ 2*2 vaut 4 $k=$i*$j; 3*5 vaut 15 print($i."*".$j." vaut ".$k."<br>"); } 4*9 vaut 36

F.S.O

Instruction foreach
PHP M. Oudghiri Introduction Fonctions Variables Tableaux Chanes Oprateurs Instructions Formulaires Fichiers Sessions MySql

Linstruction foreach permet de parcourir les tableaux. Il ya deux syntaxes possibles :


foreach($tableau as $value){ Liste dinstructions } foreach($tableau as $key => $value){ Liste dinstructions }

A chaque itration, la valeur de llment courant est affecte $value et le pointeur interne du tableau est avanc dun lment.
$person = array( "nom" => "toto", "AnnNaiss" => "1983"); foreach($person as $v ){ echo $v.<br>; } // Afche : // toto // 1983

A chaque itration, la valeur de la cl et la valeur de llment courant sont affectes respectivement $key et $value, et le pointeur interne du tableau est avanc dun lment.
$person = array( "nom" => "toto", "AnnNaiss" => "1983"); foreach($person as $k => $v ){ echo $k. : .$v.<br>; } // Afche : // nom : toto // AnnNaiss : 1983

F.S.O

Instruction Break
PHP M. Oudghiri Introduction Fonctions Variables Tableaux Chanes Oprateurs Instructions Formulaires Fichiers Sessions MySql

Elle est utilis essentiellement dans linstruction switch et les boucles while et for. Il permet de sortir de la boucle et passer linstruction suivante :
for($i=0;$i <=4;$i++){ print ("i = ".$i."<br>"); if($i==2) break; } print ("Fin de la boucle "); Afche : i=0 i=1 i=2 Fin de la boucle

Break accepte un paramtre qui indique de combien de niveaux remonter si plusieurs boucles sont imbriques.
$i=1; print("i j k<br>"); while ($i <4){//boucle i for($j=1;$j <4;$j++){//boucle j for($k=1;$k <4;$k++){//boucle k print($i.$j.$k."<br>"); if($k ==2){ echo "k=".$k.":je sors des boucles k,j<br>"; break 2 ;} if($i==3){ echo "i=".$i.":je sors des boucles k,j,i<br>"; break 3;} } } $i++; }

Afche : ijk 111 112 k = 2 : je sors des boucles k et j 211 212 k = 2 : je sors des boucles k et j 311 i = 3 : je sors des boucles k, j, i

F.S.O

Instruction continue
PHP M. Oudghiri Introduction Fonctions Variables Tableaux Chanes Oprateurs Instructions Formulaires Fichiers Sessions MySql

Elle permet de sauter les instructions situes jusqu la n de la boucle, et de passer litration suivante.
for($i=0;$i <=4;$i++){ if($i==2) { echo "je saute i=".$i."<br>"; continue; } print ("i = ".$i."<br>"); } Afche : i=0 i=1 je saute i=2 i=3 i=4

Linstruction continue accepte un paramtre qui indique de combien de niveaux remonter si plusieurs boucles sont imbriques.
$i=1; print("i j k<br>"); while ($i <4){//boucle i for($j=1;$j <4;$j++){//boucle j for($k=1;$k <4;$k++){//boucle k if($k ==2){ print("k = ".$k." : je saute ".$i.$j.$k." et $i ->".++$i."<br>"); continue 2 ; } print($i.$j.$k."<br>"); } } $i++; }

Afche : ijk 111 k = 2 : je saute 112 et $i ->2 221 k = 2 : je saute 222 et $i ->3 331 k = 2 : je saute 332 et $i ->4

F.S.O

Formulaire
PHP M. Oudghiri Introduction Fonctions Variables Tableaux Chanes Oprateurs Instructions Formulaires Fichiers Sessions MySql

Les formulaires assurent une interactivit entre linternaute et le serveur. Les donnes saisies et valides dans la page html sont envoyes au serveur en utilisant une des mthodes suivantes : Mthode Get : les donnes du formulaire seront codes dans lURL et spares de ladresse par (?). Mthode Post : les donnes du formulaire seront envoyes dans le corps de la requte. Lattribut action permet spcier le chier qui traiter, dans le serveur, donnes saisies dans le mulaire. de va les for<form method="post" action="chier.php"> <input type= "text" name="login"> <br> <input type= "password" name= "pass"> <br> <input type= "submit"> <br> </form>

Les donnes envoyes au serveur sont contenues dans des tableaux associatifs, dits superglobaux, appels $_POST et $_GET, selon la mthode choisie. Les cls de ces tableaux sont les noms associs aux champs par lattribut name.

F.S.O

Avec extract($_GET) et extract($_POST), la valeur de $_POST[nom] sera affecte la variable $nom.

Exemple de formulaire
PHP M. Oudghiri Introduction Fonctions Variables Tableaux Chanes Oprateurs Instructions Formulaires Fichiers Sessions MySql

<! Fichier index.html > <html> <head> <title></title> </head> <body> <form method="post" action="chier.php"> Nom : <input type="text" name="nom"></input></br> Prnom : <input type="text" name="prenom"></input></br> Civilit : <select name="civilite"> <option value="M.">Monsieur</option> <option value="Mme">Madame</option> <option value="Mlle.">Mademoiselle</option> </select></br> Password : <input type="password" name="pass"></input></br> Loisirs : <textarea name="loisirs"></textarea></br> <input type="submit" value="Valider"></input> </form> </body> </html>

Formulaire

Validation > Votre nom est M. yousse khalid Votre mot de passe est : a1b2 Vos loisirs : sport, voyage, lecture

F.S.O

<! Fichier chier.html > <html> <head><title>Donnes du Formulaire</title></head> <body> Votre nom est <?php echo $_POST[civilite]. .$_POST[nom]. .$_POST[prenom];?></br> Votre mot de passe est : <?php echo $_POST[pass] ?></br> Vos loisirs : <?php echo $_POST[loisirs] ?> </body> </html>

Champs valeurs multiples


PHP M. Oudghiri Introduction Fonctions Variables Tableaux Chanes Oprateurs Instructions Formulaires Fichiers Sessions MySql

Certains lments de formulaire peuvent accepter plusieurs valeurs comme le cas des cases cocher et les liste choix multiples. Lensemble des valeurs dun tel lment est envoy au serveur sous forme de tableau.
<! index.html > <form action="chier.php" method="post"> Cochez vos loisirs :<br> Lecture <input type="checkbox" name="loisirs[]" value="Lecture"><br> Voyage <input type="checkbox" name="loisirs[]" value="Voyages"><br> Sport<input type="checkbox" name="loisirs[]" value="Sport"><br> Cinma<input type="checkbox" name="loisirs[]" value="Cinma"><br> Slctionnez les pays visits :<br> <select name="pays[]" multiple="multiple"> <option value="Maroc">Maroc</option> <option value="Algrie">Algrie</option> <option value="France">France</option> <option value="Espagne">Espagne</option> </select> <br> <input type="submit" value="valider"> </form> Vos loisirs sont : <?php foreach($_POST[loisirs] as $c => $v){ echo $v. ;} ?> <br> Vous avez visit les pays suivants : <?php foreach($_POST[pays] as $c => $v){ echo $v. ; } ?>

F.S.O

Formulaire valid -> Vos loisirs sont : Lecture Sport Vous avez visit les pays suivants : Algrie Espagne

Envoi de donnes dans lURL


PHP M. Oudghiri Introduction Fonctions Variables Tableaux Chanes Oprateurs Instructions Formulaires Fichiers Sessions MySql

Il est possible de transmettre des donnes dans lURL et les rcuprer dans le tableau $_GET. Exemple :Le lien chierCible.php?nom=ali&prenom=yousse transmet chierCible.php les deux valeurs suivantes : $_GET[nom]="ali" et $_GET[nom]="yousse"

F.S.O

Transfert de chier
PHP M. Oudghiri Introduction Fonctions Variables Tableaux Chanes Oprateurs Instructions Formulaires Fichiers Sessions MySql

Un formulaire permet aussi denvoyer un chier au serveur laide de la balise input de type le. Une telle opration ncessite que form ait lattribut method la valeur post et enctype la valeur multipart/form-data. Comme lopration denvoi de chier peut prsenter un problme de scurit pour un site, lattribut accept permet de dterminer les types de chiers accepts. A laide dun champs cach nomm MAX_FILE_SIZE, on peut limiter la taille des chiers transfrs. Une fois le chier est envoy au serveur, il subit le traitement suivant : le chier arrive sur un dossier temporaire et portant un nom diffrent. Ce dossier est dni dans php.ini par la directive upload_tmp_dir, et en cas de son absence, php utilise le dossier tmp du systme. Le chier peut tre enregistr dans le dossier voulu laide de la fonction move_uploaded_le( "chierTmp", "chierFinal") qui retourne true si lopration est russi et false sinon.

F.S.O

Transfert chier
PHP M. Oudghiri Introduction Fonctions Variables Tableaux Chanes Oprateurs Instructions Formulaires Fichiers Sessions MySql

Lenvoie dun chier conduit la cration dun tableau associatif multidimensionnel contenant les informations suivantes : $_FILES["chier"]["name"] : contient le nom que le chier possdait avant lenvoie. $_FILES["chier"]["type"] : contient le type du chier. $_FILES["chier"]["size"] : contient la taille du chier en octet. $_FILES["chier"]["tmp_name"] : contient le nom temporaire que le serveur a attribu au chier. $_FILES["chier"]["error"] : donne le code dune ventuelle erreur.
valeur 0 : transfert russi. valeur 1 : taille du chier dpasse celle autorise dans le chier php.ini. valeur 2 : taille du chier dpasse celle autorise dans le champs MAX_FILE_SIZE. valeur 3 : chier a t tlcharg partiellement. valeur 4 : chier non tlcharg.

F.S.O

Exemple de transfert de chier


PHP M. Oudghiri Introduction Fonctions Variables Tableaux Chanes Oprateurs Instructions Formulaires Fichiers Sessions MySql

<! index.html > <form action="chier.php" method="post" enctype="multipart/form-data"> <input type="hidden" name="MAX_FILE_SIZE" value="1000000" /> <b>Slectionnez le chier envoyer :</b></br> <input type="le" name="chier" accept="image/png" size="50"/><br/> <input type="submit" value="Envoyer" /> </form> <?php // chier.php echo "Taille maximale autorise : ".$_POST["MAX_FILE_SIZE"]; echo "<b>Cls et valeurs du tableau $_FILES </b><br />"; foreach($_FILES["chier"] as $cle => $valeur){ echo "cl : $cle valeur : $valeur <br />"; } $result=move_uploaded_le($_FILES["chier"]["tmp_name"],"doc.pdf"); if($result==TRUE){ echo "Le transfert est ralis !"; } else{echo "Erreur de transfert numro ".$_FILES["chier"]["error"];} ?>

F.S.O

Cration, ouverture et fermeture dun chier


PHP M. Oudghiri Introduction Fonctions Variables Tableaux Chanes Oprateurs Instructions Formulaires Fichiers Sessions MySql

Cration et ouverture dun chier La fonction fopen(nom,mode) permet douvrir le chier, ou le crer sil nexiste pas. Elle retourne un identiant du chier, ou false en cas dchec. Le paramtre mode dtermine le type daccs au chier r : ouverture en lecture seulement. w : ouverture en criture seulement. a : ouverture en criture seulement avec ajout du contenu la n du chier. r+ ou w+ : ouverture en lecture et criture. a+ : ouverture en lecture et criture avec ajout du contenu la n du chier. Avec les modes : w, a, w+, a+, le chier sera cr sil nexiste pas. Fermeture dun chier

F.S.O

La fonction fclose($idFichier) ferme le chier dont lidentiant est $idFichier.

Fichier : lecture et criture


PHP M. Oudghiri Introduction Fonctions Variables Tableaux Chanes Oprateurs Instructions Formulaires Fichiers Sessions MySql

Ecriture dans un chier La fonction fwrite($idFichier,$chaine) crit le texte contenu dans $chaine dans le chier didentiant $idFichier. Lecture dun chier fread($idFichier,$n) : lit le chier didentiant $idFichier jusqu $n octets (i.e $n caractres). fgets($idFichier,$n) : lit le chier didentiant $idFichier. La lecture sarrte aprs $n caractres ou si \n est rencontr. fgetc($idFichier) : lit le chier caractre par caractre.
$idFichier=fopen(teste.txt,a+); ##Cration et ouverture du teste.txt dans le dossier racine. ##Lidentiant du chier est mmoris dans la variable $idFichier fwrite($idFichier,"Jcrit la premire ligne \n"); //criture en premire ligne fwrite($idFichier,"Jcrit la deuxime ligne \n"); //criture en deuxime ligne (mode a+) $contenu = nl2br(htmlentities(fread($idFichier,lesize(teste.txt)),ENT_QUOTES,utf-8)); ## la fonction nl2br transforme \n en <br> ## la fonction htmlentities remplace tous les caractres spciaux par leurs quivalents en html print($contenu); while($ligne=fgets($idFichier,30)){print($ligne).<br>;} ##Ces 2 instructions afchent "Jcrit la premire ligne <br>Jcrit la deuxime ligne" fclose($idFichier);

F.S.O

Pointeurs
PHP M. Oudghiri Introduction Fonctions Variables Tableaux Chanes Oprateurs Instructions Formulaires Fichiers Sessions MySql

seek($idFichier,$n) Elle positionne un pointeur la position $n du chier didentiant $idFichier partir du dbut. Elle returne true, ou -1 en cas dchec. rewind($idFichier) On lutilise pour remettre le pointeur au dbut du chier didentiant $idFichier. Elle retourne false en cas dchec. ftell($idFichier) Elle retourne la position actuelle du pointeur par rapport au dbut du chier.
$idFichier=fopen(teste.txt,r+); fwrite($idFichier,"abc def ghi\n jkl mno pqr"); fseek($idFichier,2); echo fread($idFichier,4); ##Afche "c de" echo "<br>position :".ftell($idFichier);##Afche "position :6" rewind($idFichier); echo "<br>".fread($idFichier,lesize(teste.txt)); ##Afche "abc def ghi jkl mno pqr" fclose($idFichier);

F.S.O

Autres fonctions
PHP M. Oudghiri Introduction Fonctions Variables Tableaux Chanes Oprateurs Instructions Formulaires Fichiers Sessions MySql

Lecture de la totalit dun chier readle($chier) : Afche le contenu du chier et retourne sa taille en octes. le($chier) : retourne un tableau dont les lments sont constitus par les lignes du chier. Ces 2 fonctions ne demandent pas lutilisation de fopen et fclose. Copier un chier dans un autre copy($chier1,$chier2) permet de sauvegarder le contenu de $chier1 dans $chier2. Elle retourne une valeur boolenne. Renommer un chier rename($chier1,$chier2) permet de renommer $chier1 en $chier2. Elle retourne une valeur boolenne. Supprimer un chier

F.S.O

unlink($chier) permet de supprimer $chier. Elle retourne une valeur boolenne.

Autres fonctions
PHP M. Oudghiri Introduction Fonctions Variables Tableaux Chanes Oprateurs Instructions Formulaires Fichiers Sessions MySql

Existence dun chier le_exists($chier) retourne une vakeur boolenne selon que le chier existe ou non. Taille dun chier lesize($chier) retourne la taille en octets de $chier. Type : chier, dossier letype($chier) retourne le sil sagit dun chier ou dir si $chier est un dossier. Date de dernire modication dun chier lemtime($chier) retourne timestamp de dernire modication de $chier.

F.S.O

Cest quoi une session


PHP M. Oudghiri Introduction Fonctions Variables Tableaux Chanes Oprateurs Instructions Formulaires Fichiers Sessions MySql

En php, la session est un mcanisme qui permet de conserver certaines valeurs associes au mme utilisateur. En effet, ces valeurs de session sont stockes sur le serveur pour une dure dtermine, et elles sont accessibles depuis toutes les pages du site. Fonctionnement Ouverture dune session laide de la fonction session_start() au dbut de chaque page o des valeurs de sessions peuvent tre utilises. Un identiant de session est alors attribu chaque utilisateur. Il est transmis dune page une autre. Il est possible dassocier plusieurs valeur la session en utilisant le tableau super-global $_SESSION. Ces valeurs sont stockes dans un chier sur le serveur. Ces valeurs sont accessibles depuis toutes les pages du site commenant par session_start(); Fermeture de la session et destruction des valeurs de session.

F.S.O

Exemple et fonctions de session


PHP M. Oudghiri Introduction Fonctions Variables Tableaux Chanes Oprateurs Instructions Formulaires Fichiers Sessions MySql

<?php ### index.php session_start(); $_SESSION[TESTE]=BONJOUR; ?>

<?php ### chier.php session_start(); echo $_SESSION[TESTE]; /* afche : BONJOUR */ ?>

session_start() : ouvre une session session_id() : retourne lidentiant de la session session_destroy() : dtruit la session session_unset() : dtruit toutes les variables de session
<?php session_start();## ouverture de session $_SESSION[a]=bonjour;## variable de session echo session_id();## afche frttjhmghbpovf2vuq05b68fv1 session_unset();## dtruit toutes les variables de session echo <br>.session_id();## afche frttjhmghbpovf2vuq05b68fv1 if(isset($_SESSION[a]))## ne sera pas excut car $_SESSION[a] est dtruite echo <br>$_SESSION[=.$_SESSION[a]; ] session_destroy();## dtruit la session echo <br>.session_id();## nafche rien car la session est dtruite ?>

F.S.O

Cration dune Base de donnes


PHP M. Oudghiri Introduction Fonctions Variables Tableaux Chanes Oprateurs Instructions Formulaires Fichiers Sessions MySql

La cration dune base de donnes se fait laide de PhpMyAdmin.

F.S.O

Cration dune table


PHP M. Oudghiri Introduction Fonctions Variables Tableaux Chanes Oprateurs Instructions Formulaires Fichiers Sessions MySql

Une fois la base de donnes MasElec est cre, on peut crer une table en fournissant : Le nom de la table. Le nombre de ses attributs.

F.S.O

Cration dune table


PHP M. Oudghiri Introduction Fonctions Variables Tableaux Chanes Oprateurs Instructions Formulaires Fichiers Sessions MySql

Colonne : nom de lattribut Type : numrique, alphanumrique, date, ... Taille : longueur de la donne en octets. Dfaut : valeur par dfaut Interclassement : Jeu de caractres Attributs : binaire, non sign, ... Primaire : cl de la table : auto-incrment : incrmentation automatique

F.S.O

Fonctionnement
PHP M. Oudghiri Introduction Fonctions Variables Tableaux Chanes Oprateurs Instructions Formulaires Fichiers Sessions MySql

Laccs aux donnes dune base suit les tapes suivantes : Ouverture de la connexion sur le serveur MySql Slection de la base de donnes Dnition de la requte excution de la requte Extraction des donnes Fermeture de la connexion

F.S.O

Connexion au serveur et slection de la base


PHP M. Oudghiri Introduction Fonctions Variables Tableaux Chanes Oprateurs Instructions Formulaires Fichiers Sessions MySql

mysql_connect("hostname", "username", "password") tablit la connexion au serveur. hostname : nom du serveur username : login pour accder la base password : mot de passe associ au login Elle retourne lidentiant de type ressource si la connexion est russie, et false sinon. mysql_select_db ("database", "resource") Permet de slectionner la base de donnes database : nom de la base de donnes ressource (Facultatif) : identiant de la connexion
<?php $mysql=mysql_connect("localhost","root","oiym"); echo "mysqlConnect".$mysql; $connexion_base=mysql_select_db("masterElect",$mysql); if($connexion_base) print("connexion russie");// Afche connexion russie else print("connexion choue"); ?>

F.S.O

Requtes
PHP M. Oudghiri Introduction Fonctions Variables Tableaux Chanes Oprateurs Instructions Formulaires Fichiers Sessions MySql

Excution dune requte Lenvoie dune requte SQL la base de donnes slectionne se fait laide de la fonction mysql_query(). Insertion de donnes Syntaxe :
$requete="INSERT INTO personne (id,nom,prenom,anneeNaiss) VALUE (,toto,tati,1988)"; mysql_query($requete));

La fonction mysql_query() retourne TRUE si la requte est russie, et FALSE sinon. Modication de donnes Syntaxe :
$requete="UPDATE personne SET prenom=tata, anneeNaiss=1991 WHERE id=1"; mysql_query($requete);

F.S.O

La fonction mysql_query() retourne TRUE si la requte est russie, et FALSE sinon.

Requtes
PHP M. Oudghiri Introduction Fonctions Variables Tableaux Chanes Oprateurs Instructions Formulaires Fichiers Sessions MySql

Suppression de donnes Syntaxe :


$requete="DELETE FROM personne WHERE id=1"; mysql_query($requete);

La fonction mysql_query() retourne TRUE si la requte est russie, et FALSE sinon.

F.S.O

Requtes
PHP M. Oudghiri Introduction Fonctions Variables Tableaux Chanes Oprateurs Instructions Formulaires Fichiers Sessions MySql

Slection de donnes Syntaxe :


$requete="SELECT nom, prenom FROM personne WHERE prenom=ali"; $resultat=mysql_query($requete) ;

La fonction mysql_query() retourne une ressource si la requte est russie, et FALSE sinon. La fonction mysql_num_rows() retourne le nombre denregistrement dans la ressource.
$result contient deux enregistrements mysql_num_rows($result) retourne 2.

F.S.O

Lafchage des rsultats se fait laide des fonctions suivantes: mysql_fetch_row() : retourne une ligne denregistrement sous forme de tableau index numriquement. mysql_fetch_assoc() : retourne une ligne denregistrement sous forme de tableau dont les cls sont les attributs de la

Requtes
PHP M. Oudghiri Introduction Fonctions Variables Tableaux Chanes Oprateurs Instructions Formulaires Fichiers Sessions MySql

Slection de donnes
$requete="SELECT nom, prenom FROM personne WHERE prenom=ali"; $resultat=mysql_query($requete) ; while($ligne=mysql_fetch_row($resultat)){ print($ligne[0]. .$ligne[1].<br>); } Rsultat : yousse ali louzari ali $requete="SELECT nom, prenom FROM personne WHERE prenom=ali"; $resultat=mysql_query($requete) ; while($ligne=mysql_fetch_assoc($resultat)){ print($ligne[nom]. .$ligne[prenom].<br>); } Rsultat : yousse ali louzari ali

mysql_free_result($resulta) permet deffacer le rsultat de la mmoire pour viter une saturation de la zone mmoire. Fermeture de la connexion mysql_close() ferme la connexion Mysql. Syntaxe :
<?php $mysql=mysql_connect("localhost","root","oiym"); . . mysql_close($mysql);

F.S.O

Appel dun chier php


PHP M. Oudghiri Introduction Fonctions Variables Tableaux Chanes Oprateurs Instructions Formulaires Fichiers Sessions MySql

Dans un site, il est conseill de mettre les fonctions et les constantes dans un chier spar an de pouvoir les utiliser dans dautre chiers php. Lappel dun tel chier se fait avec include("NomDuFichier") ou require("NomDuFichier").
<?php #####chier.php###### function parite($x){ if(is_int($x)){ if($x%2==0){ return "$x est pair"; } else{ return "$x est impair"; } } else{ return "$x nest pas un entier"; } } ?>

<?php #####index.php###### include("chier.php"); print(parite(3)); //Rsultat : 3 est impair ?>

<?php #####index.php###### require("chier.php"); print(parite(3)); //Rsultat : 3 est impair ?>

F.S.O

Redirection du navigateur
PHP M. Oudghiri Introduction Fonctions Variables Tableaux Chanes Oprateurs Instructions Formulaires Fichiers Sessions MySql

La fonction header() permet de rediriger le navigateur vers une autre URL passe en paramtre. Lappel de cette fonction doit tre fait avant quaucun contenu HTML ne soit envoy.
header(Location: http://www.google.fr);

F.S.O

S-ar putea să vă placă și