SlideShare a Scribd company logo
1 of 11
Download to read offline
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

More Related Content

What's hot

Formation PHP
Formation PHPFormation PHP
Formation PHPkemenaran
 
Introduction au langage PHP (1ere partie) élaborée par Marouan OMEZZINE
Introduction au langage PHP (1ere partie) élaborée par Marouan OMEZZINEIntroduction au langage PHP (1ere partie) élaborée par Marouan OMEZZINE
Introduction au langage PHP (1ere partie) élaborée par Marouan OMEZZINEMarouan OMEZZINE
 
PHP #1 : introduction
PHP #1 : introductionPHP #1 : introduction
PHP #1 : introductionJean Michel
 
PHP (Partie I) Par Mahdi Ben Alaya
PHP (Partie I) Par Mahdi Ben AlayaPHP (Partie I) Par Mahdi Ben Alaya
PHP (Partie I) Par Mahdi Ben AlayaMahdi Ben Alaya
 
Python avancé : Ensemble, dictionnaire et base de données
Python avancé : Ensemble, dictionnaire et base de donnéesPython avancé : Ensemble, dictionnaire et base de données
Python avancé : Ensemble, dictionnaire et base de donnéesECAM Brussels Engineering School
 
PHP 7.0 : aperçu des nouveautés
PHP 7.0 : aperçu des nouveautésPHP 7.0 : aperçu des nouveautés
PHP 7.0 : aperçu des nouveautésDidcode
 
ZendFramework2 - Présentation
ZendFramework2 - PrésentationZendFramework2 - Présentation
ZendFramework2 - Présentationjulien pauli
 
Php 7.4 2020-01-28 - afup
Php 7.4   2020-01-28 - afupPhp 7.4   2020-01-28 - afup
Php 7.4 2020-01-28 - afupJulien Vinber
 
PHP 5.3 : les nouveautés du futur si proche
PHP 5.3 : les nouveautés du futur si prochePHP 5.3 : les nouveautés du futur si proche
PHP 5.3 : les nouveautés du futur si prochePascal MARTIN
 

What's hot (20)

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

Viewers also liked

Sciences sociales caratini
Sciences sociales caratiniSciences sociales caratini
Sciences sociales caratiniNicolas Lévy
 
Comprendre la recherche dans SharePoint
Comprendre la recherche dans SharePointComprendre la recherche dans SharePoint
Comprendre la recherche dans SharePointGSoft
 
Dossier logement etudiant 2015_dv
Dossier logement etudiant 2015_dvDossier logement etudiant 2015_dv
Dossier logement etudiant 2015_dvCentury 21 France
 
Pps bonne et heureuse année 2014
Pps bonne et heureuse année 2014Pps bonne et heureuse année 2014
Pps bonne et heureuse année 2014Philippe Vrignaud
 
Atelier Google Adwords intermediaire 03 les notions fondamentales
Atelier Google Adwords intermediaire 03   les notions fondamentalesAtelier Google Adwords intermediaire 03   les notions fondamentales
Atelier Google Adwords intermediaire 03 les notions fondamentalesChafik YAHOU
 
EEMI - Evolutions et innovations du web - part2 - v310314
EEMI - Evolutions et innovations du web - part2 - v310314EEMI - Evolutions et innovations du web - part2 - v310314
EEMI - Evolutions et innovations du web - part2 - v310314Cyril Le Mat
 
Distribution mondiale des vecteurs des parasites responsables du paludisme
Distribution mondiale des vecteurs des parasites responsables du paludismeDistribution mondiale des vecteurs des parasites responsables du paludisme
Distribution mondiale des vecteurs des parasites responsables du paludismeInstitut Pasteur de Madagascar
 
Le nouveau classement des OT
Le nouveau classement des OTLe nouveau classement des OT
Le nouveau classement des OTUDOTSI50
 
Politique nationale du logement et de l’habitat pnlh document-officiel-002
Politique  nationale  du logement  et de l’habitat pnlh document-officiel-002Politique  nationale  du logement  et de l’habitat pnlh document-officiel-002
Politique nationale du logement et de l’habitat pnlh document-officiel-002Communication_HT
 
Des outils numériques pour la recherche
Des outils numériques pour la rechercheDes outils numériques pour la recherche
Des outils numériques pour la rechercheJohanna Daniel
 
Importance de la notion de faciès dans l'epidemiologie du paludisme
Importance de la notion de faciès dans l'epidemiologie du paludismeImportance de la notion de faciès dans l'epidemiologie du paludisme
Importance de la notion de faciès dans l'epidemiologie du paludismeInstitut Pasteur de Madagascar
 
20140130 mug lyon - post-mortem d'une application métier
20140130   mug lyon - post-mortem d'une application métier20140130   mug lyon - post-mortem d'une application métier
20140130 mug lyon - post-mortem d'une application métierMatthieu DUFOURNEAUD
 
Leçon de français 2
Leçon de français 2Leçon de français 2
Leçon de français 2naylayazigi
 

Viewers also liked (20)

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

Similar to Php seance1

0519-pdf-php-bases-initiation.pdf
0519-pdf-php-bases-initiation.pdf0519-pdf-php-bases-initiation.pdf
0519-pdf-php-bases-initiation.pdfRihabBENLAMINE
 
