[PDF] I-7 Opérateurs en PHP La gratuité et la disponibilité





Previous PDF Next PDF



Cours PHP Accéléré

12 juil. 2022 Code inséré dans une page HTML. — Entre balises <?php et?> 4.2 Fonctionnement. 4.2.1 L'interpréteur lit un fichier source .php puis génère ...



Développer une application avec PHP et MySQL

Les formulaires en HTML. • JavaScript et CSS. • PHP. • MySQL Un logiciel est dit open source si le code source est inclus avec sa version compilée ...



Sécurité des applications Web – PHP/MySQL

18 avr. 2006 Content-Type: application/x-www-form-urlencoded. Content-Length: 11 ... code source PHP le schéma de la base de données



PHP4 et MySQL

12 oct. 2002 MySQL. Serveur. Script. PHP internet requête réponse. Document. Html appel de la page ... Le code source php est directement insérer.



PHP/MySQL: Sites dynamiques Formulaires et bases de données

13 nov. 2007 source d'informations variées : ... Les données persistantes sont stockées dans MySQL. ... Le code PHP est toujours entre < ?php et ?>.



I-7 Opérateurs en PHP

La gratuité et la disponibilité du code source (PHP est distribué sous Réaliser la page index.html qui contient un formulaire dont l'action faisant ...



les-injections-sql-le-tutoriel.pdf

12 août 2019 Contournement d'un formulaire d'authentification ... un code source PHP volontairement vulnérable ... PHP) et le SGBDR MySQL.



PHPet MySQL

En téléchargement le code source Code PHP formulaire



PHP & MySQL

10 avr. 2022 No part of this book may be reproduced or transmitted in any form or by any means ... Le code source de PHP est disponible gratuitement.



Webhacking: les failles php.pdf

Pour commencer il ne faut pas forcément être un acharné du php/mysql pour suivre ce le NULL Byte permettait d'afficher le code source d'une page php.

.
Pr charaniDéveloppement des scripts Serveur (PHP/MYSQL) 1/51 Programmation des sites web dynamiquesScripts côté serveurPHP/MYSQL

Pr E.CHARANIProfesseur Habilité de l"enseignement Supérieur à l"université Hassan-II Mohammedia.Faculté FSJESM

Pr charaniDéveloppement des scripts Serveur (PHP/MYSQL) 2/51

Chapitre1: Introductionau PHP1-Types de scripts:Généralement, on distingue deux types descripts:1-Scripts côté clients: VbScript, JavaScript2-Scripts côté serveur: ASP,JSP,PHPDans ce qui suit, on va s"intéresser aux scriptscôté serveur, exemple: PHP/MYSQL2-Qu"est-ce que PHP?PHP est un langage interprété exécuté côté serveur comme les scriptsASP, JSP ou CGI et non côté client comme Vbscript ou javascript.Pour exploiter des scripts côté serveur à savoir le PHP. Il faut installerun serveur web (Apache) avec l"interface sous windows easyPHP ouWampserver.Sa syntaxe et sa construction ressemblent a celles des langages C++ etPerl, a la différence que lePHP peut être directement intégré dans ducode HTML.Exemple:ExempleNB.Une syntaxe PHP se termine toujours par un point-virgule.

Pr charaniDéveloppement des scripts Serveur (PHP/MYSQL) 3/51

Objectifs:L"objet de ce langage est de permettre aux développeurs web d"écrire des pagesdynamiques rapidement.PHP n"est pas un langagecompilé, c"est un langage interprété par le serveur : le serveur lit lecode PHP, le transforme et génère la page HTML.Pour fonctionner, il a donc besoin d"un serveur web. De ce fait une plateforme minimalede base pour l"exécution d"un siteweb développé en PHP comprend :-l"interpréteur PHP (serveur PHP)-un serveur web (Apache, IIS, ...)Langages concurrents pour la génération des siteswebdynamiques: JSP, ASP, PYTHON,Perl, coldfusion, CGIAvantagesdu PHP:-La simplicité d"écriture descripts ;-La gratuité et la disponibilité du code source (PHP est distribué souslicence GNU GPL)-PHP supporte aussi la plupart des serveurs web: Apache (easyPHP,wampserver, xamp)-Important avantage du langage PHP est le support d"un grand nombre debases de données.-la simplicité d"interfaçageavecces bases de données.-PHP est utilisable sur la majorité des systèmes d"exploitation, commeLinux, de nombreuses variantes:Unix, Microsoft Windows, Mac OS Xetd"autres encore.3-Syntaxe générale d"un script PHP.Un script PHP est une page html qui contient un script situé entre cette page acomme extension .phpSyntaxe:syntaxe d"un script php..........code source HTML.....................code source HTML...............

Pr charaniDéveloppement des scripts Serveur (PHP/MYSQL) 4/51

Exemple:Réaliser une page html exemple (index.html ) qui f ait appe l à un sc ript côté serveurpermettant de retourner le message "on vous souhaite la bienvenue....»Etapes:iRéaliser la pageindex.htmlqui contient un formulaire dont l"action faisant appel à unscript nomméafficher.phpiRéaliser la page scriptafficher.phpiFaire la configuration nécessaire sous Wampserver ou easyPHP.iTester la connexionCodesource:exemple1


Cliquez iciRemarque:Pour exploiter des balises HTML dans un script PHP, vous devez mettre ces balises dansl"instruction echo.Exemple:exemple1PHPLa sectionDI2
");echo("vous souhaite labienvenue.......
");?>

Pr charaniDéveloppement des scripts Serveur (PHP/MYSQL) 5/51

