Open navigation menu
Close suggestions
Search
Search
en
Change Language
Upload
Sign in
Sign in
Download free for days
0 ratings
0% found this document useful (0 votes)
63 views
93 pages
Courses PHP
php
Uploaded by
Scar Angouan
AI-enhanced title
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content,
claim it here
.
Available Formats
Download as PDF or read online on Scribd
Download
Save
Save Courses Php For Later
Share
0%
0% found this document useful, undefined
0%
, undefined
Print
Embed
Report
0 ratings
0% found this document useful (0 votes)
63 views
93 pages
Courses PHP
php
Uploaded by
Scar Angouan
AI-enhanced title
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content,
claim it here
.
Available Formats
Download as PDF or read online on Scribd
Carousel Previous
Carousel Next
Download
Save
Save Courses Php For Later
Share
0%
0% found this document useful, undefined
0%
, undefined
Print
Embed
Report
Download
Save Courses Php For Later
You are on page 1
/ 93
Search
Fullscreen
Cours PHP Php Versions 4.x et 5.x Sébastien ROHAUTTable des matiéres 1 Introduction. 1.1 Définition. 1.2 Hiistorique...umonno 13 Utilisation pratique. 1.4 Pages statiques vs pages dynamique... 1.5 Scripts CGI. 1.6 Pages dynamiques et PHP...... 7 1.7 Pourquoi préférer PHP a dautres langages comme ASP ? 1.8 Ce que vous devez déja connaitre 1.9 Le nécessaire serveur. 1.10 Le nécessaire client. 1.11 Le respect des standards... 2 Bases :Présemtation......o 2.0.1 Syntaxe de base... 2.1 Intégration & HTML. 2.2 Séparateur diinstruction 2.3 Bloc d'instructions. 2.4 Commentaires. 3 Travailler avec des variables 3.1 Déclarer une variable. 3.2 Portée des variables. 3.3 Variables prédéfinies.... 3.4 Variables dynamiques. 3.5 Types de vatiables...cenne 3.5.1 booléens. 3.5.2 Entiers... ese 3.53 Virgule flottante. 3.5.4 Chaines de caractéres..... 3.5.5 Les tableaux. 3.5.6 La variable objet. 3.6 Les constantes.. . 3.7 Obtenir le type dune variable... 3.8 Définir et supprimer une variable. 4 Les opérateuts. econ 4.1 La précédence des opérateurs.. 4.2 Opérateurs arithmétiques. 4.3 Opérateurs d'assignation..... 4.4 Opérateurs sur les b 4.5 Opérateurs de comparaison.... 4.6 Opérateur derreur. 4.7 Opérateur d'exécution. 4.8 Opérateurs dincrémentation/décrémentation.. 4.9 Opérateurs logiques. 4.10 Opérateurs de chaines. 4.11 Opérateur de tableaux. 5 Lanotion dexpression....~. 6 Les structures de contréle. S. ROHAUT Cours Programmation PHP Page 2/936.2.1 while classique. 6.2.2 do ... while, 63 for... 6.4 foreach. 6.5 break et comtimle...... 6.6 switch. 6.7 retu 6.8 require et include (_once). 7 Les fonctiOMS...onnenen 7.1 Syntaxe et portée. 7.2 Arguments. 7.3 Valeur de retour. 7.4 Fonctions internes. : 8 Gestion des formulaires en PHP. 8.1 GET et POST..... 8.2 Récupération par tableau. 8.3 Récupération directe... 8.4 Utiliser des tableaux. 9 Date et heure. 9.1 Localisation 7 9.2 Récupérer la date et I'heure. 9.2.1 date().. 9.2.2 date locale strftime().... 9.2.3 Retour par tableau getdate(). 9.2.4 L'heure localtime(). 9.3 Récupérer n'importe quelle date. 10 MySQL. 10.1 Présentation... 10.2 Outils. 10.2.1 PhpMyAdmin.....o0e 10.2.2 MysqlCC, 10.3 Créer une base... 10.4 Utilisateurs et droits. 10.5 Créer et modifier des table 10.5.1 Types Numériques... 10.5.1.1 Types entiers. 10.5.1.2 Types réels (flottants).. 10.5.1.3 Types booléen: 10.5.2 Types earactire 10.5.2.1 Types CHAR. 10.5.2.2 Types TEXT. 10.5.2.3 Type ENUM. 10.5.2.4 Type SET .eensnsnnnn 10.5.3 Types date. 10.5.3.1 Formats suppor 10.5.3.2 Type DATETIMI 10.5.3.3 Type DATE. 10.5.3.4 Type TIMESTAMP. 10.5.3.5 Type TIME .. 10.5.3.6 Type YEAR. 10.5.4 Création : Syntaxe SQL... S. ROHAUT Cours Programmation PHP Page 3/9310.5.5 Types de tables (MyISAM et InnoDB)... 10.5.6 Index FULLTEXT... 10.5.6.1 Création... 10.5.6.2 Recherche. 10.5.6.3 Recherche booléenne... 10.6 MySQL et PHP. 10.6.1 Connexion a une base de données... 10.6.1.1 Connexion au serveur. 10.6.1.2 Choix d'une base.. - 10.6.1.3 Fermeture d'une connexion. 10.6.1.4 Séquence complete pour une base.... 10.6.2 Les requétes 10.6,2.1 Exécuter une requéte.... 10.6.2.2 Nombre de lignes affectées, 10.6.2.3 Nombre de lignes retourné 10.6.2.4 Récupérer les résultats. 10.6.2.5 Insertion avec auto-incrément. 10.6.3 Récupération des erreurs 11 Le systéme de fichiers... 11.1 Travail sur les fichiers. 11.1.1 Ouverture. 11.1.2 Lecture... 1.1.2.1 fgets()... 11.1.2.2 freadQ;. 1.1.2.3 fscanf{). 11.1.2.4 fgete0... 1.1.2.5 fgetss(), 11.1.2.6 fgetesVO nero se 11,1.2.7 Renvoyer un fichier par la sortie standard. 11.1.3 Eeriture.... 11.14 Déplacement, 11.1.4.1 fseek0). 11,1.4.2 field. 11.1.43 rewind() 11.1.5 Fin de fichier. 11.1.6 Fermetur 11.2 Travail sur les répertoires... 11.2.1 Répertoire actuel... 11.2.2 Se déplacer 11.2.3 Ouvrir, lister, fermer. 11.2.4 Récupérer toutes les entrées 11.3 Travail sur le systéme de fichiers. 11.3.1 Informations sur le fichier....oo.0eenm 11.3.2 Actions sur les fichiers et répertoires. 11.4 Upload de fichiers... 12 Travail sur chaines. 12.1 Fonctions pour code HTML et MySQL. 12.1.1 Gestion des caractéres verrouillés. 12.1.2 balises et caractéres spéciaux HTML... 12.2 Fonetions texte générales. 12.2.1 Découper une chaine... PERBEEBEEBEBESSESRREE KEI BEBEBREBKREL akkekbebiaetielelelels S. ROHAUT Cours Programmation PHP Page 4/9312.2.2 Rechercher et comparer.. 13 Sessions et cookies. 13.1 Les cookies. 13.1.1 Création. 1B.1.2 ACCES. cnsnsnnnnnnnnntnnnnnntnnnn 13.1.3 Suppression. 13.2 Identification HTTP... 13.2.1 Connexion. 13.2.2 Déconnexion...... enna ents 13.3 Sessions PHP. 13.3.1 Principe... 13.3.2 Utilisation 13.3.2.1 Ouverture..... BBR 13.3.3 Expiration de la s 13.3.4 Changer l'accés par défaut. 14 Images... 14.1 Pré-requis importants... 14.2 Créer une image. 14.2.1 Types possibles.... 14.2.2 Création... 14.2.2.1 Nouvelle image dynamique.. 14.2.2.2 Récupération d'une image existante. 14.2.3 Publication. 7 14.2.4 Chargement via une autre page. 14,3 Travailler sur les Images. 143.1 Récupérer des inform: 14.3.2 Les coulewrs..... 143.3 Dessin 14.3.3.1 Remplissage.... 14.3.3.2 Point 14.3.3.3 Ligne. 14.3.3.4 Rectangle. 14.3.3.5 Cercle, ellipse. 6 Polygones.... PREREREREREBRERRBRARARRERBEBE 7 Texte simple. a 15 La programmation objet. a 15.1 Structure. ose ay 15.2 Création dun objet... 2 15.3 Accés aux membres. R 15.3.1 PHP 4 et5. 2 15.3.2 PHP 5, R 15.4 Liopérateut 2..nmmsnsnnnnnsninnnninninnnnininnnnnninnnnnnssnnnnnsies 2 15.5 Les variables, protection, B 15.5.1 PAP 4.X..snssnsnnsnmnsinnninnninsnninnnsnnnnnnsinnnnnsesnnnnesinn B 15.5.2 PHP 5.x. B 15.5.2.1 Protection des variables et fonctions... ostnnse otsnnnennsie 15.5,2.2 attributs et méthodes statiques. 15.5.2.3 constantes de cl 15.6 Heritage et polymorphisme. 15.7 Les mots-clés parent et self... BERBER S. ROHAUT Cours Programmation PHP Page 5/9315.8 Constructeurs..... 15.8.1 PHP 4 et 5. 15.8.2 PHP S. 15.9 Constructeurs et classes dérivées. 15.9.1 PHP 4 et6..... 15.9.2 PHP 5, 15.10 Destructeur.... 15.10.1 PHP 4. 15.10.2 PHP 5...cs0 15.11 Affectation dobjets. 15.1.1 Code commun, 15.11.2 PHP 4. 15.11.3 PHP 5... 15.12 Comparaison d'objets. 15.12.1 PHP 4. 15.12.2 PHP 5, 16 Nouveautés en PHP 5. 16.1 Les objets. 16.1.1 La fonction — autoload.. 16.1.2 Les classes abstraites... 16.1.3 Classes, méthodes et variables finale 16.1.4 Les interfaces objet. 16.1.5 Gestion dynamique des méthodes et attibUtS...sc 16.1.6 Les itérations d'objets. 16.1.7 Type hinting, 16.2 Les exception: 16.2.1 try... catch, 16.2.2 Déclenchement avec throw. . 16.2.3 classe Exception et classes personnalisées. 16.2.4 PHP : Erreur ou Exception ?. 5135S PS Ba BB BB BB Bt ie babe bes isis betes 16.2.5 Exception par défaut. 90 17 Sauvegarder 88 Obj€t8...-ennennnsnnnstnninnnsinnnnnnstnnnnisinnnnisisnnnnssntnte 31 17.1 Cas dune session a 17.2 Autres cas... S. ROHAUT Cours Programmation PHP Page 6/931 Introduction 1.1 Définition PHP est un langage de script HTML exécuté du c6té du serveur. Il veut dire « PHP : Hypertext Preprocessor ». Sa syntaxe est largement inspirée du langage C, de Java et de Perl, avec des améliorations spécifiques. Le but du langage est d'écrire rapidement des pages HTML dynamiques. 1.2 Historique Liorigine de PHP remonte a 1995 quand Rasmus Lerdorf a créé PHP/FI, une librairie de scripts Perl utilisés pour la publication de son CV sur son site personnel. Au fur et & mesure des évolutions, la librairie a été portée en C et agrémentée de nouvelles fonctionnalités pour créer des pages dynamiques simples pour le web et accéder & quelques sources de données. PHP/FI signifie Personal Home Page/Forms Interpreter. PHPYFI 2.0 sort en 1997, toujours développé par une seule personne. C'est le succés : 50000 sites (1% des noms de domaines) disent Mutiliser ou le supporter. Les contributeurs affluent. PHP 3.0 sort en juin 1998, c'est la premiére version développée conjointement par Rasmus Lerdorf, Andi Gutmans et Zev Suraski et entigrement réécrite (les versions précédentes étaient trop lentes pour une application commerciale). Outre les performances, PHP 3 est modulaire et extensible, permettant de lui greffer des API supplémentaires, ce qui n'a pas manqué avec le support de nombreuses bases de données, de formats et de protocoles, une syntaxe plus cohérente et un support basique de objet. Il a été installé sur 10% du pare mondial des serveurs web avec des dizaines de milliers de développeurs et des centaines de milliers de sites. Le moteur de PHP 4 a été repensé afin d'en améliorer les performances pour des applications complexes et d'augmenter encore la modularité. Un nouveau moteur a vu le jour, appelé Zend Engine (contraction de Zev et Andi). PHP 4 sort officiellement en mai 2000 et apporte des performances accrues, le supports de plusieurs serveurs web, les sessions, une sécurité accrue. Crest actuellement la demiére version stable (nous ne comptons pas les 4.1, 4.2 et 4.3). Et PHP 5 ? Actuellement en version beta, un cycle qui peut durer plusieurs mois, le but de PHP 5 est une amélioration des performances du moteur Zend (Zend Engine 2), un modéle objet étendu et tres proche du C++, une compatibilité accrue avec de nouveaux standards et les anciens (RPC, XML, .NET, ...) 1.3 Utilisation pratique ~ Forums et Messageries - Commerce électronique — Banque / Comptes en ligne - Publication en ligne - Moteurs de recherche = Tout ce que vous voulez, (sauf les jeux) ésumons quelques sigles que nous allons utili + HTML : Hypertext Markup Language + PHP : People Hate Perl... Non : PHP, Hypertext PreProcessor er par la suite. S. ROHAUT Cours Programmation PHP Page 7/93+ SQL : Structured Query Language + MySQL : serveur de base de données et les outils pour y accéder + LAMP : Linux — Apache - MySQL — PHP, le quatuor gagnant des serveurs web. APACHE > PHP je) MySQL ' H Linux 1.4 Pages statiques vs pages dynamiques Une page statique et une page écrite directement en HTML. Elle peut éventuellement incorporer du code Javascript lui donnant un semblant de 'dynamisme' mais uniquement du eté du navigateur et des données locales. Pour des traitements plus lourds nécessitant l'aceés 4 une base de données, un formatage de tableau en fonction de résultats, une recherche poussée, du graphisme, il faut passer par des pages dynamiques et par un langage qui sera exécuté du c6té du serveur : ASP sur les serveurs Microsofi/IIS, Perl, PHP. 1.5 Scripts CGI PHP peut étre utilisé comme langage CGI. Pour rappel, un script ou programme CGI est un programme comme un autre mais dont la sortic est dédiée 4 un navigateur, par exemple un programme shell, C ou Perl qui sort du HTML. PHP étant un langage script comme un autre on peut utiliser dans ce cas, mais ce n'est pas forcement le micux. 1.6 Pages dynamiques et PHP PHP est un langage Server Side ou cété serveur. Lors du chargement d'une page PHP, c'est le serveur qui va lire, interpréter et exécuter le code. Puis il renvoie le résultat, généralement sous la forme de code HTML au navigateur. Ainsi le navigateur et l'utilisateur ne voient jamais le véritable code PHP exécuté. De plus le résultat étant une page web classique en HTML, pas besoin d'installer sur le client des composants spécitfiques (java, ..). I n'y a done pas de notion de vitesse d'exécution du cété du client, mais celle du serveur est prépondérante. 1.7 Pourquoi préférer PHP a d'autres langages comme ASP ? ASP n'est pas entigrement un langage puisque ASP veut dire Active Server Page. ASP dispose bien entendu de ses propres API mais qui peuvent étre accessibles via un autre langage. II s'agit dutiliser un langage (quelconque) pour créer des pages dynamiques. Nativement disponible avec IIS sous Windows, il ne lest pas par défaut avec les autres systémes ou serveurs web comme Apache. Il existe cependant des modules de compatibilité ASP pour Apache comme Apache::ASP qui reprend les API ASP en les étendant et en programmation PERL. Sous Windows, le code ASP se fait généralement en VBScript ou en Jscript. C'est aussi possible sous Unix/Linux et Apache, mais il faut alors se tourer vers des solutions commerciales (Sun One ASP, Instant ASP, ...). Sous S. ROHAUT Cours Programmation PHP Page 8/93Windows ASP et VBScript sont utilisés pour l'accés aux ActiveX, composants bien pratiques mais véritables gruyéres pour la sécurité. Il n'existe pas 4 ce jour de portage de ActiveX sur d'autres systémes que Windows. PHP est disponible pour toutes les plate-formes et permet de faire la méme chose, sinon plus, que ASP et VBScript. N'oublions pas que PHP dispose de plus de 2700 APIs ! 1.8 Ce que vous devez déja connaitre Vous devez connaitre HTML ainsi qu'un langage de programmation procédural (C par exemple) Une connaissance basique du SQL peut étre nécessaire mais sera abordée 1.9 Le nécessaire serveur PHP ne sert pas seulement a faire des pages dynamiques. C'est un langage interprété qui au méme titre que Perl, Python ou TCL est capable de lancer des scripts intéractifs ou non, On peut méme utiliser PHP pour créer des interfaces graphiques (extension GTK). Le minimum nécessaire et vital pour apprendre PHP est donc l'interpréteur PHP lui-méme sur un environnement supporté (Unix, ‘Windows, Mac, ...) Si on parle de LAMP, on voit bien la référence. Un systéme Linux, un serveur Web Apache, un serveur de bases de données MySQL et un interpréteur PHP. La version 4 de PHP permet de fonctionner avec IIS, et MySQL existe aussi pour Windows. On peut done utiliser une architecture WIMP (Windows, IIS, MySQL, PHP) ou WAMP (Windows, Apache, MySQL, PHP). Ajouter PHP AIS, c'est laisser la porte ouverte a tous les vents, on préférera done la seconde solution Les distributions Linux disposent déja du nécessaire pour l'architecture LAMP et le paramétrage est assez simple. De plus le mode « user_mod » de Apache permet 4 chaque utilisateur de eréer son site web dans un répertoire spécifique de son répertoire personnel. Sous Windows, c'est déji un peu plus complexe mettre en oeuvre manuellement, On emploie done des distributions toutes faites, la meilleure se nommant EasyPHP. Les versions 1.6 et 1.7 sont les meilleures pour développer. On peut ainsi développer son site sous Windows et le porter tel quel sur un serveur Unix. 1.10 Le nécessaire client Pour développer il suffit d'un simple éditeur mais il vaut mieux préférer un éditeur plus évolué supportant la coloration syntaxique et quelques fonctions évoluées. L’éditeur HAPEdit 3 est parfait pour développer en PHP. Liaccés aux bases MySQL peut se faire soit depuis un navigateur (phpMyAdmin) soit depuis une interface MySQLCC ou encore DBDesigner pour la conception. Pour les tests : un simple navigateur respectant les standards du web. 1.11 Le respect des standards Le W3C est lorganisme international faisant loi dans le monde des standards du web. Il a défini une série de normes dont le HTML, le XML, le XHTML, les CSS, etc. Pourquoi respecter un standard ? Crest la garantie d'un bon fonctionnement et du bon affichage de maniére identique de vos pages sur S. ROHAUT Cours Programmation PHP Page 9/93tous les navigateurs supportant ce standard. Avec une bonne déclaration (entéte HTML) les navigateurs IE6, Mozilla 1.5, Opera 7, Galeon, Konqueror, etc, sont compatibles avec ces standards. Liutilisation de balises propriétaires a un navigateur (blink par exemple) ou de vbscript (sous IE) est & proserire, La demiére norme HTML valide est HTML 4.01 STRICT. XHTML qui @ terme remplacera définitivement HTML est aussi bien supporté. La derniére norme CSS et la 2. Cependant dans ce cas préfiérez CSS-1 car seul Opera supporte CSS-2. Prenez.'habitude quand c'est possible de tester votre site sur deux ou trois navigateurs : TE6 car c'est le plus répandu, Opera car il est extrémement respectueux des standards et Mozilla car c'est LE challenger et probablement remplagant & terme de IE (qui n’aura plus d'évolution de version avant LongHorn). S. ROHAUT Cours Programmation PHP Page 10/932 Bases :Présentation PHP est langage trés souple prenant ses sources dans divers langages comme le C, le Perl, le C++. Il est done possible d'avoir plusieurs styles de scripts (programmation classique dite procédurale ou programmation objet, ou programmation bordélique). Cette souplesse permet une trés grande liberté, un peu comme en Perl. L'inconvénient est qu'on peut trés vite obtenir du code illisible (bordélique), méme si ¢a marche trés bien, Prenez donc I’habitude de commenter votre code, de indenter et de ne placer qu'une instruction par ligne. 2.0.1 Syntaxe de base 2.1 Intégration 4 HTML Une page php porte extension « . php ». Une page PHP peut étre entigrement programmée en PHP ou mélangée avec du code html. PHP est un langage « Embedded HTML », cest a dire qu'il apparait 4 n'importe quel endroit de la page HTML. Pour ga on le place dans des balises particuligres : . On peut aussi utiliser les balises . La premiére forme est préférable pour plus de simplicité et une compatibilité XHTML. On écrit done une page HTML dans laquelle on intégre du code PHP.
e Ceci est vrai. else (
Cec! est faux.
implique la fin d'une instruction, 2.3 Bloc d'instructions Un bloc diinstructions se place entre accolades { et }. Un bloc d'instructions peut contenir du code de n'importe quelle longueur et est considéré dans le reste du code comme une instruction unique. Si C'est une expression (qui a une valeur) on peut donc assigner le bloc, faire des calculs, . 2.4 Commentaires Les commentaires slutilisent comme en C et en C+ avec /* .. */ et //, Notez qu'une balise fermante ferme le commentaire en cours. créait dans la page cible (action du form) une variable $cache de valeur "toto". (Ce n'est plus automatique depuis PHP 4.2.0. 1! faut passer par les tableaux superglobaux ci-dessus. [on peut cependant passer outre en modifiant la valeur register_globals dans le php.ini. S. ROHAUT Cours Programmation PHP Page 14/933.4 Variables dynamiques Une variable dynamique utilise la valeur d'une variable comme nom d'une autre variable, On utilise les variables dynamiques en rajoutant un « $ » devant le nom de la premiere variable. (7 $$a-1 equivaut Sar // affiche var // affiche 1 /) affiche ta Svar-1 Attention avec les tableaux ! Pour éviter toute ambiguité, il est préférable de placer la variable entre accolades. 3.5 Types de variables 3.5.1 booléens Un booléen peut prendre deux valeurs TRUS ou FALSE. Les deux constantes TRUE et FALSE peuvent étre utilisées sans aucune distinction de casse (pas de diffférences entre les majuscules et les ‘minuscules).. Svar=FALSE; ALSE, : . Svar2=True; : : * Tous les types peuvent étre convertis en boolgens. Voici les cas ot une variable retournera FALSE en booléen suivant le type + Booléen : FALSE + Entier : 0 (zéro) + Nombre flottant : 0.0 (zér0) + Chaine : chaine vide ™ ou "0" (zéro) + Tableau : tableau vide sans aucun élément + Objet : objet vide sans aucun élément + Constante spéciale NULL Dans tous les autres cas, la valeur retournée est TRUE. Attention : -I est considéré comme vrai donc TRUE. Comme en C, les tests de conditions dans les structures de contréles effectuent une convertion booléenne du la condition if (Svar==t if (Svar) I) Tentique 3.5.2 Entiers Un entier est l'ensemble des nombres naturels, c'est a dire dans virgule, positifs ou négatifS. Les entiers sont généralement codés sur 32 bits mais cela dépend de larchitecture. Si on affecte un nombre entier qui dépasse la capacité de la variable, celle-ci sera transformée en réel (float). Enfin il nly a pas de notion d'entier non signé. Lors de la conversion d'un boolgen en entier, FALSE devient 0 et TRUE devient 1. Lors de la conversion d'un nombre a virgule flottante, le nombre sera arrondi a la valeur inférieure s'il est S. ROHAUT Cours Programmation PHP Page 15/93positif, ou supérieure s'il est négatif (conversion vers zéro). Pour la conversion depuis les chaines, voir a ce type. 3.5.3 Virgule flottante On parte ici des nombres réels, double ou float, c'est a dire les nombres a virgules. La virgule est spécifige par le point «. ». La puissance de 10 stexprime avec le «e » ou le «E », Svar2=1.1e4; + 1074 3.5.4 Chaines de caractéres Une chaine est une séquence de caractéres. PHP travaille en ASCII soit 256 caractéres, mais ne supporte pas encore le format Unicode, prévu dans la version 5. II n'y a pas de limite théorique pour la taille de la chaine. On distingue trois syntaxes pour utiliser un chaine + Les guillemets simples '..." (apostrophes) : Comme en shell, tous les caractéres inclus dans la chaine sont sortis tels quels sans interprétation. Si vous devez afficher un guillemet simple, il faudra l'échapper : ' + Les guillemets doubles ".." : Certaines séquences de caractéres sont interprétées et les variables sont substituées (remplacées par leur valeur) + HereDoc : Identique aux HereScripts en Shel placé dans la variable. . Le texte saisi jusqu’a un délimiteur spécifié est Voici le tableau issu de la documentation PHP des séquences pouvant étre utilisés avec les guillemets doubles. Séquence ‘Valeur \n Nouvelle ligne (linefeed, LF ou 0x0A (10) en ASCID) \r Retour Ala ligne (carriage return, CR ou 0x0D (13) en ASCII) \t ‘Tabulation horizontale (HT ou 0x09 (9) en ASCII) AN Antislash \s (Caractere § \" Guillemets doubles 10-7341, 3} ‘Une séquence de caractéres qui permet de rechercher un nombre en notation octale, \x[0-9A-Fa- ‘Une séquence de caractéres qui permet de rechercher un nombre en fl notation hexadécimale. I\tabus @\talcool est dangereux'; no “la valeur de \Svar est $var\n"; = <<
array("riri", =>" fifi", 2=>"lowlow') ,2=>array (1,2,3) array ("un', "deux", 'trois')); an") 0017 a 2 (2a; Stab2["un"] ['deux"]="tes x dim Tlexiste une fonction trés pratique pour lister le contenu d'un tableau, ou pour modifier les éléments : foreach (). Suabearray(/=>"un',2=>"deux",5=>"trois"); each (5 Svaleur) { echo "Svaleur \n"; // 2 a x } foreach($tab as $cle => $valeur) echo "Scle => Svaleur\n"; h ny 2 => deux, ) 3.5.6 La variable objet Les objets se eréent avec l'instruction class. Pour eréer une instace de l'objet il faut utiliser le mot Sobj-new test; Sobj->affiche hello() + 3.6 Les constantes Les constantes est un nom qui prend une valeur ne pouvant pas étre modifige une fois fixée. Une constante n'est accessible qu'en lecture seule. Blles sont sensibles a la casse et doivent par convention étre écrites en majuscules. On définit une constante avec la fonction deine () et doit respecter certaines régles + une constante ne commence pas par un $ + une constante est accessible depuis n'importe quel endroit du code + une constante ne peut pas étre redéfinie + une constante ne peut contenir d'un scalaire (entier, booléen, chaine, double). © (CONSTANTE, "valeur") 7 echo CONSTANTE; S. ROHAUT Cours Programmation PHP Page 18/933.7 Obtenir le type d'une variable Pour obtenir le type d'une variable, on utilise la fonction « gettype » qui retourne une chaine de texte indiquant le type. Mais attention rien ne garantit que le résultat soit le méme d'une version PHP & une autre. Les types retournés sont "boolean", "integer", "double" (pour des raisons historiques, "double" est retournée lorsqu'une valeur de type float est fournie, au lieu de la chaine "float"), "string, "array", “object”, "resource" (depuis PHP 4), "NULL" (depuis PHP 4), "unknown type" Si vous souhaitez récllement tester le type d'une variable, il est préférable d'utiliser les fonctions de type «is_*» : is_array, is_bool, is_double, is float, is_int, is_integer, is_long, is_null, is_numeric, is_object, is_real, is_resource, is_string, is_callable (est-ce une fonction). 3.8 Définir et supprimer une variable Si vous souhaitez savoir si une variable est définie, c'est a dire si elle est affectée, on utilise «isset ». Enfin si vous souhaitez supprimer une variable, il faut utiliser « unset », S. ROHAUT Cours Programmation PHP Page 19/934 Les opérateurs 4.1 La précédence des opérateurs Crest llordre dans lequel les valeurs doivent étre analysées. Ainsi lexpression 4 + 3 * 7 n'est pas lue de gauche a droite et ne retourne pas 49 mais 25. Voici le tableau des priorités des opérateurs par ordre croissant de priorité Opérateurs gauche ‘gauche or ‘gauche xor ‘gauche and droite print ‘gauche = Ye & =
> (Sa>>$b décalage de $b bits S. ROHAUT Cours Programmation PHP Page 20/93sur la gauche) et << (Sa << $b décalage de $b bits sur la droite), Un décalage de bits sur la gauche équivaut a une multiplication par deux, un décalage sur la droite & une division par deux. 4.5 Opérateurs de comparaison Les opérateurs sont == ($a=Sb, méme valeur), === ($a-—=$b, méme valeur et méme type), != ou > (différent), <, >, <=, >=. ILy a aussi l'opérateur ternaire « ?: » expr] 2expr2:expr3 Si expr] est vrai alors expr2 sinon expr3. 4.6 Opérateur d’erreur On dispose d'un opérateur spécial @ qui appliqué a une expression empéche la sortie d'un message derreur en cas de probléme. On peut toujours récupérer le message d'erreur éventuel l'aide de la variable Sphp_errormsg mais uniquement si l'option « track_errors » est « On » dans le php.ini. $eetour=@$tab[*toto']; // ne retourne pas d'erceurs si 1'index toto ntexiste pas 4.7 Opérateur d'exécution On peut exécuter des commandes externes au PHP comme en Shell avec les opérateurs « guillemts inverses «” » (altgr*6). Attention l'option « safe_mode » doit étre 4 « On » dans le php.ini. On peut aussi utiliser la fonction « shell_exee » qui fait exécuter une commande par le shell. 4.8 Opérateurs d'incrémentation/décrémentation On dispose comme en C des opérateurs + et ~ A utiliser avant ou aprés le nom de variable. Satt; // retourne $a puis l'incrémente de 44Sa; // incrémente $a de 1 puis retourne Sa $a--; // retourne $a puis décrémente de 1 “sa; // décvemente $a de 1 puis retourne Sa Attention ! Les opérateurs réagissent aux types de variables. Le PHP réagit comme en PERL. Ainsi : tay Sar tourne AA $a // retourne Aa 4.9 Opérateurs logiques Les opérateurs logiques sont « and » ou « && » ($a and Sb, $a && Sb) vrai si $a et $b sont vrais « or » ou « || » ($a or Sb, $a || $b) vrai si $a ou Sb sont vrais « xor > ($a xor $b) vrai si $a ou $b sont vrais mais pas les deux en méme Lemps « |» (1Sa) vrai'si Sa est faux. Attention, and et or n'ont pas la méme priorité (priorité plus faible) que && et ||! S. ROHAUT Cours Programmation PHP Page 21/934.10 Opérateurs de chaines Ty a deux opérateurs de chaines : le «. » qui concaténe deux chaines entre elles et le «= » di qui est lopérateur d'assignation, Sa="Bonjour"; Sb-Sa." les amis"; // Sb contient Bi Salut."; // $b contient Bon} es amis! Salut 4.11 Opérateur de tableaux On peut « additionner » deux tableaux entre eux avec le «+» : le tableau de droite est ajouté au tableau de gauche. S. ROHAUT Cours Programmation PHP Page 22/935 La notion d’expression En PHP, une expression peut étre résumée en « tout ce qui a une valeur ». Ceci dit, on remarque vite que en PHP tout ou presque est une expression. Une variable ou une constante se voient aflectés des valeurs. Cette valeur est done lexpression de la variable ou de la constante. Nous pouvons résumer en peut évaluer que les valeurs ant qu'une expression représente tout ce qui peut étre évalué. On ne Une fonction peut aussi étre une expression si elle retourne une valeur, On dit généralement qu'une fonction a retourné telle valeur. Une comparaison est aussi une expression : elle retourne une valeur booléenne, Un caleul est aussi une expression, puisquune valeur est retournée, affectée, calculée, PHP est orienté expression ce qui fait que tout ou presque en PHP est une expression. PHP cherche done 4 décomposer tout ce qui est possible en expressions a évaluer, pour optimiser ses traitements. Voici quelques exemples. On distingue au premier coup doeil deux valeurs : la variable $a et la valeur 2, la variable Sa étant mise a jour avec la valeur 2, Or en interme il y a une troisiéme valeur qui rentre en jeu: la valeur de Vassignation, ici elle-méme assignée a 2. Cette ligne signifie en fait : « Sa=2 est une expression qui vaut 2». Sb=Sa=2 Les assignations sont analysées de droite 4 gauche. Ici nous avons expression Sa=2 qui vaut done 2. Sb vaut done 2 aussi. C'est plus rapide a écrire et & exéouter que $a=2; Sb=2; PHP évalue d'abord l'expression Sa+3 soit la valeur de $a incrémentée de 3, et assigne la nouvelle valeur 4 Sa Le résultat est le méme, mais il est plus rapide car Sa n'est évalué quiune seule fois. On peut en arriver & avoir des expressions surprenantes La variable Sa est inerémentée di valeur 5. L'expression vaut done 5 3 et vaut done 5. L’expression Sa+-3 vaut 5. Sb se voit assigné la Demire chose : si expression Sa est vrai, lexpression Sb est évaluée, sinon expression $c est évaluée S. ROHAUT Cours Programmation PHP Page 23/93S. ROHAUT Cours Programmation PHP Page 24/936 Les structures de contréle 6.1 if if(expression) commande ou { bloc de commandes } else commande ou { bloc de commandes } Tly a aussi le « elseif», combinaison du if et du else. Le elseif en un mot peut aussi s'écrire en deux mots : le résultat est le méme. On peut écrire des elseif en chaine. Le premier dont l'expression est vrai est exéeuté, If (expression) conn: if (expression) cor (expression) comm: ou dans le bloc de commande. On peut aussi utiliser une syntaxe alternative : on ouvre le bloc (juste aprés le if, le else ou le elseif) avec les «; » deux points, et on ferme I'instruction avec « endif ». $value) commandes La premiére syntaxe récupére les éléments du tableau un par un, séquentiellement. La valeur de élément courant du tableau est placée dans $value. La seconde syntaxe est presque identique, sauf qu'en plus la clé (Vindex) de élément actuel est placée dans $key. Attention : modifier la valeur de $value (ou de $key) ne modifie pas le tableau car cette boucle travaille sur une copie, pas une référence. Par contre dans le second cas, comme on dispose de la clé, rien n'empéche d'assigner quoi que ce soit a "élément courant. Remarque : un appel a foreach « rembobine » automatiquement le tableau a son premier élément. Mais pas dans les autres boucles, il faut alors utiliser « reset ». value) = eac! $valuecbr>\n S. ROHAUT Cours Programmation PHP Page 26/93foreach (Sarr as $value) { echo "Valeur: §value
\n"; } "dix-sept" => 17 foreach ($a as $k => Sv) ( print "\$a ($k! , 6.5 break et continue Linstruction « break » permet de sortir d'un for, while, foreach ou switch. On peut lui indiquer de combien de structures on souhaite sortir si elles sont emboitées. Linstruction « continue » permet de passer a l'tération suivante, Attention PHP conside le switch comme une boucle, et dans ce cas, réévalue le switch, On peut indiquer 4 continue combien de structures emboitées relancer 6.6 switch Le «switch » est équivalent une série de if et permet de comparer avec un grand nombre de valeurs (sin case 0: print "i egale 0 break; print "i egale break; default: print "i est inférieur 4 0 ou supérieur a 2 »; Le switch s‘arréte & la premigre expression case vraie puis exécute le code suivant dans l'ordre indiqué, jusqu’a la premiére instruction break. S'il n'y a pas de break, tout le code jusqu’a la fin du switch est exécuté, Dans l'exemple suivant, si $i vaut 0, tous les print seront affichés ! (sin 4 case 0: print "i egale case 1 print "i egale 1"; 2 print "i egal ‘Notez aussi que le default doit intervenir en dernier, sinon il n'a aucun in Enfin on peut employer une syntaxe alternative avec «: » et « endswitch ». S. ROHAUT Cours Programmation PHP Page 27/93ip case 0: print "i egale 0"; break; print "i egale 1"; break; 6.7 return Contrairement 4 d'autres langages, « return » n'est pas une fonction mais une instruction. Dans une fonction, return sert a sortir de celle-ci et & retourner une valeur. Dans un script, elle sort de celui-c Attention cependant dans les scripts inclus (voir require et include) : le return dans ce type de code considére quill sort de la fonction « require » ou « include » et done ne sort pas du script ou de la fonction dans lesquels ce code a été inclus ! Comme return est un élément du langage et pas une fonction il y a pas besoin dlutiliser les parenthéses. 6.8 require et include (_once) «require » et « include » incluent 4 lendroit actuel et exéeutent le fichier PHP. Ils sont identiques dans leur fonctionnement & une exception : le traitement des erreurs. Un include produit un «warning » (le code continue en principe & s'exécuter) tandis qu'un require produit une « erreur fatale » (I'exécution s'arréte). Comme require et include sont des éléments du langage et pas des fonctions il y a pas besoin utiliser les parentheses. «require_once» et «include_once» ressemblent 4 leurs homologues avec cependant une différence, Quoi qu'il arrive, Te fichier est inclus une seule fois. Si un second « require_once » apparait avec le méme fichier, l'instruction ne sera pas exécutée. S. ROHAUT Cours Programmation PHP Page 28/937 Les fonctions 7.1 Syntaxe et portée Voici la syntaxe d'une fonction. nc (Sargl, Sarg2, $arg3, ..., Sargn) { Une fonction n'a pas besoin d'étre déclarée avant d’étre utili compatible avec PHP3), du moment qu'elle apparait dans le script. (sauf si vous voulez rester ILy a cependant deux exceptions : si la fonction est conditionnelle, c'est a dire déclarée dans un if, ou si la fonction est déclarée dans une autre fonction, Dans le premier cas elle sera inconnue du reste du code tant que la condition du if n'est pas vraie. Dans le second cas elle ne sera connue que quand la premiére fonction sera exécutée, Voici un exemple tiré du manuel, Pour le premier cas Smakefoo = true; /* Impossibie d'appeler foo() ici, te fonction nex: Mais nous pouvons utiliser bar() */ bar Qs if (Smakefoo) function foo echo "Je n'ex © que le programme n'est pas passé ici.\n"; ) /* Maitenant, nous pouvons appeler foo() caz Smakefoo est maintenant vrai */ if (Smakefoo} f00(); £ bar(Q) Srexiste das le début du \n" , Pour le second cas oO en bart) Je ntexiste pas tant que foo() atest pas appelé.\n"; ) [* Impossible d'appeler bar() ici car il n'ex: 7 £0004 /* Maintenant, no! vere 7.2 Arguments On peut passer autant d'arguments que souhaité 4 une fonction PHP, de tous types. Les arguments S. ROHAUT Cours Programmation PHP Page 29/93sont séparés par des virgules. Par défaut ils sont passés par copie. function affiche ($msg) echo $msg J Test possible de passer des arguments par référence, on peut done en changer la valeur a l'intérieur de la fonction, Pour cela on rajoute un « & » devant l'argument, On peut passer ponctuellement une variable par référence en plagant un « & » devant son nom lors de l'appel de la fonction. modif (s$msq) { Smsg="coucou"; } roa f (Sng) 7 echo Smsgi// coucou On peut aussi définir des valeurs par défaut mais ATTENTION, dans la liste des paramétres les valeurs par défaut doivent étre en dernier Sprenom="toto") Enfin on peut utiliser un nombre ve func_get_arg et fne_get_args. iable darguments avec les fonctions func_num_args, on foo() { Saumargs = func echo "Nombre a! } foo (1, 2, 3); ff aff. m_args(); : Snunargs\ he 'Nomb arguments 7.3 Valeur de retour On retourne une valeur avec Vinstruction « return », On peut retourner tout type de valeurs, mais pas plusieurs en méme temps. Cependant rien n'empéche dans ce cas de retourner un tableau. Une fonction peut aussi retourner une référence. Dans ce cas elle doit étre déclarée avec un « & » devant son nom echo carre (4); // he '16" 7.4 Fonctions internes En plus des fonctions définies par l'utilisateur PHP propose un grand nombre de fonctions internes couvrant une multitude de domaines. Pour accéder a ces fonctions il faut simplement les appeler par leur nom et que le module correspondant soit compilé avec PHP. Nous verrons dans les chapitres suivants comment en utiliser certaines. S. ROHAUT Cours Programmation PHP Page 30/938 Gestion des formulaires en PHP 8.1 GET et POST Le but est de récupérer le contenu des champs d'un formulaire HTML dans notre code PHP pour pouvoir le traiter. Lorsqu'un formulaire est envoyé 4 un script PHP, toutes les variables seront disponibles automatiquement dans le script. Les formulaires peuvent étre de type GET ou POST. Pour rappel, dans un formulaire de type GET, les informations sont passées directement par I'URL en clair, ce qui peut poser des problémes de limitations suivant le serveur (de 256 & 8192 octets selon le cas). La méthode POST n'a pas ce genre de limitation, car les informations sont transmises par le conteneur de variables globales (dans Hentéte) et sont de plus cachées. PHP peut gérer les deux méthodes de maniére transparente. 8.2 Récupération par tableau Chaque champ de formulaire en PHP est défini par un nom et une valeur. Dans un script, PHP va récupérer ces noms et ces valeurs dans des tableaux spéciaux dit superglobaux (accessibles depuis partout). Pour la méthode GET, le tableau est $_GET, pour la méthode POST le tableau est $_POST. Si vous ne souhaitez pas vous soucier de la méthode, vous pouve7. utiliser le tableau $_REQUEST. En index on aura le nom du champ de formulaire (ou de la variable passée en URL) nn valeur la valeur du champ. Par exemple : mai l">
method="post echo STREQUEST["email']; Imaginons l'appel d'une page test.php par une URL comme ceci : hittp://www.monsite.com/test.php' Ici on transmet une variable via une URL et donc la méthode implicite GET. Pour récupérer « id » dans un code PHP on peut done faire : $_GET ne contiendra que les variables de type GET. §_POST ne contiendra que les variables de type POST. $_ REQUEST contient les variables de type POST et GET mais aussi les variables de cookies. Il est aussi possible de procéder autrement en récupérant le nom du champ directement en tant que variable sans passer par un tableau. Pour cela il faut vérifier dans le fichier php.ini que la valeur register_globals est A on. Dans ce cas les noms des champs de formulaire seront les S. ROHAUT Cours Programmation PHP Page 31/93noms des variables <2php echo Susername; echo Semail; 8.3 Récupération directe Si cette valeur est a off et que pour diverses raisons (sécurité, pas le droit, etc) vous ne souhaitez/pouvez. pas la modifier, il existe tout de méme une méthode. La fonction «import_request_variables » permet d'effectuer explicitement la méme chose. Cette fonction prend un ou deux paramétres, le second étant optionnel. Aprés exécution, on récupére les variables sans passer par un tableau, Le premier paramétre est le type de variables qu'on souhaite récupérer — P/p: variables de type POST - Gig: variables de type GET = C/c: variables de type cookie On peut cumuler ensemble mais attention ordre ! Le second paramétre est le préfixe qu'on souhaite donner au nom des variables qu'on va récupérer. Voici deux exemples <2phy impor’ ts On peut aussi passer par la fonction « extract » qui permet d'exporter un tableau en variables. Ainsi pour le tableau $_ POST
Email:
Beer:
bordeaux beau jolais">beaxjolais re">loire S. ROHAUT Cours Programmation PHP Page 32/93
et <: valorisation du mot. Un >toto
bonjour, bonsot + les guillemets «" »: une chaine recherchée telle quelle. 10.6 MySQL et PHP 10.6.1 Connexion a une base de données Deux étapes sont généralement nécessaires pour plus de simplicité. La seconde n'est pas obligatoire ‘mais bien pratique dans le cas oi on travaille sur une seule base de données dans toute la page. 10.6.1.1 Connexion au serveur On utilise la fonction mysql_connect(). Cette fonction prend (au minimum) trois paramétres : le serveur (hostname) l'utilisateur et son mot de passe. cf-data $b_host S. ROHAUT Cours Programmation PHP Page 47/93Scnx=mysql_connect ($b_host, $b_user, $b_pass); if(!Senx) Gie ("erreuz de connéxion’ a MySOL"); 10.6.1.2 Choix d'une base On choisit une base de données par défaut avec la fonction mysql_select_dbQ). Elle prend au minimum un paramétre, Ie nom de la base, Le second paramétre optionnel est une resource retournée par mysql_connect, en cas de connexion sur plusieurs serveurs MySQL. Par défaut, la fonction prend la demniére connexion ouverte (celle du demier mysql_connect exécuté), $b_base="slyunix"; Sdb-msql_sevect db ($b bas. if(!$db) die ("Erreur de c: 10.6.1.3 Fermeture d'une connexion On ferme une connexion 4 MySQL avec la fonction mysql_close(). Cependant dans le cas de connexion non persistantes (voir & ce point) cette fonction n'est pas obligatoire car PHP ferme automatiquement les connexions 4 la fin d'un script. mysql_connect ($b_host, Sb_user, $b_pass) or die("erreur de connexion a MySQL"); mysql_select_db($b_base) or die("erreur a 1a selection de $b_base); mysql_e se (05 10.6.2 Les requétes 10.6.2.1 Exécuter une requéte On exécute une requéte SQL avec la fonction mysql_query(). Cette fonction prend au moins un paramétre : une requéte SQL sous forme de chaine. La fonction retourne FALSE en cas d'échee (colonne ou table invalide, droits insuffisants, pas de connexion, etc). ATTENTION : Ce n'est pas parce que l'appel & mysql_query() n'a pas retourné d'erreur que la fonction retourne des lignes de résultats dans le cas d'un SELECT par exemple. Enfin, la requéte SQL ne doit pas finir par un point-virgule. La requéte peut étre de n'importe quel type (selection, mise & jour, destruction, etc). Dans le cas dun SELECT, SHOW, EXPLAIN ou DESCRIBE, mysql_query() retourne une ressource qui sera sultat pour lire le mysql_que S. ROHAUT Cours Programmation PHP Page 48/9310.6.2.2 Nombre de lignes affectées Dans le cas d'un DELETE, INSERT, REPLACE ou UPDATE, on peut connaitre le nombre de lignes affectées (modifiées) par la requéte 4 l'aide de la fonction mysql_affected_rows(). Sresult=mysql_query("delete from f_message where login="toto! if ($result) echo mysql_affected_rows()." Enregistrements suppri 10.6.2.3 Nombre de lignes retournées Dans le cas d'un SELECT, le nombre d'enregistrements (lignes) retourné est obtenu avec la fonction mysql_num_rows(). * from £ message where id_messa ws().' Snregistrements rétourn Sresultemysql_query ( f ($result) echo mysqi 10.6.2.4 Récupérer les résultats La fonction la plus sympathique pour récupérer les enregistrements aprés lexécution d'une sélection est mysql_fetch_array(), Elle prend au minimum un paramétre : une ressource résultat (résultat de mysql_query). Elle retourne une ligne de résultat sous forme d'un tableau associatif, d'un tableau indexé ou des deux. Par défaut, le tableau retourné est la fois associatif et indexé. Dans un tableau associatif, l'index du tableau est le nom du champ correspondant la colonne. Dans un tableau indexé, les colonnes sont numérotées a partir de zéro. Notez. que mysql_fetch_array() ne retoune quune seule ligne de résultat. Pour passer 4 la suivante, il faut exécuter la fonction 4 nouveau. Elle retournera FALSE quand il n'y aura plus de lignes a lire. stexte from f_message where login="toto!™); Stab-nysql_ fetch re ligne du résultat Stabl'sujet").', '.Stab['texte'l; // affiche les champs sujet et texte bl0).*, *.Stablil; // idem Si plusieurs colonnes portent le méme nom, la demiére colonne sera prioritaire, Dans une requéte affichant des noms de colonnes identiques, le mieux est de les renommer : ECT -nom as coll, t2_nom as col2 FROM Le second paramétre de mysq|_fetch_array() peut étre : + MYSQL_ASSOC : le résultat est uniquement un tableau associatif (index-nom de colonne) + MYSQL_NUM : le résultat est uniquement un tableau indexé numériquement. + MYSQL_BOTH (par défaut): les deux sresult-nysql_query ("selec wnile ($result 4% echo $tab[ ‘su texte from f_messag: _fetch_array(Sresuit)) { B['texte']; // affiche les champs sujet et tes where login='toto } S. ROHAUT Cours Programmation PHP Page 49/93
You might also like
PHP - The Complete Reference - Steven Holzner Curvebreakers
PDF
No ratings yet
PHP - The Complete Reference - Steven Holzner Curvebreakers
612 pages
Theory of PHP Programming (5th Sem) .
PDF
No ratings yet
Theory of PHP Programming (5th Sem) .
91 pages
Internet Programing II
PDF
No ratings yet
Internet Programing II
63 pages
Web Applications Development Using PHP & Mysql
PDF
No ratings yet
Web Applications Development Using PHP & Mysql
82 pages
Unit-1 Introduction To PHP
PDF
No ratings yet
Unit-1 Introduction To PHP
37 pages
0750-Programmation-Web-En-Php (1) - 1-234
PDF
No ratings yet
0750-Programmation-Web-En-Php (1) - 1-234
479 pages
Chapter 1 - PHP Basics
PDF
No ratings yet
Chapter 1 - PHP Basics
73 pages
PHP PDF
PDF
100% (1)
PHP PDF
85 pages
Ch4 - PHP
PDF
No ratings yet
Ch4 - PHP
151 pages
02 - Pemrograman Web - Modul 2 PHP - 20210302
PDF
No ratings yet
02 - Pemrograman Web - Modul 2 PHP - 20210302
89 pages
IP-Unit 4 & 5
PDF
No ratings yet
IP-Unit 4 & 5
189 pages
PHP, MySQL in Urdu by Shakeel Muhammad Khan PDF
PDF
67% (6)
PHP, MySQL in Urdu by Shakeel Muhammad Khan PDF
250 pages
WT Unit4 PHP
PDF
No ratings yet
WT Unit4 PHP
42 pages
Chapter Five - PHP
PDF
No ratings yet
Chapter Five - PHP
114 pages
PHP With Mysql Material-1
PDF
No ratings yet
PHP With Mysql Material-1
63 pages
Module 4 PHP and Mysql
PDF
No ratings yet
Module 4 PHP and Mysql
119 pages
Introduction To PHP (Part-1) : Khizra Hanif, Department of Software Engineering, LGU Lahore, Pakistan
PDF
No ratings yet
Introduction To PHP (Part-1) : Khizra Hanif, Department of Software Engineering, LGU Lahore, Pakistan
32 pages
Lect 19 Introduction To PHP 1
PDF
No ratings yet
Lect 19 Introduction To PHP 1
32 pages
Notes of PHP
PDF
No ratings yet
Notes of PHP
41 pages
PHP Book
PDF
No ratings yet
PHP Book
88 pages
Chap 5 PHP
PDF
No ratings yet
Chap 5 PHP
157 pages
Chapter 6 PHP
PDF
No ratings yet
Chapter 6 PHP
57 pages
Wepik PHP 101 A Beginners Guide 20240506180724DWKL
PDF
No ratings yet
Wepik PHP 101 A Beginners Guide 20240506180724DWKL
12 pages
Cap 7773 RD
PDF
No ratings yet
Cap 7773 RD
67 pages
Syntaxe PHP de Base: Créer, Enregistrer Et Exécuter Un Script PHP
PDF
No ratings yet
Syntaxe PHP de Base: Créer, Enregistrer Et Exécuter Un Script PHP
14 pages
PHP Training Document
PDF
No ratings yet
PHP Training Document
88 pages
Intro To PHP
PDF
No ratings yet
Intro To PHP
27 pages
PHP File - PHP - Merged
PDF
No ratings yet
PHP File - PHP - Merged
30 pages
1 PHP
PDF
No ratings yet
1 PHP
30 pages
Introduction To PHP
PDF
No ratings yet
Introduction To PHP
5 pages
7MCE3C2-Programming in PHP
PDF
No ratings yet
7MCE3C2-Programming in PHP
177 pages
TD Programmation Tle TI
PDF
No ratings yet
TD Programmation Tle TI
4 pages
WT Unit 2
PDF
No ratings yet
WT Unit 2
7 pages
PHP Programming Bca Part-2
PDF
No ratings yet
PHP Programming Bca Part-2
123 pages
Learning Outcome 1
PDF
No ratings yet
Learning Outcome 1
8 pages
PHP Notes
PDF
No ratings yet
PHP Notes
18 pages
Complete Guide: by Kaleem Abbas Jara
PDF
No ratings yet
Complete Guide: by Kaleem Abbas Jara
18 pages
PHP
PDF
No ratings yet
PHP
21 pages
PHP Complete Notes With Projects
PDF
No ratings yet
PHP Complete Notes With Projects
11 pages
1-Introduction To PHP Programming
PDF
No ratings yet
1-Introduction To PHP Programming
7 pages
PHP Question Bank
PDF
No ratings yet
PHP Question Bank
3 pages
Generated by Flexon
PDF
No ratings yet
Generated by Flexon
6 pages
Computer Science Dept: PHP Introduction
PDF
No ratings yet
Computer Science Dept: PHP Introduction
18 pages
WAD PHP &MySQL SYLLABUS
PDF
No ratings yet
WAD PHP &MySQL SYLLABUS
4 pages
Unit IV: PHP & Mysql
PDF
No ratings yet
Unit IV: PHP & Mysql
32 pages
Advanced Prog Lec 2
PDF
No ratings yet
Advanced Prog Lec 2
21 pages
Unit 1 PHP Detailed Explanation
PDF
No ratings yet
Unit 1 PHP Detailed Explanation
5 pages
Ch1, Ch2 Answers (PHP)
PDF
No ratings yet
Ch1, Ch2 Answers (PHP)
2 pages
CH 6
PDF
No ratings yet
CH 6
6 pages
BCA 604 Serevr Side Scripting Using PHP
PDF
No ratings yet
BCA 604 Serevr Side Scripting Using PHP
2 pages