SlideShare une entreprise Scribd logo
Formation PHP d´ebutant
Table des mati`eres
1 Le principe de PHP 3
1.1 Langage cˆot´e serveur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Pour travailler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3 Langage de pr´e-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´erations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.1.5 La concat´enation 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´ement de XHTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.3 R´ecup´erer les donnes POST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.4 R´ecup´erer les donn´ees GET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
4 Factoriser le code avec PHP 10
4.1 Ins´erer un menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
4.2 Une autre m´ethode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
5 R´ef´erences 11
2
1 LE PRINCIPE DE PHP
1 Le principe de PHP
1.1 Langage cˆot´e serveur
PHP est un langage dit cˆot´e serveur. Cel`a signifie que c’est le serveur web `a qui vous
demandez la page qui va ex´ecuter vos programmes PHP, et non la machine avec laquelle vous
surfez. Cel`a est tr`es important, car PHP n’a plus aucun effet une fois la page charg´ee. De
plus, les visiteurs ne peuvent pas visualiser le contenu de vos fichiers PHP, puisque le code s’y
trouvant est ex´ecut´e et en aucun cas affich´e.
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´ebergement fourni par INP-Net. Mettez vos documents
dans votre r´epertoire www public et acc´eder-y via le chemin
http ://bde.enseeiht.fr/~votrelogin/votrefichier.php
1.3 Langage de pr´e-processing
Les navigateurs web ne savent interpr´eter que du XHTML. Par cons´equent, lorsque PHP est
ex´ecut´e, il produit du code XHTML. En fait, vous pouvez m´elanger le PHP et le code HTML. Le
code PHP sera ex´ecut´e et remplac´e par le code HTML qu’il renvoie. Voici un premier programme
en PHP pour vous en convaincre.
<?php
echo( ”<?xml version =”1.0”
encoding=”iso −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 tester </t i t l e >
<style >
@import url ( ’ css / s t y l e . css ’ ) ;
</style >
</head>
<body>
<?php
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`ere avec des marqueurs de d´ebut et de fin. Le marqueur d’ouverture
peut n’ˆetre que <?. C’est pour quoi nous avons du dire `a PHP d’´ecrire la premi`ere ligne du
code source HTML, car il ne s’agit pas de code PHP, et il tente de l’interpr´eter comme tel.
Nous vous d´econseillons fortement d’utiliser le marqueur d’ouverture <?. Utilisez toujours le
marqueur <?php.
2 Les bases du langage
PHP est un langage de programmation, qui est `a l’origine un langage de script. Cel`a signifie
qu’il n’est pas compil´e mais interpr´et´e. Cel`a implique, mˆeme si la th´eorie ne le dit pas, que
l’´ecriture de son code est facilit´e par nombre de conversions automatiques qu’il effectue. Nous
allons voir comment utiliser les commandes PHP de base. Un fichier d’exmple est montr´e `a la
fin.
2.1 La syntaxe
La syntaxe de PHP ressemble beaucoup `a celle de C, en plus simple. Vous ne serez pas
d´epays´es si vous savez coder en C. Une commande doit toujours se terminer par un point-
virgule, 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`ere apr`es le $ doit toujours
ˆetre une lettre ou un underscore, jamais un chiffre. Les noms de variables sont sensibles `a la
casse. Les variables sont typ´ees, mais vous n’avez pas besoin de d´eclarer leur type et pouvez
le changer en cours de route, sans pr´evenir PHP. Il effectuera toutes les conversions qu’il peut
tout seul. L’avantage est qu’on code beaucoup plus vite. L’inconv´enient est qu’on fait beaucoup
plus d’erreurs.
2.1.2 L’affectation
La syntaxe de l’affection est la mˆeme qu’en C, `a savoir le nom de la variable, suivi du signe
´egal, suivi de la valeur `a affecter.
<?php
# Variable de type integer
$a=1;
# Type f l o a t
$b =1.5;
#Type String
$c=” Salut l e s gens ” ;
#Type boolean
$d=true ;
4
2 LES BASES DU LANGAGE
#conversion auto : php r ˜A c attribue l e type s ’ i l l e faut
$a=$c ;
?>
Les variables en PHP
2.1.3 Les tableaux
Les tableaux en PHP sont tr`es simples `a utiliser. Ils sont dynamiques et vous pouvez rajouter
des ´el´ements quand vous voulez. Il sont aussi associatifs, ce qui est tr`es pratique. Voyez plutˆot.
<?php
$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´erations
Les op´erations math´ematiques standards sont utilisables.
<?php
$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´erations standards
2.1.5 La concat´enation de chaˆıne
Le symbole de concat´enation de chaˆıne de base est le point. Mais PHP poss`ede une autre
m´ethode de concat´enation tr`es pratique. Exemple dans ce code :
<?php
$nombre=2;
$ami=”Roger” ;
$ami2=”Norbert” ;
# $moi contient ”J ’ ai 2 amis . Ce sont Roger et Norbert”
$moi=”J ’ ai ” . $nombre . ” amis . Ce sont ” . $ami . ” et
” . $ami2 . ” . ” ;
# $moi contient ”J ’ ai 2 amis . Ce sont Roger et Norbert”
$moi=”J ’ ai $nombre amis . Ce sont $ami et $ami2 . ” ;
# $moi contient ”J ’ ai $nombre amis . Ce sont $ami et $ami2 .”
$moi=’J ’ ai $nombre amis . Ce sont $ami et $ami2 . ’ ;
$moi.=” J ’ aime mes amis” ;
# $moi contient ”J ’ ai $nombre amis . Ce sont $ami et $ami2 .
J ’ aime mes amis .”
?>
6
2 LES BASES DU LANGAGE
Concat´ener des chaˆınes
2.2 Les fonctions
PHP fournit un tr`es grand nombre de fonctions pr´ed´efinies, et vous pouvez en d´efinir vous
mˆeme.
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´ej`a rencontr´ee dans
le premier exemple.
2.2.2 La fonction include
C’est la deuxi`eme fonction la plus importante de PHP. Elle vous permet d’inclure du code
HTML ou PHP pr´esent dans un autre fichier. Le code HTML du fichier appel´e est affich´e comme
avec echo, et le code PHP est ex´ecut´e.
2.2.3 Quelques fonctions utiles
<?php
count( $tableau ) ; #renvoie l e nombre d ’ ˜A c l˜A c ments contenus
dans tableau
strlen ( $chaine ) ; #Renvoie l e nomrbre de caract ˜A¨re de la
chaine
explode ( ” , ” , $chaine ) ; #Transforme une chaine en tableau en
la coupant selon l e caract ˜A¨re s ˜A c pcifi ˜A c
implode( ” , ” , $tableau ) ; #Op ˜A c ration inverse : l e tableau est
tranform ˜A c en chaine .
trim( $chaine ) ; # Renvoie la chaine priv ˜A c e des eespaces
blancs de d ˜A c but et de f i n .
print r ( $tableau ) ; # Affiche tout l e contenu d ’un tableau ,
pratique pour d ˜A c buguer
?>
;
7
3 COMMUNIQUER AVEC PHP
2.2.4 Fonctions personnelles
Vous pouvez d´efinir vous-mˆeme des fonctions. Regardez l’exemple suivant.
<?php
function c a l c u l ( $a , $b ) {
$ r e s u l t a t=$a+b ;
echo( ”J ’ ai calcul ˜A c ! ” ) ;
return $ r e s u l t a t ;
}
function calc ul2 ( $a , $b=1){
return $a+$b ;
}
echo( ”PHP a calcul ˜A c ” . c a l c u l (4 ,7) ) ;
echo( ”<br /> et aussi ” . c alc ul2 (2) . ” et ” . calc ul2 (2 ,2) ) ;
?>
Fonctions d´efinies par l’utilisateur
3 Communiquer avec php
3.1 Introduction
Le plus grand int´erˆet de PHP est d’interagir avec l’utilisateur. Pour ce faire, PHP sait
r´ecup´erer des variables particuli`eres. Nous allons ´etudier comment les utiliser.
3.2 Compl´ement de XHTML
Le premier int´erˆet de PHP est de pouvoir communiquer avec l’utilisateur. Pour ce faire, les
langages Web (il n’y a pas que PHP) r´ecup`erent des donn´ees envoy´ees par les utilisateurs. Ces
donn´ees sont soumises via ce qu’on apelle des formulaires. Le XHTML permet la r´edaction de
formulaires. Voyez ce code.
<?xml version=” 1.0 ” encoding=” iso −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 tester </t i t l e >
8
3 COMMUNIQUER AVEC PHP
<style >
@import url ( ’ css / s t y l e . css ’ ) ;
</style >
</head>
<body>
<form name=”monFormulaire” action=” connexion . php”
method=” post ”>
<div>
<p>Login : <input type=” text ” name=”nom”
/><p>
<p>Mot de passe : <input type=”password”
name=”motdepasse” /></p>
<p>Acceptez vous nos conditions ? <input
type=”checkbox” name=” conditions ” /><p>
<p><input type=”submit” value=”Envoyer”
/></p>
</div>
</form>
</body>
</html>
Un formulaire en XHTML
3.3 R´ecup´erer les donnes POST
Nous allons maintenant pouvoir, apr`es soumission du formulaire, r´ecup´erer des donn´ees
entr´ees 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 tester </t i t l e >
<style >
@import url ( ’ css / s t y l e . css ’ ) ;
</style >
</head>
<body>
<?php
$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 ˜A c sultat est $ r e s u l t a t ” ) ;
?>
<form name=”monFormulaire” action=” c a l c u l e t t e . php”
method=” post ”>
<div>
<input type=” text ” name=”op1” /> + <input
type=” text ” name=”op2” /> = <input
type=”submit” value=”Envoyer” />
</div>
</form>
</body>
</html>
Un mini additionneur
3.4 R´ecup´erer les donn´ees GET
A pr´esent, reprenez votre fichier et modifier le ”post” du formulaire par ”get”. Envoyez le
formulaire. Vous voyez que PHP n’a pas captur´e vos donn´ees. Il faut utiliser le tableau $ GET
pour le faire. Mais regardez votre barre d’adresse : les variables entr´ees apparaissent dans l’URL.
C’est l`a la diff´erence fondamentale entre POST et GET. Cel`a vous permet de communiquer
avec PHP avec de simples liens hypertextes. Cr´eer un lien qui effectue un calcul en passant les
param`etres dans son URL, `a la mani`ere de celle que vous voyez.
4 Factoriser le code avec PHP
Factoriser du code signifie se d´ebrouiller pour ne pas avoir `a retaper les mˆemes bouts de
code dans plusieurs fichiers. Pour un menu identique sur tout le site par exemple.
4.1 Ins´erer un menu
On peut pour cel`a utiliser la fonction include. Ouvrez le fichier page1.php et regardez son
effet. Cette m´ethode consiste `a r´eutiliser dans vos pages un bout de code que vous stockez
ailleurs.
4.2 Une autre m´ethode
Cette deuxi`eme m´ethode consiste `a rendre le corps de la page dynamique au lieu de ses
d´ecorations. Ouvrez le fichier pagedyn.php pour tester. Cette deuxi`eme m´ethode consiste `a
charger un contenu stock´e ailleurs. C’est un approche plus puissante et plus souple, bien que
plus complexe `a mettre en place sur un site web complet.
10
5 R´EF´ERENCES
5 R´ef´erences
– Contacter l’auteur : jjansen@etu.enseeiht.fr
– Documentation officielle : http ://www.php.net
– Catalogue de scripts divers : http ://www.phpscripts-fr.net/
11

