Title: PHP INTRODUCTION
1PHPINTRODUCTION
- 420-B63 Programmation Web Avancée
- Auteur Frédéric Thériault
2PHP ?
- Acronyme de
- PHP Hypertext Preprocessor
- Script exécuté sur le serveur Web
- Open Source
- Référence http//www.php.net
3Interaction client/serveur
HTML
Serveur Web traite le script PHP
Fichier HTML PHP
4Les tags PHP
- 2 types
- Normal
- lt?php ?gt
- Abrégé (il nest pas conseillé de les utiliser)
- lt? ?gt
- Ce nest pas tous les serveurs qui les acceptent
- Entre en conflit avec lentête XML
- lt?xml version"1.0" encoding"UTF-8"?gt
5Exemple 1
- Faire un fichier info.php
- Ajouter dans le fichier
- lt?php
- phpinfo()
- ?gt
6Exemple 2
- lthtmlgt
- ltheadgt
- lttitlegtExemple de PHPlt/titlegt
- lt/headgt
- ltbodygt
- ltpgt
- lt?php
- echo "Hello World !"
- ?gt
- lt/pgt
- lt/bodygt
- lt/htmlgt
7echo
- Permet décrire dans le fichier envoyé au client
- Exemple
- Soit la variable str "Allo"
- echo "str" // Affiche allo
- echo "str toi", " et moi" // Affiche Allo toi
et moi
8Les commentaires
- Une ligne
- // ceci est un commentaire
- ceci est un autre commentaire
- Plusieurs lignes
- /
- Ceci est un commentaire
- de plusieurs lignes
- /
9Les variables
- Sensible à la case
- Nom suivit de lettres, chiffres et _
- Le type s'ajuste au contenu de la variable
- Booléen
- var TrUe //pas sensible à la case!
- Texte
- var "Montant de 100\ Can"
10Variables, chaînes de caractères et concaténation
- On peut mélanger les variables et les chaines de
caractères - var1 33.33
- echo "Montant ", var1
- echo "Montant var1"
- echo "Montant ".var1
- Le point "." est l'opérateur de concaténation
- Pour accéder à un caractère
- var "Coucou"
- echo var12 //depuis php5
- echo var12 //php4 et avant
- Pour imprimer un caractère spécial
- echo chr(125) //caractère ASCII 125
11Types de données
- Fonction gettype(nom)
- Connaître le type d'une variable
- test 5
- echo gettype( test ) // integer
- settype(variable, type)
- Modifier le type d'une variable.
- test 8.54
- settype(test, integer) //testlt8
- Transtypage
- test1 8.5
- test2 (int) test1
12Les opérateurs
- Arithmétiques
- , , , ..
- De chaîne de caractères
- . , .
- var "Roger"."Rabbit"
- var . " est enseignant"
- Comparaison
- , !. lt, gt
- //égal et de même type
- Logique
- (ou and), (ou or), !, xor
- xor si l'un ou l'autre est vrai gt true
- xor si les deux sont faux, ou sont vrai gt false
13Les constantes
- Utiliser la fonction define( )
- Syntaxe
- define(nom constante, valeur)
- Exemple
- define("UTIL", "Gérald")
- define("CONSTANTE", 5)
- Nom des constantes, en majuscule par convention.
- echo "Texte avant ". CONSTANTE ." Texte après"
- Il faut entourer la constante de ". .", sinon
elle s'affichera comme du texte.
14Les conditions
- if elseif else
- switch( ) case break
- default
- Opérateur ?
- (expression)?
- expression si vraie
- expression si faux
- Nom "Roger"
- echo (NomRoger')?'o''n'
15Les conditions (suite)
- Exemple
- lt?php
- if (1 2)
- ?gt
- ltdivgtlth1gtOn est ici !lt/h1gtlt/divgt
- lt?php
-
- else
- ?gt
- ltdivgtlth1gtOn est là !lt/h1gtlt/divgt
- lt?php
-
- ?gt
16Comparaison de chaînes de caractères
- Préférable de pas utiliser
- Il faut utiliser la fonction strcmp()
- Exemple
- If (strcmp(var1, "Test") 0)
- // var1 est égal à Test
17Les boucles
- while ()
- do while()
- for (i0 ilt10 i
- foreach
- tableau array ("un", "deux", "trois")
- foreach(tableau as chiffre)
- echo "le chiffre chiffre"
-
- foreach(tableau as clegtchiffre)
- echo "le chiffre".(cle1)." s'écrit
- chiffre ltbr /gt"
18Les inclusions de fichiers
- Permet dinclure des fichiers externes
- include("header.php")
- Inclus le fichier header.php. Si ce fichier est
déjà inclus, alors il y a un message derreur - Si le fichier nexiste pas, alors il y a un
warning affiché - include_once("header.php")
- Comme le include, à la différence que si le
fichier a déjà été ajouté, il ne lajoutera pas
de nouveau
19Les inclusions de fichiers (suite)
- require("header.php")
- Inclus le fichier header.php. Si ce fichier est
déjà inclus, alors il y a un message derreur - Si le fichier nexiste pas, alors une erreur
fatale est déclenchée - require_once("header.php")
- Comme le require, à la différence que si le
fichier a déjà été ajouté, il ne lajoutera pas
de nouveau
20Les inclusions de fichiers (suite)
- Les inclusions sont très pratiques pour
- Ne pas dupliquer de code HTML
- Réutiliser des fonctions PHP déjà écrite dans
dautres fichiers
21Les formulaires
Page formulaire
ltform action"confirm.php" method"post"gt ltinput
type"text" name"nom"gt ltinput type"text"
name"adresse"gt ltinput type"submit"
value"Terminé"gt lt/formgt
confirm.php
ltpgt lt?php echo "Bienvenue
ltbgt"._POST"nom"."lt/bgt" echo "votre
adresse est ltbgt"._POST"adresse"."lt/Bgt"
?gt lt/pgt
22Accès aux champs dun formulaire
- Si le formulaire est envoyé avec la méthode
get , alors on utilise - _GET"nom"
- Si la méthode denvoi est post , alors
- _POST"nom"
23La super-globale _SERVER
- _SERVER est un tableau contenant des
informations comme les en-têtes, dossiers et
chemins du script. Les entrées de ce tableau sont
créées par le serveur web. - _SERVER'HTTP_USER_AGENT'
- Nom et version du fureteur
- Ex Mozilla/4.6
- _SERVER'REMOTE_ADDR'
- Adresse IP du client
- _SERVER'REQUEST_METHOD'
- "GET" ou "POST"
- _SERVER'QUERY_STRING'
- Pour un requête GET la string CGI
- Ex. nomDanielprenomBourry
24Opérations sur des fichiers
- Lecture dun fichier
- // Nom du fichier
- nomFichier acme.txt"
- // Ouverture du fichier en mode lecture
- fichier fopen(nomFichier, 'r')
- // Lecture du fichier dans une variable
- variable fread(fichier, filesize(nomFichier))
- // Fermeture du fichier
- fclose(fichier)
25Opérations sur des fichiers (suite)
- Écriture dun fichier
- // Nom du fichier
- nomFichier acme.txt"
- // Ouverture du fichier en mode écriture. Si
erreur, arrêt du script PHP - fichier fopen( nomFichier, 'w') or die("can't
open file") - // Écriture du texte
- texteAEcrire Eddie Valliant\n"
- fwrite(fichier, texteAEcrire)
- // Écriture dun autre texte
- texteAEcrire Roger Rabbit\n"
- fwrite(fichier, texteAEcrire)
- // Fermeture du fichier
- fclose(fichier )
26Fonction file_get_contents()
- Lit un URL/fichier et le place dans une variable
- Exemple
- lt?phppage file_get_contents('http//www.notes-
de-cours.com/')echo page - ?gt
27Les cookies
- lt?php
- setcookie("NomToon", "Roger", time()3600)
- ?gt
- lthtmlgt
-
- Comme pour les sessions, il est très important de
placer le cookie avant tout autre chose et ne pas
laisser d'espace avant la balise lt?php et le
début du fichier. - Warning Cannot modify header information -
headers already sent
28Lecture dun cookie
- PHP place les cookies reçus dans un tableau
appelé _COOKIE - Ex. _COOKIE"nom"
- Pour vérifier si une variable globale existe
utiliser la fonction isset ( ) - Syntaxe
- int isset(mixed var)
- Retourne true si la variable existe.
- Exemple if(isset(_COOKIE"usager"))