4-Variables en PHP:Pour déclarer une variable en PHP, vous devez utiliser$nom_variableExemple:$q=10;$prix=20;$ttva=0.2;5-Opérateurs en PHPGénéralement, on distingue plusieursopérateurs:Arithmétiques:Addition: +Soustraction:-Multiplication: *Division:/Reste de la division entière:%Logiques:&&---------ET||---------OU!------------NonComparaison:<=, <>=, >== égalité!= différentOpérateurs particuliers:++,--Oper=(exemple: $X+=$Y <-->$X=$X+$Y)Exemple:Réaliser un script PHP permettant de faire les opérations suivantes:$q=10;$pu=20;$ttva=0.2;$ht=$q*$pu;$tva=$ht*$ttva;$ttc=$ht+$tva;echo('"HT=".$ht."
");echo('"TVA=".$tva."
");echo('"TVA=".$ttc."
");

Pr charaniDéveloppement des scripts Serveur (PHP/MYSQL) 6/51 vg Pr charaniDéveloppement des scripts Serveur (PHP/MYSQL) 7/51

InstructionsConditionnelles&Instructionsderépétition1. Instructions ConditionnellesOn appelleinstructionsconditionnelles:les instructionsquipermettent de tester si une condition est vraie ou non.Généralement,On distingue deuxinstructionsconditionnelles:a-Instruction IF:La syntaxe générale de l"instruction if est la suivante:If (condition){....}else{...}Exemple1:Réaliser un script permettant de gérer la connexion (login etmot de passe)Si login et mot de passe sont corrects alorsConnexion possibleMessagede bienvenue...SinonSi le login est incorrect alors messageConnexion impossible Login incorrectSi le mot de passe est incorrect alors message Connexionimpossible mot de passe incorrect.

Pr charaniDéveloppement des scripts Serveur (PHP/MYSQL) 8/51

Exemple2:Réaliser un script permettantde calculer le résultatd"une facture à partir des données q,ttva(taux de tva20%) et pu(prix unitaire).Calculer le prix hors taxe,remise,tva et le ttcSi 0 Pr charaniDéveloppement des scripts Serveur (PHP/MYSQL) 9/51

Exemple:Réaliser un script permettant de tester si un nombre est pair ou nonb-InstructionSwitch ():Switch($variable){Case val1: bloc d"instructions1;break;Case val2: bloc d"instructions2;break;.........Case valn: bloc d"instructions N;break;Default: bloc d"instructions}Exemple1:Réaliser un script permettant faire uneopérationau choixSi choix=1 opération +Si choix=2 opération-Si choix=2 opération *Si choix=2 opération /Remarque:Il y a une autre syntaxeSwitch(variable):Case val1: bloc d"instructions1: break;Case val2: bloc d"instructions2: break;.........Case valn: bloc d"instructions N: break;Default: bloc d"instructionsEndswitch;Exemple2:Réaliser un script permettant de calculer le résultat d"une facture à partirdes données q,ttva(taux de tva 20%) et pu(prix unitaire).

Pr charaniDéveloppement des scripts Serveur (PHP/MYSQL) 10/51

Calculer le prix hors taxe, remise, tva et le ttcSi 0 Pr charaniDéveloppement des scripts Serveur (PHP/MYSQL) 11/51

Instructions de répétition:Généralement, on distingue plusieurs instructions derépétition:1.For ()2.While3.Do whileLes boucles sont des structures qui permettentd"exécuter plusieurs fois la même série d"instructionsjusqu"à ce qu"une condition ne soit plus réalisée.1-L"instructionfor ():Syntaxe1:for (initialisation; condition;incrémentation/décrémentation){Bloc d"instructions;}Exemple:Réaliser un script permettant d"afficher une listed"étudiants de 1 àn.En cliquant sur un étudiant i,vousallezaffichersonrelevéou CV.Etudiant$i");echo("
");}?>

Pr charaniDéveloppement des scripts Serveur (PHP/MYSQL) 12/51

Syntaxe2:for(initialisation; condition;incrémentation/décrémentation):bloc d"instructions;endfor;Exemple:For ($i=1; $i<=10; $i++):Echo ($i);Echo "
";Endfor;Exercised"application:Réaliser un script permettant de régénérer une page contenant les liens hypertexte suivants:Cours1Cours2...Cours10Et ceci après avoir validé sa connexion (login et mot de passe)

Pr charaniDéveloppement des scripts Serveur (PHP/MYSQL) 13/51

b-while ():L"instruction while représente un autre moyen d"exécuter plusieurs fois la même séried"instructions.Elle exécute le bloc d"instructions tant que la conditionestréalisée.Syntaxe1:while (condition){Instructions;}