Contenu connexe

PPT
Introduction au langage PHP (2éme partie) élaborée par Marouan OMEZZINE
PPTX
Initiation au langage PHP
PDF
VIM puissance PHP = VI Improved !
PPT
PHP - get started
PPTX
Programmation web cours php -- sahmi academy
PDF
PHP 1 - Apprendre les bases
PDF
PHP mysql Xml.pdf
PDF
Communications Réseaux et HTTP avec PHP
Introduction au langage PHP (2éme partie) élaborée par Marouan OMEZZINE
Initiation au langage PHP
VIM puissance PHP = VI Improved !
PHP - get started
Programmation web cours php -- sahmi academy
PHP 1 - Apprendre les bases
PHP mysql Xml.pdf
Communications Réseaux et HTTP avec PHP

Tendances (20)

PPT
Cours php
ODP
Formation PHP
PPT
Introduction au langage PHP (1ere partie) élaborée par Marouan OMEZZINE
PDF
Johnny-Five : Robotique et IoT en JavaScript
PPTX
Formation python 3
PPTX
Formation python
PDF
PHP #1 : introduction
PPTX
PHP Training
PDF
Python avancé : Lecture et écriture de fichiers
PDF
PPTX
PHP (Partie I) Par Mahdi Ben Alaya
PDF
Etes vous-pret pour php8 ?
PDF
Python avancé : Ensemble, dictionnaire et base de données
PDF
PHP 7.0 : aperçu des nouveautés
PDF
Generalites
PDF
Développement informatique : Programmation graphique
PDF
Nouveautés php 7
ODP
ZendFramework2 - Présentation
PDF
Php 7.4 2020-01-28 - afup
PDF
PHP 5.3 : les nouveautés du futur si proche
Cours php
Formation PHP
Introduction au langage PHP (1ere partie) élaborée par Marouan OMEZZINE
Johnny-Five : Robotique et IoT en JavaScript
Formation python 3
Formation python
PHP #1 : introduction
PHP Training
Python avancé : Lecture et écriture de fichiers
PHP (Partie I) Par Mahdi Ben Alaya
Etes vous-pret pour php8 ?
Python avancé : Ensemble, dictionnaire et base de données
PHP 7.0 : aperçu des nouveautés
Generalites
Développement informatique : Programmation graphique
Nouveautés php 7
ZendFramework2 - Présentation
Php 7.4 2020-01-28 - afup
PHP 5.3 : les nouveautés du futur si proche
Publicité

