Formation PHP débutant
Table des matières 1 Le principe de PHP 3 1.1 Langage côté serveur.................................. 3 1.2 Pour travailler..................................... 3 1.3 Langage de pré-processing............................... 3 2 Les bases du langage 4 2.1 La syntaxe....................................... 4 2.1.1 Les variables.................................. 4 2.1.2 L affectation.................................. 4 2.1.3 Les tableaux.................................. 5 2.1.4 Les opérations................................. 5 2.1.5 La concaténation de chaîne.......................... 6 2.2 Les fonctions...................................... 7 2.2.1 La fonction echo................................ 7 2.2.2 La fonction include............................... 7 2.2.3 Quelques fonctions utiles........................... 7 2.2.4 Fonctions personnelles............................. 8 3 Communiquer avec php 8 3.1 Introduction....................................... 8 3.2 Complément de XHTML................................ 8 3.3 Récupérer les donnes POST.............................. 9 3.4 Récupérer les données GET.............................. 10 4 Factoriser le code avec PHP 10 4.1 Insérer un menu.................................... 10 4.2 Une autre méthode................................... 10 5 Références 11 2
1 Le principe de PHP 1 LE PRINCIPE DE PHP 1.1 Langage côté serveur PHP est un langage dit côté serveur. Celà signifie que c est le serveur web à qui vous demandez la page qui va exécuter vos programmes PHP, et non la machine avec laquelle vous surfez. Celà est très important, car PHP n a plus aucun effet une fois la page chargée. De plus, les visiteurs ne peuvent pas visualiser le contenu de vos fichiers PHP, puisque le code s y trouvant est exécuté et en aucun cas affiché. 1.2 Pour travailler Pour pouvoir utiliser PHP, il vous faut donc un serveur web. Un simple navigateur ne suffit pas. Pour cette formation, utilisez l hébergement fourni par INP-Net. Mettez vos documents dans votre répertoire www public et accéder-y via le chemin http ://bde.enseeiht.fr/~votrelogin/votrefichier.php 1.3 Langage de pré-processing Les navigateurs web ne savent interpréter que du XHTML. Par conséquent, lorsque PHP est exécuté, il produit du code XHTML. En fait, vous pouvez mélanger le PHP et le code HTML. Le code PHP sera exécuté et remplacé par le code HTML qu il renvoie. Voici un premier programme en PHP pour vous en convaincre. echo ( <?xml v e r s i o n =\ 1.0\ encoding=\ i s o 8859 15\ ) ; <!DOCTYPE html PUBLIC //W3C//DTD XHTML 1. 0 S t r i c t //EN http : / /www. w3. org /TR/xhtml1/DTD/xhtml1 s t r i c t. dtd > <html xmlns= http : / /www. w3. org /1999/ xhtml xml : lang= f r > <head> <t i t l e >Page vide pour t e s t e r </ t i t l e > <s t y l e > @import u r l ( c s s / s t y l e. c s s ) ; </s t y l e > </head> <body> echo ( Bonjour tout l e monde! ) ; </body> </html> Un premier programme en PHP 3
2 LES BASES DU LANGAGE Vous voyez que PHP s insère avec des marqueurs de début et de fin. Le marqueur d ouverture peut n être que <?. C est pour quoi nous avons du dire à PHP d écrire la première ligne du code source HTML, car il ne s agit pas de code PHP, et il tente de l interpréter comme tel. Nous vous déconseillons fortement d utiliser le marqueur d ouverture <?. Utilisez toujours le marqueur. 2 Les bases du langage PHP est un langage de programmation, qui est à l origine un langage de script. Celà signifie qu il n est pas compilé mais interprété. Celà implique, même si la théorie ne le dit pas, que l écriture de son code est facilité par nombre de conversions automatiques qu il effectue. Nous allons voir comment utiliser les commandes PHP de base. Un fichier d exmple est montré à la fin. 2.1 La syntaxe La syntaxe de PHP ressemble beaucoup à celle de C, en plus simple. Vous ne serez pas dépaysés si vous savez coder en C. Une commande doit toujours se terminer par un pointvirgule, comme en C. 2.1.1 Les variables Les noms de variables commencent toujours par un $, suivi de lettres de l alphabet, de chiffres, ou d underscores. Attention cependant : le premier caractère après le $ doit toujours être une lettre ou un underscore, jamais un chiffre. Les noms de variables sont sensibles à la casse. Les variables sont typées, mais vous n avez pas besoin de déclarer leur type et pouvez le changer en cours de route, sans prévenir PHP. Il effectuera toutes les conversions qu il peut tout seul. L avantage est qu on code beaucoup plus vite. L inconvénient est qu on fait beaucoup plus d erreurs. 2.1.2 L affectation La syntaxe de l affection est la même qu en C, à savoir le nom de la variable, suivi du signe égal, suivi de la valeur à affecter. # Variable de type i n t e g e r $a =1; # Type f l o a t $b =1.5; #Type S t r i n g $c= Salut l e s gens ; #Type boolean $d=true ; 4
2 LES BASES DU LANGAGE #conversion auto : php rã $a=$c ; c attribue l e type s i l l e f a u t Les variables en PHP 2.1.3 Les tableaux Les tableaux en PHP sont très simples à utiliser. Ils sont dynamiques et vous pouvez rajouter des éléments quand vous voulez. Il sont aussi associatifs, ce qui est très pratique. Voyez plutôt. $tab1=array ( ) ; $tab1 [0]= Roger ; $tab1 [1]= Marcel ; $tab []= Robert ; $tab2 [ papa ]= Roger ; $tab2 [ maman ]= Marcelle ; $tab2 [ f i l s ]= Robert ; $a=$tab [ 1 ] ; $b=$tab2 [ maman ] ; Les tableaux en PHP 2.1.4 Les opérations Les opérations mathématiques standards sont utilisables. $a = 1 ; $b = 2 ; $c = 5 ; 5
2 LES BASES DU LANGAGE $d = $a + 1 ; $d = $b $a ; $d = $c $b ; $e = 5 / $a ; $ f = ( 5 $a ) ( $b $c + 2 ) ; $a+ = 2 ; $b = 5 ; $d++; ++$c ; Opérations standards 2.1.5 La concaténation de chaîne Le symbole de concaténation de chaîne de base est le point. Mais PHP possède une autre méthode de concaténation très pratique. Exemple dans ce code : $nombre =2; $ami= Roger ; $ami2= Norbert ; # $moi c o n t i e n t J a i 2 amis. Ce sont Roger e t Norbert $moi= J a i. $nombre. amis. Ce sont. $ami. et. $ami2.. ; # $moi c o n t i e n t J a i 2 amis. Ce sont Roger e t Norbert $moi= J a i $nombre amis. Ce sont $ami et $ami2. ; # $moi c o n t i e n t J a i $nombre amis. Ce sont $ami e t $ami2. $moi= J \ a i $nombre amis. Ce sont $ami et $ami2. ; $moi.= J aime mes amis ; # $moi c o n t i e n t J a i $nombre amis. Ce sont $ami e t $ami2. J aime mes amis. 6
2 LES BASES DU LANGAGE Concaténer des chaînes 2.2 Les fonctions PHP fournit un très grand nombre de fonctions prédéfinies, et vous pouvez en définir vous même. 2.2.1 La fonction echo C est la fonction la plus importante de php. C est elle qui va renvoyer du code HTML de sortie. C est elle qui va afficher tout ce que l utilisateur verra. Vous l avez déjà rencontrée dans le premier exemple. 2.2.2 La fonction include C est la deuxième fonction la plus importante de PHP. Elle vous permet d inclure du code HTML ou PHP présent dans un autre fichier. Le code HTML du fichier appelé est affiché comme avec echo, et le code PHP est exécuté. 2.2.3 Quelques fonctions utiles count ( $tableau ) ; #r e n v o i e l e nombre d à c lã c ments contenus dans t a b l e a u strlen ( $chaine ) ; #Renvoie l e nomrbre de caractã re de l a chaine explode (,, $chaine ) ; #Transforme une chaine en t a b l e a u en l a coupant s e l o n l e caractã re sã c pcifiã c implode (,, $tableau ) ; #Opà c ration i n v e r s e : l e t a b l e a u e s t tranformã c en chaine. trim ( $chaine ) ; # Renvoie l a chaine privã c e des eespaces b l a n c s de dã c but e t de f i n. print r ( $tableau ) ; # A f f i c h e t o u t l e contenu d un t a b l e a u, p r a t i q u e pour dã c buguer ; 7
3 COMMUNIQUER AVEC PHP 2.2.4 Fonctions personnelles Vous pouvez définir vous-même des fonctions. Regardez l exemple suivant. f u n c t i o n c a l c u l ( $a, $b ) { $ r e s u l t a t=$a+b ; echo ( J a i calculã c! ) ; return $ r e s u l t a t ; } f u n c t i o n c a l c u l 2 ( $a, $b=1){ return $a+$b ; } echo ( PHP a calculã c. c a l c u l ( 4, 7 ) ) ; echo ( <br /> et a u s s i. c a l c u l 2 ( 2 ). et. c a l c u l 2 ( 2, 2 ) ) ; Fonctions définies par l utilisateur 3 Communiquer avec php 3.1 Introduction Le plus grand intérêt de PHP est d interagir avec l utilisateur. Pour ce faire, PHP sait récupérer des variables particulières. Nous allons étudier comment les utiliser. 3.2 Complément de XHTML Le premier intérêt de PHP est de pouvoir communiquer avec l utilisateur. Pour ce faire, les langages Web (il n y a pas que PHP) récupèrent des données envoyées par les utilisateurs. Ces données sont soumises via ce qu on apelle des formulaires. Le XHTML permet la rédaction de formulaires. Voyez ce code. <?xml v e r s i o n= 1. 0 encoding= i s o 8859 15 <!DOCTYPE html PUBLIC //W3C//DTD XHTML 1. 0 S t r i c t //EN http : / /www. w3. org /TR/xhtml1/DTD/xhtml1 s t r i c t. dtd > <html xmlns= http : / /www. w3. org /1999/ xhtml xml : lang= f r > <head> <t i t l e >Page vide pour t e s t e r </ t i t l e > 8
3 COMMUNIQUER AVEC PHP <s t y l e > @import u r l ( c s s / s t y l e. c s s ) ; </s t y l e > </head> <body> <form name= monformulaire a c t i o n= connexion. php method= post > <div> <p>login : <input type= t e x t name= nom /><p> <p>mot de passe : <input type= password name= motdepasse /></p> <p>acceptez vous nos c o n d i t i o n s? <input type= checkbox name= c o n d i t i o n s /><p> <p><input type= submit value= Envoyer /></p> </div> </form> </body> </html> Un formulaire en XHTML 3.3 Récupérer les donnes POST Nous allons maintenant pouvoir, après soumission du formulaire, récupérer des données entrées par l utilisateur. Voyez le fichier calculette.php. <!DOCTYPE html PUBLIC //W3C//DTD XHTML 1. 0 S t r i c t //EN http : / /www. w3. org /TR/xhtml1/DTD/xhtml1 s t r i c t. dtd > <html xmlns= http : / /www. w3. org /1999/ xhtml xml : lang= f r > <head> <t i t l e >Page vide pour t e s t e r </ t i t l e > <s t y l e > @import u r l ( c s s / s t y l e. c s s ) ; </s t y l e > </head> <body> $op1=$ POST [ op1 ] ; 9
4 FACTORISER LE CODE AVEC PHP $op2=$ POST [ op2 ] ; $ r e s u l t a t=$op1+$op2 ; echo ( Le rã c sultat e s t $ r e s u l t a t ) ; <form name= monformulaire a c t i o n= c a l c u l e t t e. php method= post > <div> <input type= t e x t name= op1 /> + <input type= t e x t name= op2 /> = <input type= submit value= Envoyer /> </div> </form> </body> </html> Un mini additionneur 3.4 Récupérer les données GET A présent, reprenez votre fichier et modifier le post du formulaire par get. Envoyez le formulaire. Vous voyez que PHP n a pas capturé vos données. Il faut utiliser le tableau $ GET pour le faire. Mais regardez votre barre d adresse : les variables entrées apparaissent dans l URL. C est là la différence fondamentale entre POST et GET. Celà vous permet de communiquer avec PHP avec de simples liens hypertextes. Créer un lien qui effectue un calcul en passant les paramètres dans son URL, à la manière de celle que vous voyez. 4 Factoriser le code avec PHP Factoriser du code signifie se débrouiller pour ne pas avoir à retaper les mêmes bouts de code dans plusieurs fichiers. Pour un menu identique sur tout le site par exemple. 4.1 Insérer un menu On peut pour celà utiliser la fonction include. Ouvrez le fichier page1.php et regardez son effet. Cette méthode consiste à réutiliser dans vos pages un bout de code que vous stockez ailleurs. 4.2 Une autre méthode Cette deuxième méthode consiste à rendre le corps de la page dynamique au lieu de ses décorations. Ouvrez le fichier pagedyn.php pour tester. Cette deuxième méthode consiste à charger un contenu stocké ailleurs. C est un approche plus puissante et plus souple, bien que plus complexe à mettre en place sur un site web complet. 10
5 RÉFÉRENCES 5 Références Contacter l auteur : jjansen@etu.enseeiht.fr Documentation officielle : http ://www.php.net Catalogue de scripts divers : http ://www.phpscripts-fr.net/ 11