Exemple:$i=0;while($i<=10){$i++;Echo ($i);Echo "
";}c-do while ():L"instructiondo ...whilereprésente un autre moyen d"exécuter plusieurs fois la même séried"instructions. Elle exécute le bloc d"instructionsau moins une fois.Syntaxe1:do{Instructions;}while (condition);

Pr charaniDéveloppement des scripts Serveur (PHP/MYSQL) 14/51

3.Les instructions: continue ou breakGénéralement, on distingue deux instructions permettant de continuerou d"arrêter une boucle.1-Saut inconditionnel(continue):Ilpeut être nécessaire de faire sauter à la boucle une ou plusieursvaleurs sans autant mettre fin à celle-ci.La syntaxe de cette expression est "continue»Cette instruction se place dans une boucleOn l"associe à une structure conditionnelle (if)Exemple:Imaginons qu"on veut afficherpour une variable $x allant de 1 à 10 lavaleur de l"expression 1/($x-7).Le problème va se poser au niveau de lavaleur $x=7(division parzéro).Il faut sauter cette valeur une fois $x =7") ;}?>2-Arrêt inconditionnel(break):A l"inverse, il peut êtrevoulud"arrêter la boucle.L"instruction break permet de réaliser cettetâche. Elle permet d"arrêter une boucle (fo r ou while).Ilfautlui associer une structureconditionnelle comme continue.Exemple:Pour arrêter la boucle unefois la valeur de $xatteint 7--------------------------------------------------------------------for ($i=1;$x<=10;$x++){If($x==7)

Pr charaniDéveloppement des scripts Serveur (PHP/MYSQL) 15/51

{Echo('"division par zéro"");Break;}$y=1/($x-7);Echo('"$y
"");}Exercice d"application:Réaliser une page web permettant deréaliser les opérations mathématiquessuivantes:iSn=1+2+...................nnà spécifier par l"utilisateuriSSn=1+3+5+..........iAfficher si un nombreestpremier ou non:17est premier18est non premier

Pr charaniDéveloppement des scripts Serveur (PHP/MYSQL) 16/51

Chapitre3: Fonctions en PHP1. Définitionen PHP:Une fonction est un bloc d"instructions permettant de retourner unevaleur. Si la fonction ne retourne pasde valeur,on dit c"est uneprocédure.Une fonction est définie une seule fois, mais elle peut être appeléeplusieurs fois dans des endroits différents du programme.Syntaxe:Une procédurene retourne pas de valeur:function nom_fonction($arg1, $arg2,....){Variables locales;Instruction1;....Insructionn;}OuUne fonction qui retourne une valeur:function nom_fonction($arg1, $arg2,....){Variableslocales;Instruction1;....Insructionn;return valeur;}

Pr charaniDéveloppement des scripts Serveur (PHP/MYSQL) 17/51

Exemple1:Réaliser un scriptPHP qui comprenddes fonctions permettant decalculer le ht, la tva et le ttc.Utilisez trois fonctions:fht($q,$pu),ftva($q,$pu,$ttva) etfttc($q,$pu, $ttva)Exploiterune facture à un seul produit.

Pr charaniDéveloppement des scripts Serveur (PHP/MYSQL) 18/51

//Données en entrées$pu=100;$q=$_POST["t1"];$ttva=0.2;//Appel aux fonctions$ht=fht($q,$pu);$tva=ftva($q,$pu,$ttva);$ttc=fttc($q,$pu,$ttva);//Données en sortiesecho("HT=$ht
");echo("TVA=$tva
");echo("TTC=$ttc
");?>Exemple2:Réaliser une fonction en php permettantde contrôler la connexion:Si le nom d"utilisateur et le mot de passe sontcorrectsalors la fonctionretourne vraiSinon elleretourne faux.Solution:Page d'accueil

Pr charaniDéveloppement des scripts Serveur (PHP/MYSQL) 19/51

2-Argumentsd"une fonction:Les arguments constituent un moyenpourtransmettre des données àla fonction.Par défaut les arguments sont passéspar valeur.Si la valeur du paramètre change cela ne modifie pas la valeur de lavariable.Exemple:functionfaugmenter($x){$x=$x+500;}$salaire=1000;faugmenter ($salaire);echo(salaire est $salaire);

Pr charaniDéveloppement des scripts Serveur (PHP/MYSQL) 20/51

Passage par variable,par référenceou par adresse:function nom_fonction(&$arg,....){....}Si un argument est passé par référence toute modification apportée àla variable au corps de la fonction, modifie la valeur du variable aprèsl"appel de la fonction.Exemple: Augmentationdesalaire");faugmenter($salaire);oufaugmenter(&$salaire);echo("Salaire aprèsaugmentation=$salaire
");?>Variable locale et variable globale:Variable locale est traitée à l"intérieur de la fonctionExemple:function test(){$a=100; //variable localeEcho $a;}Variable globale:Pour utiliser une variable globale vous utilisez le mot cléglobaldevantla variable.Exemple:function test(){global $a=100; //variableglobaleecho "valeur de a est:$a ";}

Pr charaniDéveloppement des scripts Serveur (PHP/MYSQL) 21/51

$a=200;echo "valeur de a avant l"appel est:$a ";test();echo "valeur de aaprès l"appelest:$a ";Variablestatique:Une variable est une variable locale qui ne perd pas valeur à chaque fois que la fonctionest exécutée.Exemple:function compte (){Static $compteur=0;$compteur++;If ($compteur<10) compte ();}Compte();

Pr charaniDéveloppement des scripts Serveur (PHP/MYSQL) 22/51

Tableaux1. Définitiond"un tableau:Un tableau peut être d"une seule dimension ou plusieurs.Un tableau à une seule dimensionest un tableau d"une seuleligneet deplusieurs colonnes.i=0.......................................................................i=n-1Un tableau à deux dimensions plusieurs lignes et plusieurscolonnes(Matrice)j=0........................................................................=m-1i=0.......n-11.1Tableau à une seule dimension:Un tableau à une seule dimension est composé d"un certainséléments de même type ou de type différent.En PHP, il y a deux types de tableaux:iLes tableaux à indice entieriLes tableaux associatifs utilisant comme indice deschaînes de caractères.Initialisation d"un tableau:Il y a plusieurs façons d"initialiser les tableaux:Exemple1:$T[0]="Amine ";$T[1]= "Samir";

Pr charaniDéveloppement des scripts Serveur (PHP/MYSQL) 23/51

$T[2]= "Mostapha";")?>Exemple2:$T[]="Amine ";$T[]= "Samir";$T[]= "Mostapha";Automatiquement les valeurs seront affectées auxéléments d"indices0,1 et 2")?>Exemple3:$T=array("Amine ", "Samir", "Mostapha");")?>Notez bien:Vous pouvez utiliser l"opérateur=>pour spécifier lesindices particuliers des éléments d"un tableau.Exemple4:

Pr charaniDéveloppement des scripts Serveur (PHP/MYSQL) 24/51

$T=array(1=>"Amine ", 2=> "Samir",3=>"Mostapha");Ceci est équivalent à:$T[1]="Amine ";$T[2]="Samir";$T[3]="Mostapha";Desfonctionspermettant de trier un tableausoitparvaleur ou indice.Sort ()------------permet de trier un tableau par ordrecroissantRsort()-----------permet de trier un tableau par ordredécroissant.On peut également trier par indiceà l"aide de:Ksort()---tri croissantKrsort()--tri décroissantExemple:Réaliser un script permettant de trier untableau parvaleur.Réaliser un script permettant de trier un tableau parindice.Parcourirun tableau.Exemple 1 :$tab = array('Amine", 'Hamid", "Karim", 'Samir");$i=0;while($i <= count($tab)){echo $tab[$i]."\n";

Pr charaniDéveloppement des scripts Serveur (PHP/MYSQL) 25/51

$i++;}//count()retourne le nombre d"élémentsExemple 2 :$tab = array('Amine", 'Hamid", "karim", 'samir");for($i=0;$i<=count($tab);$i++){echo $tab[$i]."\n";}Exemple3:$tab = array('Amine ", 'Hamid ", "karim",'samir","Amine","Hamid");foreach($tab as $elem){echo $elem.""
"";}La variable$elemprend pour valeurs successives tous leséléments du tableau$tab.Exemple:Exercice1:Réaliserun scriptPHPpermettant de rechercher un nomdans untableau et afficher le nombred'occurrences.Page index.htmlrechercher1.php