En vedette (20)

PDF
Sciences sociales caratini
PDF
Comprendre la recherche dans SharePoint
PDF
Dossier logement etudiant 2015_dv
PPS
Pps bonne et heureuse année 2014
PDF
Atelier Google Adwords intermediaire 03 les notions fondamentales
PDF
Faut-il remplacer la microscopie par les RDT ?
PDF
Paludisme à Plasmodium. vivax
PDF
Le devenir de l'infection palustre
PDF
Susceptibilité familiale et éthnique au paludisme
PPTX
EEMI - Evolutions et innovations du web - part2 - v310314
PDF
Plannification d'une enquête transversale
PDF
Recherches d’articles et de documents sur internet
PDF
Distribution mondiale des vecteurs des parasites responsables du paludisme
PPT
Le nouveau classement des OT
PDF
Politique nationale du logement et de l’habitat pnlh document-officiel-002
PPTX
Des outils numériques pour la recherche
PDF
Importance de la notion de faciès dans l'epidemiologie du paludisme
PPTX
20140130 mug lyon - post-mortem d'une application métier
PDF
Leçon de français 2
PDF
Le poids socio économique du paludisme
Sciences sociales caratini
Comprendre la recherche dans SharePoint
Dossier logement etudiant 2015_dv
Pps bonne et heureuse année 2014
Atelier Google Adwords intermediaire 03 les notions fondamentales
Faut-il remplacer la microscopie par les RDT ?
Paludisme à Plasmodium. vivax
Le devenir de l'infection palustre
Susceptibilité familiale et éthnique au paludisme
EEMI - Evolutions et innovations du web - part2 - v310314
Plannification d'une enquête transversale
Recherches d’articles et de documents sur internet
Distribution mondiale des vecteurs des parasites responsables du paludisme
Le nouveau classement des OT
Politique nationale du logement et de l’habitat pnlh document-officiel-002
Des outils numériques pour la recherche
Importance de la notion de faciès dans l'epidemiologie du paludisme
20140130 mug lyon - post-mortem d'une application métier
Leçon de français 2
Le poids socio économique du paludisme
Publicité