Fiche de TD 1 de préparation probatoire (littéraire et scientifique) du Camer...
Fiche de TD 1 de préparation probatoire (littéraire et scientifique) du Camer...Fiche de TD 1 de préparation probatoire (littéraire et scientifique) du Camer...
Fiche de TD 1 de préparation probatoire (littéraire et scientifique) du Camer...ATPENSC-Group
 
cours-gratuit.com--CoursPhp-id1055.ppt
cours-gratuit.com--CoursPhp-id1055.pptcours-gratuit.com--CoursPhp-id1055.ppt
cours-gratuit.com--CoursPhp-id1055.pptGroupeExcelMarrakech
 
Fiche de TD 2 de préparation probatoire (littéraire et scientifique) du Camer...
Fiche de TD 2 de préparation probatoire (littéraire et scientifique) du Camer...Fiche de TD 2 de préparation probatoire (littéraire et scientifique) du Camer...
Fiche de TD 2 de préparation probatoire (littéraire et scientifique) du Camer...ATPENSC-Group
 
Formation python
Formation pythonFormation python
Formation pythonj_lipaz
 
Partie 1_Matriser les bases PHP v0555555555555.pptx
Partie 1_Matriser les bases PHP v0555555555555.pptxPartie 1_Matriser les bases PHP v0555555555555.pptx
Partie 1_Matriser les bases PHP v0555555555555.pptxHamzaElgari
 
Le langage C.pdf
Le langage C.pdfLe langage C.pdf
Le langage C.pdfNoamHaythem
 
Php_Mysql.pdf
Php_Mysql.pdfPhp_Mysql.pdf
Php_Mysql.pdfETTAMRY
 
Cours3-PHPfgdwfwdffhddfbwdfwdfwdfwdfwfw.pdf
Cours3-PHPfgdwfwdffhddfbwdfwdfwdfwdfwfw.pdfCours3-PHPfgdwfwdffhddfbwdfwdfwdfwdfwfw.pdf
Cours3-PHPfgdwfwdffhddfbwdfwdfwdfwdfwfw.pdfRihabBENLAMINE
 

Similar to Php seance1 (20)

PHP mysql Xml.doc
PHP mysql Xml.docPHP mysql Xml.doc
PHP mysql Xml.doc
 
Cours Php
Cours PhpCours Php
Cours Php
 
Cours Php
Cours PhpCours Php
Cours Php
 
0519-pdf-php-bases-initiation.pdf
0519-pdf-php-bases-initiation.pdf0519-pdf-php-bases-initiation.pdf
0519-pdf-php-bases-initiation.pdf
 
Fiche de TD 1 de préparation probatoire (littéraire et scientifique) du Camer...
Fiche de TD 1 de préparation probatoire (littéraire et scientifique) du Camer...Fiche de TD 1 de préparation probatoire (littéraire et scientifique) du Camer...
Fiche de TD 1 de préparation probatoire (littéraire et scientifique) du Camer...
 
Formation php 1
Formation php 1Formation php 1
Formation php 1
 
Formation php 1
Formation php 1Formation php 1
Formation php 1
 
cours-gratuit.com--CoursPhp-id1055.ppt
cours-gratuit.com--CoursPhp-id1055.pptcours-gratuit.com--CoursPhp-id1055.ppt
cours-gratuit.com--CoursPhp-id1055.ppt
 
Forma php
Forma phpForma php
Forma php
 
Fiche de TD 2 de préparation probatoire (littéraire et scientifique) du Camer...
Fiche de TD 2 de préparation probatoire (littéraire et scientifique) du Camer...Fiche de TD 2 de préparation probatoire (littéraire et scientifique) du Camer...
Fiche de TD 2 de préparation probatoire (littéraire et scientifique) du Camer...
 
La première partie de la présentation PHP
La première partie de la présentation PHPLa première partie de la présentation PHP
La première partie de la présentation PHP
 
Formation python
Formation pythonFormation python
Formation python
 
Partie 1_Matriser les bases PHP v0555555555555.pptx
Partie 1_Matriser les bases PHP v0555555555555.pptxPartie 1_Matriser les bases PHP v0555555555555.pptx
Partie 1_Matriser les bases PHP v0555555555555.pptx
 
Le langage C.pdf
Le langage C.pdfLe langage C.pdf
Le langage C.pdf
 
Compte rendu Blend Web Mix 2015
Compte rendu Blend Web Mix 2015Compte rendu Blend Web Mix 2015
Compte rendu Blend Web Mix 2015
 
Php_Mysql.pdf
Php_Mysql.pdfPhp_Mysql.pdf
Php_Mysql.pdf
 
Cours3-PHPfgdwfwdffhddfbwdfwdfwdfwdfwfw.pdf
Cours3-PHPfgdwfwdffhddfbwdfwdfwdfwdfwfw.pdfCours3-PHPfgdwfwdffhddfbwdfwdfwdfwdfwfw.pdf
Cours3-PHPfgdwfwdffhddfbwdfwdfwdfwdfwfw.pdf
 
Php4 Mysql
Php4 MysqlPhp4 Mysql
Php4 Mysql
 
PHP.pptx
PHP.pptxPHP.pptx
PHP.pptx
 
43_pps.pdf
43_pps.pdf43_pps.pdf
43_pps.pdf
 

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