Pr charaniDéveloppement des scripts Serveur (PHP/MYSQL) 26/51
Exercice2:Réaliser un script PHP permettant de trier un tableau. Pr charaniDéveloppement des scripts Serveur (PHP/MYSQL) 27/51

Parcours d"un tableau associatif.$personne = array('"Nom"" => '"Alami"", '"Prénom""=> '"Amine"");Exemple 1 :foreach($personne as $elem) {echo $elem;}Ici on accède directement aux éléments du tableau sanspasser par les clés.Exemple 2 :foreach($personne as $key => $elem) {echo '"$key : $elem"";}Ici on accède simultanément aux clés et aux éléments.

Pr charaniDéveloppement des scripts Serveur (PHP/MYSQL) 28/51
Pr charaniDéveloppement des scripts Serveur (PHP/MYSQL) 29/51

Quelques fonctions:Count ($tab): retournent le nombre d"éléments dutableauSort ()------------permet de trier un tableau par ordrecroissantrsort()-----------permet de trier un tableau par ordredécroissant.On peut également trier par indiceà l"aide de:ksort()---tri croissantkrsort()--tri décroissantin_array($var,$tab): dit si la valeur de$varexiste dansle tableau$tabimplode($str,$tab): retournent une chaîne de caractèrescontenant les éléments du tableau$tabjoints par lachaîne de jointure$strexplode($delim,$str): retourne un tableau dont leséléments résultent du hachage de la chaîne$strpar ledélimiteur$delimrange($i,$j): retourne un tableau contenant un intervallede valeursshuffle($tab): mélange les éléments d"un tableauarray_merge($tab1,$tab2,$tab3...): concatène lestableaux passés en argumentsarray_rand($tab): retourneun indicedu tableau auhasardLes tableaux associatifs:Quelques fonctions :

Pr charaniDéveloppement des scripts Serveur (PHP/MYSQL) 30/51

array_count_values($tab): retourne un tableaucontenant les valeurs du tableau$tabcomme clés et leursfréquence comme valeur (util e pour éval uer lesredondances)array_keys($tab): retourne un tableau contenant les clésdu tableau associatif$tabarray_values($tab): retourne un tableau contenant lesvaleurs du tableau associatif$tabarray_search($val,$tab): retourne la clé associée à lavaleur$valremarque:Les tableaux associatifs permettent de préserver unestructure de données.1.2Tableaux à deux dimensions:Syntaxe:$[indicei][indicej]= valeurExempleRéaliser un script permettant de manipuler un tableau àdeux dimensions:0 12345678ExempleRéaliser un script permettant d"afficher une listed"étudiants:---------------------------------------------------CodeNomprénommoyenne---------------------------------------------------0ahmedamine131saidnaci15.............

Pr charaniDéveloppement des scripts Serveur (PHP/MYSQL) 31/51

2.Chaînes de caractères:Généralement, on distingue plusieurs fonctions de manipulation de chaînes de caractèresen PHP:2.1-Fonction strlen():Intstrlen(string str);Elle retourne la longueur de la chaîne.Exemple:$Password="amine111»;$L=strlen($password);If ($L>10) echo("mot de passe trop long");2.2-Fonction substr():Elle retourne une portion de chaînespécifiéeavec le début (debut) et la longueur (taille).Syntaxe:String substr(string source, int debut, int taille)Exemple:Chaîne=substr('"amine"", 2,2);Echo (chaîne);2.3-Fonction trim():Syntaxe: String trim(string str)Cette fonction retire les espaces blancs de début et de fin de chaîne et elle retourne lachaîne nettoyée.2.4-strtolower($str): conversion en minuscules2.5-strtoupper($str): conversion en majuscules2.6-strnatcmp($str1,$str2): comparaison de 2 chaînes2.7-addslashes($str): déspécialise les caractères spéciaux (', '",\)2.8-ord($char): retourne la valeur ASCII du caractère$char2.9-Fonction implode ():Syntaxe:String implode(string séparateur, array tableau);Elle retourne une chaîne constituée de tous les éléments du tableau. Pris dans l"ordre,transformésenchaîneet séparés par un caractère de séparation.Exemple:$T=array("amine»,"said»,"mohamed»);$Car="-';Ch=implode($car,$T);2.10-Fonction explode ():Syntaxe:arrayexplode(string séparateur,string chaine);Elle retourneun tableau à partir d"une chaîne.Exemple:$chaine="100|amine|casa»$T=explode("|»,$chaine);

Pr charaniDéveloppement des scripts Serveur (PHP/MYSQL) 32/51

For($i=0;$i"";2.11-Fonction str_replace():Elle permet de remplacerles occurrences de modèle par chaine de remplacement.Syntaxe:String str_replace(modèle, remplacement, chaine)Exemple:Réaliser un script PHP permettant de remplacer une chaine par une autre dans un textespécifié parl"utilisateur.2.12-Les expressions régulières:Les expressions régulières permettent de rechercher desoccurrences (une suite decaractères) grâce àune série de caractères spéciaux.Les caractèresspéciaux:^ début et $ fin"^chaine1" une chaine qui commence par chaine1"chaine1$" une chaine qui se termine par chaine1Remarque:Ces caractères spéciaux sont utilisés dans les fonctions:Ereg() oueregi() cette dernière n"est pas sensible à la casse(Elle ne fait pas la différenceentre la majuscule et la minuscule)Syntaxe:Boolean eregi(chaine_expression, chaine_texte, [tableau d"occurrences])D"autres caractères spéciaux:"abc+" chaine qui contient ab suivie de un ou plusieurs c(abc, abcc,....)"abc*" chaine qui contient ab suivie zéro ou plusieurs c(ab, abc, abcc...)"abc? " chaine qui contient ab suivie de zéro ou un c(ab, abc)Les accolades{x,y}permettantde limiter le nombre"abc{2}"chaine qui contient ab suivie de deux c(abcc)"abc{2,4}" chaine qui contient ab suivie de deux, trois ou quatre c(abcc,....)"abc{2,}" chaine qui contient ab suivie de deux c ou plus (abcc)Les parenthèses:"a(bc)*" chaine qui contient a suivie dezérobc ou plus.La barre verticale:"un|le"chaine qui contient un ou le"(un|le) chien" chaine qui contient unchienou lechien."(a|b)*" chaine qui contient une suite de a ou de bLe point .indique n"importe quel caractère (une fois).".{3}"chainequi contient 3 caractères.Les crochets:"[abc]"chaine qui contientun a ou un b ou c."[a-z]" chaine qui contient uncaractère entreaet z.

Pr charaniDéveloppement des scripts Serveur (PHP/MYSQL) 33/51

"[^a-z A-Z]" chaine qui ne commence pas une lettre.(^ c"est une interdiction).La fonction eregi_replace():Syntaxe:Chaine eregi_replace(chaine_expr, chaine_rempl, chaine_texte);Elle retourne la chaine texte passée en paramètremodifiée à l"aide de l"expressionrégulière et de la chaine de remplacement.Exemple:Remplacer tous les caractères nonalphanumériques par _2.12Les fonctions de dates et heures:Ellessont incontournables sur Internet et sont indispensables pour la conversion enfrançais des dates fournies par la base de données MySQL qui les codesau formatanglophone (YYYY-DD-MM hh:mm:ss).Quelques fonctions:date ('"$format""): retourne une chaîne de caractères contenant la date et/ou l"heurelocale au format spécifiégetdate(): retourne un tableau associatif contenant la date et l"heureExemple 1 :echo date(''Y-m-d H:i:s'');/*affiche la date au format MySQL : '2002-03-31 22:30:29" */Les formats pour date:dJour du mois sur deux chiffres [01..31]jJour du mois sans les zéros initiauxlJour de la semaine textuel en version longue et en anglaisDJour de la semaine textuel en trois lettres et en anglaiswJour de la semaine numérique [0..6] (0: dimanche)zJour de l'année [0..365]mMois de l'année sur deux chiffres [01..12]nMois sans les zéros initiauxFMois textuel en version longue et en anglaisMMois textuel en trois lettresYAnnée sur 4 chiffresyAnnée sur 2 chiffreshHeure au format 12h [01..12]gHeure au format 12h sans les zéros initiauxHHeure au format 24h [00..23]GHeure au format 24h sans leszéros initiauxiMinutes [00..59]sSecondes [00.59]aam ou pmAAM ou PMLBooléen pour savoir si l'année estbissextile(1) ou pas (0)tNombre de jour dans le mois donné [28..31]

Pr charaniDéveloppement des scripts Serveur (PHP/MYSQL) 34/51

Exemple 2 :$aujourdhui = getdate();$mois = $aujourdhui['mon'];$jour = $aujourdhui['mday'];$annee = $aujourdhui['year'];echo ''$jour/$mois/$annee'';Les clés du tableau associatif retourné par getdate :seconds : secondesminutes : minuteshours : heuresmday : jour du moiswday : jour de la semaine, numériquemon: mois de l'année, numériqueyear : année, numériqueyday : jour de l'année, numériqueweekday : jour de la semaine, textuel complet en anglaismonth : mois, textuel complet en anglais

Pr charaniDéveloppement des scripts Serveur (PHP/MYSQL) 35/51

Chapitre5:Création et exploitation d"une base dedonnéesA l"aide duPHP/MYSQL1.Introduction:Après avoircrééla base de données sous MYSQL.L"utilisation de cette base avec le PHP, s"effectue en quatreétapesdans un script PHP:1.Connexion au serveur de données2.Sélection de la base de données3.Requête4.Exploitationde requête.2.Connexion au serveur dedonnées:Pour se connecter, il faut définir l"adresse du serveur desdonnées ainsi que le nom d"utilisateur et le mot de passe.La valeur par défaut:Hostname: localhost ou 127.0.0.1Username:rootPassword:Lafonction qui permet de se connecter:mysql_connect()Syntaxe:intmysql_connect(string hostname, stringusername, string password)La fonction retourne un entier.Si cet entier est à 0alors une erreur s"est produitependant la phase de connexion.Sinon tout c"est bien passé. Vous avez la connexion auserveur de la base de données.Exemple:

Pr charaniDéveloppement des scripts Serveur (PHP/MYSQL) 36/51

Réaliser un scriptPHPpermettant deseconnecter au serveurde la base de données.3.Sélection de la base:L"étape de sélection de la base, vous devez spécifier lafonction mysql_select_db().Syntaxe:Int mysql_select_db(string database_name, intlink_identifier)Le premierparamètreest obligatoire, leparamètrelink_identifier estfacultatif.La fonction retourne true ou false selon l"opération est réussieou non.Exemple:$conn_base= mysql_select_db("db_gestion_commandes");if($conn_base)echo("
sélection de labase réussie");elseecho ("
sélection de la base impossible") ;4.Exécution de la requête:

Pr charaniDéveloppement des scripts Serveur (PHP/MYSQL) 37/51

Pour interroger la base de données, on utilise l"une desfonctions suivantes:La fonction mysql_query():Syntaxe: int mysql_query(string query, int link_identifier)Elle envoie au serveur mysqlune instruction à exécuter. Leparamètre query est obligatoire.Exemple:");elseecho("requêteincorrecte
");?>La fonction mysql_fetch_array():Elle permet d"extraire la ligne sous forme d"un tableauassociatif.Syntaxe:Array mysql_fetch_array(int result, int result_type)Leparamètreresult_typeest facultatif. Il peut prendre lesvaleurs suivantes:MYSQL_NUM: letableau ne contient que des indicesnumériques.MYSQL_ASSOC: letableau ne contient que des indicesassociatifs.MYSQL_BOTH: letableau contient à la fois des indicesnumériques et des indices associatifs.Si l"argument result_type n"est pas spécifié MYSQL_BOTHest considéré comme valeur par défaut.

Pr charaniDéveloppement des scripts Serveur (PHP/MYSQL) 38/51

Exemple:

Exercice d"application:Réaliser un script PHP permettantlister lesvisiteurs d"unsite.

Pr charaniDéveloppement des scripts Serveur (PHP/MYSQL) 39/51

I-5: Consultation parunchamp de type numérique, detype texte et par deux critères regroupés par et/ou:Exemple1:Réaliser un script PHP permettant de consulter des livres parcode (cha mp de ty pe numériq ue ) par ti tre ( champ de typetexte)Par les deux critères (code et titre) en utilisant et/ou.Etapes:iRéaliser la page index.html qui contient trois formulaires permettantrespectivement la consultation par code(F1), par titre(F2) et par les deuxchamps(F3).iRéaliser les scripts PHP (listerparcode.php , listerpartitre.ph p et listerparcode_titreiCréer la base de données MYSQL: biblio qui comprenddeux tables:oTable1: utilisateur (num, nom, password) etoTable2: livres (code, titre, nbpages, auteur, maisonedit)iTester vos scriptsLa fonction mysql_fetch_field ()Syntaxe:object mysql_fetch_field ( resource result , int field_offset )Retourne un objet contenant les informations sur les champs. Cettefonction peut être utilisée pour obtenir des informations sur les champs dela requête fournie result.resultLa ressource de résultat qui vient d'être évaluée. Ce résultat vient de l'appelà la fonction mysql_query.field_offsetLa position numérique du champ. Si la position du champ n'est passpécifiée, le champ suivant qui n'a pas encore été récupéré par cettefonction est alors récupéré. field_offset commence à 0 .Cette fonction retourne un objet contenant les informations sur les champs.Les propriétés de l'objet sont les suivantes :

Pr charaniDéveloppement des scripts Serveur (PHP/MYSQL) 40/51

name-nom de la colonnetable-nom de la table de la colonnedef-valeur par défaut de la colonnemax_length-taille maximale de la colonnenot_null-1 si la colonne ne peut pas être NULLprimary_key-1 si la colonne est une clé primaireunique_key-1 si la colonne est une clé uniquemultiple_key-1 si la colonne est une clé non uniquenumeric-1 si la colonne est numériqueblob-1 si la colonne est BLOBtype-le type de la colonneunsigned-1 si la colonne est non signéezerofill-1 si la colonne est complétée par des zéroExemple avec mysql_fetch_field\n";$meta = mysql_fetch_field($result, $i);if (!$meta) {echo "Aucun détail disponible
\n";}echo "

blob:         $meta->blobmax_length:   $meta->max_lengthmultiple_key: $meta->multiple_keyname:         $meta->namenot_null:     $meta->not_nullnumeric:      $meta->numericprimary_key:  $meta->primary_keytable:        $meta->tabletype:$meta->typedefault:      $meta->defunique_key:   $meta->unique_keyunsigned:     $meta->unsignedzerofill:     $meta->zerofill
";$i++;

Pr charaniDéveloppement des scripts Serveur (PHP/MYSQL) 41/51

}mysql_free_result($result);?>Exemple:Réaliser un script PHP qui permet la consultation des données avec n"importe quelchamp de latable livres de la base biblio et avec n"importe quel opérateur (=, <>, <, <=,>, >=)*) La fonction mysql_fetch_row():Cette fonction permetd"extraire les données d"une table sous forme d"un tableauénuméréSyntaxe:$enregistrement=mysql_fetch_row($resultat)Exemple:On considère la tableclients (nom, prenom, ville..)Afficher le nomecho $enregistrement[0]Afficher le prenomecho $enregistrement[1]Afficher le villeecho $enregistrement[2].....Afficher lechamp necho $enregistrement[n-1]*) la fonction mysql_num_rows():Elle permet de retourner le nombre d"enregistrementsqui ont été retournés par lasélection.Exemple:Réaliser un script PHP permettant d"afficherla liste etle nombre d"utilisateurs avec ousans critères.*) la fonction mysql_fetch_object():Elle permet de retourner unobjet (structure) qui correspond à la ligne retournée.Syntaxe:$enregistrement=mysql_fetch_object($resultat)Exemple:On considère la table clients (nom, prenom, ville,..)Afficher le nomecho $enregistrement->nomAfficher le prenomecho $enregistrement->prenomAfficher lavilleecho $enregistrement->ville.....5.Requête d"insertion:Pour insérer des données dans une table, vous devez utiliser la requête:

Pr charaniDéveloppement des scripts Serveur (PHP/MYSQL) 42/51

INSERT INTO nom_table (liste_de_champs) values (valeurs_à_affecter_aux_champs)Exemple d"application:Réaliser la page formulaire permettant la réalisation d"inscription d"un utilisateur danslabase de données:db_commandesLa table utilisateur comprend les champs nom, password, ville et catg.Exemple2:Réaliser le même script en effectuant un contrôle sur l"existence de l"utilisateur avantde l"inscrire dans la base de données.La fonction mysql_insert_idmysql_insert_id-Retourne l'identifiant généré par la dernière requête INSERTMySQLDescriptionint mysql_insert_id ([ resource $link_identifier ] )mysql_insert_id() retourne le dernier identifiant généré par un champ de typeAUTO_INCREMENT, sur la connexion MySQL courante ou sûr la connexion spécifiéepar link_identifier .Liste de paramètreslink_identifierLa connexion MySQL. S'il n'est pas spécifié, la dernière connexion ouverte avec lafonction mysql_connect() sera utilisée. Si une telle connexion n'est pas trouvée, lafonction tentera d'ouvrir une connexion, comme si la fonction mysql_connect() avait étéappelée sans argument. Si aucune connexion n'est trouvée ou établie, une alerteE_WARNING est générée.Valeurs de retourL'ID généré pour une colonne AUTO_INCREMENT par la dernière requête INSERTen cas de succès, 0 si la dernière requête n'a pas généré de valeur AUTO_INCREMENT,ou FALSE si aucune connexion MySQL n'a été établie.ExemplesExemple #1 Exemple avec mysql_insert_id() Pr charaniDéveloppement des scripts Serveur (PHP/MYSQL) 43/51

mysql_query("INSERT INTO mytable (product) values ('kossu')");printf("Le dernier ID inséré dans est le id %d\n", mysql_insert_id());?>6.Scripts de Modification des données en PHP:Pourmodifierdes données dans une table vous devez utiliser la requête de mise à jour:req="updatetableset champ1='" & valeur &"', .....champ n="& valeur n & " whereconditionIl ya plusieurs façons permettant la modification des donnéesd"unebase:Façon1:Vous réalisez un script PHP permettant l"écrasement des données stockées dans la basede donnéestout en spécifiant une condition de recherche.Exemple:voir scriptmodifier_fac1.phpFaçon2:Vous réalisez un script PHP permettant la consultation des données stockées dans labase de données tout en spécifiant une condition de recherche. Le script régénère unformulaire qui contient les données. Après la modification apportée par l"utilisateur.Vousappelez le script qui permet l"écrasement des données.Exemple: voirscript php lister_modifier.phpExercice d"application:Réaliser un script PHP permettant de modifier plusieurs enregistrements d"une table.Vous devez consulter tous les enregistrements de la table avec ou sans critère. Ensuitevous appelez les scripts de mise à jour décrits précédemment.

Pr charaniDéveloppement des scripts Serveur (PHP/MYSQL) 44/51

Chapitre 6: VariablesSESSIONS1. Introduction:Afin de transmettre des variables de pages en pages, plusieurs possibilités s'offrent à vous :-les divers champs des formulaires, qu'ils soienthiddenou non.-passer les variables directement à travers lesliens.-utiliser lessessions.-utiliser lescookies2. Fonctions:Cependant, toutes ces possibilités n'offrent pas le même niveau de sécurité.En effet, certainesde ces possibilités sont vraiment pratiquent dans leurs modes d'utilisation (comme les cookiespar exemple mais tout le monde n'est pas obligé d'accepter les cookies), ce qui implique, dansla majorité des cas, un bas niveau de sécurité (cas du passage des variables par les liens, cequi implique que les variables seront visibles de tout le monde).Pour utiliser les sessions, différentes fonctions PHP s'offrent à nous. Voici déjà un petittableau vous permettant de vous familiariser avec ces différentesfonctions::: Fonction :::: Signification ::session_startDémarre une sessionsession_registerEnregistre une variable de sessionsession_unregisterEfface une variable de sessionsession_is_registeredVérifie si une variable est déclarée pour la session en courssession_idRetourne l'id de la session en courssession_nameRetourne le nom de la session en courssession_unsetDetruit toutes les variables de la session en courssession_destroyDestruit la session en coursexemple1:1.2.3.Formulaire d'identification4.5.6.
7.Votre login : 8.
9.Votre mot de passe:
10.11.12.13.14.

Pr charaniDéveloppement des scripts Serveur (PHP/MYSQL) 45/51

niveau de la pagelogin.phpavec une variable$pseudoqui contiendra le login de notrevisiteur ainsi qu'une variable$pwdcontenant son mot de passe ;variables qu'il faudranaturellementtester avant de démarrer notre session (car seuls les membres pourront accéderà notre espace membre, espace où l'on utilisera notre session).On aura alors par exemple (pagelogin.php) :exemple2:1.';25.// puis on le redirige vers la page d'accueil26.echo'';27.}28.}29.else{30.echo'Les variables du formulaire ne sont pas déclarées.';31.}32.?>Récupérer le code:Remarquer également que nous utilisons notresession_startavant tout code HTML.

Pr charaniDéveloppement des scripts Serveur (PHP/MYSQL) 46/51

Voyons alors le code de la page de notre section membre, la pagepage_membre.php.On a :exemple31.';10.echo'';11.echo'Page de notre section membre';12.echo'';13.echo'';14.echo'Votre login est '.$_SESSION['login'].' et votre mot de passe est'.$_SESSION['pwd'].'.';15.echo'
';16.17.// On affiche un lien pour fermer notre session18.echo'Déconnection';19.}20.else{21.echo'Les variablessessionne sont pas déclarées.';22.}23.?>Récupérer le codeVoyons alors le code de la page permettant au membre de se déconnecter (la pagelogout.php).On aura alors:Exemple4:1.

Pr charaniDéveloppement des scripts Serveur (PHP/MYSQL) 47/51

3.Faire une redirection vers une autre pageIl existe des applications web pour lesquelles on souhaite rediriger le visiteur en fonctionde paramètres.C'est le cas par exemple pour un script d'identification.iSi l'internaute fournit les bons identifiants alors il est redirigéautomatiquement vers son espace personnel,isinon il est renvoyé vers le formulaire d'authentification.Présentation des redirections:Il y a plusieurs manières de faire de la redirectionHTTPpar les pages Web :ibalises meta,iscript Javascriptiou bien encore unscript PHP.Remarque:Bien entendu, la dernière solution est de loin la meilleure et la plus propre car elle estentièrement gérée par le serveur, tandis que les deux autres sont réalisées du côté duclient.Exemple: (Redirection avec la balise meta)La fonction header ()Lorsque l'on souhaite créer une redirection avec PHP, on utilise une fonctionpermettant d'envoyer des entêtes de typeLocation(adresse). Pour cela,PHPdispose dela fonctionheader()qui se charge d'envoyer les entêtes passés en paramètre.Script de redirection avec header ()La syntaxe de la redirection est simple. On passe en paramètre de la fonction header ()une chaîne de caractères précisant le type d'entête (Location) et la page sur laquellel'internaute doit être renvoyé.Script de redirectionNote : l'instruction exit() qui succède la fonction header() permet de couper l'exécution duscript car la redirection aura lieu immédiatement et le reste du code n'a pas d'intérêt à êtreinterprété.

Pr charaniDéveloppement des scripts Serveur (PHP/MYSQL) 48/51

Exemple d"application:Réaliser un script PHP permettant de faire la redirection vers trois pages au choix devisiteur.La page index.html doit contenir les liens suivants:Lien Page1-------------redirection vers la pagepage1.htmlLien Page2-------------redirection vers la pagePage2.htmlLien Page3-------------redirection vers la pagePage3.html

Règle importante:L"appel de cette fonction doit se faire avant tout envoi au navigateur (instruction echo,print, espace blanc, balise html...)sous peine de générer une erreur de typeHeadersalready sent by....Cette erreur signifie que la page a déjà été envoyée au navigateur avant de vouloirenvoyer des entêtes HTTP. La logique de développement demande le contraire !4.Include et les bibliothèques de fonctions:iGénéralement, un script PHP est composé d'appels à des fonctions que l'on peutregrouper par thèmes (manipulation de chaînes de caractères, accès à une basede données, lecture dans un fichier, etc...).iIl est alors possible d'associer à chaque thème un ou plusieurs scripts, pourconstituer des bibliothèques de fonction.iPour pouvoir utiliser ces fonctions depuis le script exécuté, il suffira de les inclureet pour cela, nous disposons de la fonction ( ou instruction)include()qui, enquelque sorte se décline eninclude_once().iUn appel àinclude()suivi d'un nom de fichier aura tout simplement pour effetd'en inclure son contenu à l'endroit de l'appel.Ainsi le script suivant:

Pr charaniDéveloppement des scripts Serveur (PHP/MYSQL) 49/51

Qui fait appel à include_inc.phpEst équivalent àiVous noterez toutefois que le fichier inclus est considéré comme un fichier textebrut (ou HTML) et qu'il faut donc "ré-ouvrir" les balises Pr charaniDéveloppement des scripts Serveur (PHP/MYSQL) 50/51

Include_once :iLorsque des scripts inclus, incluent eux-même d'autres scripts, il peut arriver quebien malgré vous, vousincluiez plusieurs fois le même script.iSi ce dernier contient une déclaration de fonction ou de classe, cela conduirainévitablement à une erreur de redéclaration.iPour éviter ce problème, vous pouvez utiliserinclude_once()à la placed'include(). Son comportement est identique si ce n'est qu'un script déjà inclus nesera pas inclus une seconde fois.iLorsqu'un script inclus parinclude()ouinclude_once()lève une erreur, le scriptprincipal poursuit son exécution comme si de rien n'était.Includeet la mise en pageLes instructions include peuvent également être avantageusement mises à profit pourfaciliter la mise en page de votre site web.Prenons, le cas d'une présentation typique: un bandeau supérieur (ou entête), un menu àgauche, une zone principale et enfin un pied de page. Soit grossièrement le code HTMLsuivant:

liste des utilisateurs
CinNomPrénomVilleNomCatégorie
Et bien, nous pourrons définir chacune des zones dans des fichiers distincts et les incluredans le script principal.

Monsitewebamoi

include_pieddepage.php Pr charaniDéveloppement des scripts Serveur (PHP/MYSQL) 51/51
include_mise_en_page.phpquotesdbs_dbs11.pdfusesText_17
[PDF] formulaire php mysql pdf

[PDF] formulaire physique chimie pdf

[PDF] formulaire plan d'apurement caf

[PDF] formulaire ppre 2017

[PDF] formulaire psoc 2018 2019

[PDF] formulaire refus d'hospitalisation

[PDF] formulaire region guadeloupe

[PDF] formulaire registre de commerce france

[PDF] formulaire registre de commerce declaration de modification ou de radiation france

[PDF] formulaire registre de commerce dépôt légal france

[PDF] formulaire renouvellement bourse amci

[PDF] formulaire sasu

[PDF] formulaire se 350 01

[PDF] formulaire se 350 05

[PDF] formulaire se 350 06