Similaire à Php seance1 (20)

PDF
Developpement web dynamique_Base de donnees.pdf
DOC
PHP mysql Xml.doc
PPT
cours-gratuit.com--CoursPhp-id1055.ppt
PDF
Apprendre php
PPTX
Initiation au php
PPTX
Initiation au php
PDF
Cours3-PHPfgdwfwdffhddfbwdfwdfwdfwdfwfw.pdf
PPTX
Gérard Rozsavolgyi, aide de Sylvain Austruy
PDF
INITIATION_PHP_NAB_2009
PDF
PHP_intro.pdf
PDF
0519-pdf-php-bases-initiation.pdf
PPTX
PPTX
PDF
PROGRAMMES FASCICULE DE PHP IDA2 (1).pdf
PDF
Cours php & Mysql - 1ére partie
PDF
Développement Web- PHP (partie I).pdf
PDF
Cours php bac info
PPTX
2_langage_PHP_les_bases_.2_langage_PHP_les_bases_.pptx
PPTX
La première partie de la présentation PHP
PPT
Php4 Mysql
Developpement web dynamique_Base de donnees.pdf
PHP mysql Xml.doc
cours-gratuit.com--CoursPhp-id1055.ppt
Apprendre php
Initiation au php
Initiation au php
Cours3-PHPfgdwfwdffhddfbwdfwdfwdfwdfwfw.pdf
Gérard Rozsavolgyi, aide de Sylvain Austruy
INITIATION_PHP_NAB_2009
PHP_intro.pdf
0519-pdf-php-bases-initiation.pdf
PROGRAMMES FASCICULE DE PHP IDA2 (1).pdf
Cours php & Mysql - 1ére partie
Développement Web- PHP (partie I).pdf
Cours php bac info
2_langage_PHP_les_bases_.2_langage_PHP_les_bases_.pptx
La première partie de la présentation PHP
Php4 Mysql

Php seance1

  • 2. Table des mati`eres 1 Le principe de PHP 3 1.1 Langage cˆot´e serveur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.2 Pour travailler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.3 Langage de pr´e-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´erations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.1.5 La concat´enation 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´ement de XHTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 3.3 R´ecup´erer les donnes POST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 3.4 R´ecup´erer les donn´ees GET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 4 Factoriser le code avec PHP 10 4.1 Ins´erer un menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 4.2 Une autre m´ethode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 5 R´ef´erences 11 2
  • 3. 1 LE PRINCIPE DE PHP 1 Le principe de PHP 1.1 Langage cˆot´e serveur PHP est un langage dit cˆot´e serveur. Cel`a signifie que c’est le serveur web `a qui vous demandez la page qui va ex´ecuter vos programmes PHP, et non la machine avec laquelle vous surfez. Cel`a est tr`es important, car PHP n’a plus aucun effet une fois la page charg´ee. De plus, les visiteurs ne peuvent pas visualiser le contenu de vos fichiers PHP, puisque le code s’y trouvant est ex´ecut´e et en aucun cas affich´e. 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´ebergement fourni par INP-Net. Mettez vos documents dans votre r´epertoire www public et acc´eder-y via le chemin http ://bde.enseeiht.fr/~votrelogin/votrefichier.php 1.3 Langage de pr´e-processing Les navigateurs web ne savent interpr´eter que du XHTML. Par cons´equent, lorsque PHP est ex´ecut´e, il produit du code XHTML. En fait, vous pouvez m´elanger le PHP et le code HTML. Le code PHP sera ex´ecut´e et remplac´e par le code HTML qu’il renvoie. Voici un premier programme en PHP pour vous en convaincre. <?php echo( ”<?xml version =”1.0” encoding=”iso −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 tester </t i t l e > <style > @import url ( ’ css / s t y l e . css ’ ) ; </style > </head> <body> <?php echo( ”Bonjour tout l e monde ! ” ) ; ?> </body> </html> Un premier programme en PHP 3
  • 4. 2 LES BASES DU LANGAGE Vous voyez que PHP s’ins`ere avec des marqueurs de d´ebut et de fin. Le marqueur d’ouverture peut n’ˆetre que <?. C’est pour quoi nous avons du dire `a PHP d’´ecrire la premi`ere ligne du code source HTML, car il ne s’agit pas de code PHP, et il tente de l’interpr´eter comme tel. Nous vous d´econseillons fortement d’utiliser le marqueur d’ouverture <?. Utilisez toujours le marqueur <?php. 2 Les bases du langage PHP est un langage de programmation, qui est `a l’origine un langage de script. Cel`a signifie qu’il n’est pas compil´e mais interpr´et´e. Cel`a implique, mˆeme si la th´eorie ne le dit pas, que l’´ecriture de son code est facilit´e par nombre de conversions automatiques qu’il effectue. Nous allons voir comment utiliser les commandes PHP de base. Un fichier d’exmple est montr´e `a la fin. 2.1 La syntaxe La syntaxe de PHP ressemble beaucoup `a celle de C, en plus simple. Vous ne serez pas d´epays´es si vous savez coder en C. Une commande doit toujours se terminer par un point- virgule, 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`ere apr`es le $ doit toujours ˆetre une lettre ou un underscore, jamais un chiffre. Les noms de variables sont sensibles `a la casse. Les variables sont typ´ees, mais vous n’avez pas besoin de d´eclarer leur type et pouvez le changer en cours de route, sans pr´evenir PHP. Il effectuera toutes les conversions qu’il peut tout seul. L’avantage est qu’on code beaucoup plus vite. L’inconv´enient est qu’on fait beaucoup plus d’erreurs. 2.1.2 L’affectation La syntaxe de l’affection est la mˆeme qu’en C, `a savoir le nom de la variable, suivi du signe ´egal, suivi de la valeur `a affecter. <?php # Variable de type integer $a=1; # Type f l o a t $b =1.5; #Type String $c=” Salut l e s gens ” ; #Type boolean $d=true ; 4
  • 5. 2 LES BASES DU LANGAGE #conversion auto : php r ˜A c attribue l e type s ’ i l l e faut $a=$c ; ?> Les variables en PHP 2.1.3 Les tableaux Les tableaux en PHP sont tr`es simples `a utiliser. Ils sont dynamiques et vous pouvez rajouter des ´el´ements quand vous voulez. Il sont aussi associatifs, ce qui est tr`es pratique. Voyez plutˆot. <?php $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´erations Les op´erations math´ematiques standards sont utilisables. <?php $a = 1; $b = 2; $c = 5; 5
  • 6. 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´erations standards 2.1.5 La concat´enation de chaˆıne Le symbole de concat´enation de chaˆıne de base est le point. Mais PHP poss`ede une autre m´ethode de concat´enation tr`es pratique. Exemple dans ce code : <?php $nombre=2; $ami=”Roger” ; $ami2=”Norbert” ; # $moi contient ”J ’ ai 2 amis . Ce sont Roger et Norbert” $moi=”J ’ ai ” . $nombre . ” amis . Ce sont ” . $ami . ” et ” . $ami2 . ” . ” ; # $moi contient ”J ’ ai 2 amis . Ce sont Roger et Norbert” $moi=”J ’ ai $nombre amis . Ce sont $ami et $ami2 . ” ; # $moi contient ”J ’ ai $nombre amis . Ce sont $ami et $ami2 .” $moi=’J ’ ai $nombre amis . Ce sont $ami et $ami2 . ’ ; $moi.=” J ’ aime mes amis” ; # $moi contient ”J ’ ai $nombre amis . Ce sont $ami et $ami2 . J ’ aime mes amis .” ?> 6
  • 7. 2 LES BASES DU LANGAGE Concat´ener des chaˆınes 2.2 Les fonctions PHP fournit un tr`es grand nombre de fonctions pr´ed´efinies, et vous pouvez en d´efinir vous mˆeme. 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´ej`a rencontr´ee dans le premier exemple. 2.2.2 La fonction include C’est la deuxi`eme fonction la plus importante de PHP. Elle vous permet d’inclure du code HTML ou PHP pr´esent dans un autre fichier. Le code HTML du fichier appel´e est affich´e comme avec echo, et le code PHP est ex´ecut´e. 2.2.3 Quelques fonctions utiles <?php count( $tableau ) ; #renvoie l e nombre d ’ ˜A c l˜A c ments contenus dans tableau strlen ( $chaine ) ; #Renvoie l e nomrbre de caract ˜A¨re de la chaine explode ( ” , ” , $chaine ) ; #Transforme une chaine en tableau en la coupant selon l e caract ˜A¨re s ˜A c pcifi ˜A c implode( ” , ” , $tableau ) ; #Op ˜A c ration inverse : l e tableau est tranform ˜A c en chaine . trim( $chaine ) ; # Renvoie la chaine priv ˜A c e des eespaces blancs de d ˜A c but et de f i n . print r ( $tableau ) ; # Affiche tout l e contenu d ’un tableau , pratique pour d ˜A c buguer ?> ; 7
  • 8. 3 COMMUNIQUER AVEC PHP 2.2.4 Fonctions personnelles Vous pouvez d´efinir vous-mˆeme des fonctions. Regardez l’exemple suivant. <?php function c a l c u l ( $a , $b ) { $ r e s u l t a t=$a+b ; echo( ”J ’ ai calcul ˜A c ! ” ) ; return $ r e s u l t a t ; } function calc ul2 ( $a , $b=1){ return $a+$b ; } echo( ”PHP a calcul ˜A c ” . c a l c u l (4 ,7) ) ; echo( ”<br /> et aussi ” . c alc ul2 (2) . ” et ” . calc ul2 (2 ,2) ) ; ?> Fonctions d´efinies par l’utilisateur 3 Communiquer avec php 3.1 Introduction Le plus grand int´erˆet de PHP est d’interagir avec l’utilisateur. Pour ce faire, PHP sait r´ecup´erer des variables particuli`eres. Nous allons ´etudier comment les utiliser. 3.2 Compl´ement de XHTML Le premier int´erˆet de PHP est de pouvoir communiquer avec l’utilisateur. Pour ce faire, les langages Web (il n’y a pas que PHP) r´ecup`erent des donn´ees envoy´ees par les utilisateurs. Ces donn´ees sont soumises via ce qu’on apelle des formulaires. Le XHTML permet la r´edaction de formulaires. Voyez ce code. <?xml version=” 1.0 ” encoding=” iso −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 tester </t i t l e > 8
  • 9. 3 COMMUNIQUER AVEC PHP <style > @import url ( ’ css / s t y l e . css ’ ) ; </style > </head> <body> <form name=”monFormulaire” action=” connexion . php” method=” post ”> <div> <p>Login : <input type=” text ” name=”nom” /><p> <p>Mot de passe : <input type=”password” name=”motdepasse” /></p> <p>Acceptez vous nos conditions ? <input type=”checkbox” name=” conditions ” /><p> <p><input type=”submit” value=”Envoyer” /></p> </div> </form> </body> </html> Un formulaire en XHTML 3.3 R´ecup´erer les donnes POST Nous allons maintenant pouvoir, apr`es soumission du formulaire, r´ecup´erer des donn´ees entr´ees 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 tester </t i t l e > <style > @import url ( ’ css / s t y l e . css ’ ) ; </style > </head> <body> <?php $op1=$ POST [ ”op1” ] ; 9
  • 10. 4 FACTORISER LE CODE AVEC PHP $op2=$ POST [ ”op2” ] ; $ r e s u l t a t=$op1+$op2 ; echo( ”Le r ˜A c sultat est $ r e s u l t a t ” ) ; ?> <form name=”monFormulaire” action=” c a l c u l e t t e . php” method=” post ”> <div> <input type=” text ” name=”op1” /> + <input type=” text ” name=”op2” /> = <input type=”submit” value=”Envoyer” /> </div> </form> </body> </html> Un mini additionneur 3.4 R´ecup´erer les donn´ees GET A pr´esent, reprenez votre fichier et modifier le ”post” du formulaire par ”get”. Envoyez le formulaire. Vous voyez que PHP n’a pas captur´e vos donn´ees. Il faut utiliser le tableau $ GET pour le faire. Mais regardez votre barre d’adresse : les variables entr´ees apparaissent dans l’URL. C’est l`a la diff´erence fondamentale entre POST et GET. Cel`a vous permet de communiquer avec PHP avec de simples liens hypertextes. Cr´eer un lien qui effectue un calcul en passant les param`etres dans son URL, `a la mani`ere de celle que vous voyez. 4 Factoriser le code avec PHP Factoriser du code signifie se d´ebrouiller pour ne pas avoir `a retaper les mˆemes bouts de code dans plusieurs fichiers. Pour un menu identique sur tout le site par exemple. 4.1 Ins´erer un menu On peut pour cel`a utiliser la fonction include. Ouvrez le fichier page1.php et regardez son effet. Cette m´ethode consiste `a r´eutiliser dans vos pages un bout de code que vous stockez ailleurs. 4.2 Une autre m´ethode Cette deuxi`eme m´ethode consiste `a rendre le corps de la page dynamique au lieu de ses d´ecorations. Ouvrez le fichier pagedyn.php pour tester. Cette deuxi`eme m´ethode consiste `a charger un contenu stock´e ailleurs. C’est un approche plus puissante et plus souple, bien que plus complexe `a mettre en place sur un site web complet. 10
  • 11. 5 R´EF´ERENCES 5 R´ef´erences – Contacter l’auteur : jjansen@etu.enseeiht.fr – Documentation officielle : http ://www.php.net – Catalogue de scripts divers : http ://www.phpscripts-fr.net/ 11