PHP
D’après openclassrooms
Alexandre Benoit
TS10
2 / 17
I Introduction au PHP
Modification du fichier
Lancer le serveur WEB.
Renommer votre fichier html enindex.php Aller sur le sitehttp ://localhost :8888/
3 / 17
Modification du fichier
Lancer le serveur WEB.
Renommer votre fichier html enindex.php
Aller sur le sitehttp ://localhost :8888/
Modification du fichier
Lancer le serveur WEB.
Renommer votre fichier html enindex.php Aller sur le sitehttp ://localhost :8888/
4 / 17
Premier code en PHP
Écrire le paragraphe suivant :
<p> L’ a d d i t i o n de 1 e t 1 donne :
<?php
e c h o 1+1;
?>
</p>
Analyser ce code !
Premier code en PHP
Écrire le paragraphe suivant :
<p> L’ a d d i t i o n de 1 e t 1 donne :
<?php
e c h o 1+1;
?>
</p>
Analyser ce code !
5 / 17
Structurer plus facilement sa page WEB
Pour insérer une portion de page html dans la page d’origine, on utilise le code suivant :
<?php
i n c l u d e " p a g e . h t m l " // On v i e n t d ’ i n c l u r e une p a g e
?>
Modifier votre page web pour que les sections header,footeret navsoient des fichier inclus.
Structurer plus facilement sa page WEB
Pour insérer une portion de page html dans la page d’origine, on utilise le code suivant :
<?php
i n c l u d e " p a g e . h t m l " // On v i e n t d ’ i n c l u r e une p a g e
?>
Modifier votre page web pour que les sections header,footer et navsoient des fichier inclus.
6 / 17
Les variables
Les variables PHP ressemblent beaucoup aux variables Python.
On rajoute juste un $ devant la variable à définir. Par exemple :
<?php
$ a g e = 1 7 ;
e c h o " J ’ a i $ a g e a n s ";
?>
Modifier la variable $age pour que le code suivant affiche quelque chose de juste :
<?php
e c h o " Dans d e u x a n s j ’ a u r a i $ a g e a n s ";
?>
Les variables
Les variables PHP ressemblent beaucoup aux variables Python.
On rajoute juste un $ devant la variable à définir. Par exemple :
<?php
$ a g e = 1 7 ;
e c h o " J ’ a i $ a g e a n s ";
?>
Modifier la variable $age pour que le code suivant affiche quelque chose de juste :
<?php
e c h o " Dans d e u x a n s j ’ a u r a i $ a g e a n s ";
?>
7 / 17
Les Tests
Comme en Python, on peut faire des tests :
<?php
i f ( $ a g e < 1 8 ) {
e c h o " j e s u i s m i n e u r "; }
e l s e {
e c h o " J e s u i s m a j e u r "; }
?>
Les Tests 2
On peut éviter d’utiliserecho en écrivant le code précédent de la façon suivante
<?php
i f ( $ a g e < 1 8 ) {
?>
J e s u i s m i n e u r
<?php }
e l s e {
?>
J e s u i s m a j e u r
<?php }
?>
9 / 17
Switch, le cas où on a beaucoup d’alternatives
Lorsque l’on a beaucoup d’alternative, on peut utiliser la commande Switch :
s w i t c h ( $ a g e ) // on i n d i q u e s u r q u e l l e v a r i a b l e on t r a v a i l l e {
c a s e 1 5 :
e c h o " j ’ a i 15 ans , l ’ a g e de l ’ e n t r e e au l y c e e "; b r e a k;
c a s e 1 8 :
e c h o " j ’ a i 18 ans , l ’ a g e du b a c e t du p e r m i s "; b r e a k;
c a s e 2 5 :
e c h o " j e r e n t r e d a n s l a v i e a c t i v e "; b r e a k;
d e f a u l t:
e c h o "Mon a g e n ’ a r i e n de p a r t i c u l i e r "
}
?>
Les boucles While
Il y a aussi des boucles en PHP (heureusement). Une boucle while s’écrit comme ci-dessous :
<?php
$u = 1 0 ;
$ i = 0 ;
w h i l e ( $u <50) {
$u = $u∗1 . 2 + 5 ;
$ i = $ i +1;
} ;
e c h o "L ’ i n d i c e e s t $ i "
?>
11 / 17
Les boucles For
Il y a aussi les boucles for :
<?php
f o r ( $ a g e = 0 ; $ a g e <= 1 0 ; $ a g e++) {
e c h o " J ’ a i $ a g e a n s <b r />"; }
?>
Les fonctions
Enfin la structure de fonction existe aussi en PHP
<?php
f u n c t i o n D i r e a g e ( $ a g e ) {
e c h o ’ J \ ’ a i ’ . $ a g e . ’ a n s !< b r /> ’; }
D i r e a g e ( 1 5 ) ; D i r e a g e ( 2 0 ) ;
?>
13 / 17
II Transmettre des données de page en page
Par la barre d’adresse
On peut se passer des données par la barre d’adresse, par exemple, si on écrit la fonction bonjour.phpsuivante :
<p>B o n j o u r <?php e c h o $_GET [’ prenom ’] . ’ ’ . $_GET [’ nom ’] ;
?> !</p>
que l’on peut tester avec l’adresse suivante :
http://localhost:8888/bonjour.php?nom=Zidane&prenom=Zinedine
14 / 17
Par la barre d’adresse
On peut se passer des données par la barre d’adresse, par exemple, si on écrit la fonction bonjour.phpsuivante :
<p>B o n j o u r <?php e c h o $_GET [’ prenom ’] . ’ ’ . $_GET [’ nom ’] ;
?> !</p>
que l’on peut tester avec l’adresse suivante :
http://localhost:8888/bonjour.php?nom=Zidane&prenom=Zinedine
Et s’il n’y a pas de valeurs ?
On doit faire attention à tester à chaque fois la présence de valeurs avec le code :
<?php
i f (i s s e t($_GET [ ’ prenom ’] ) AND i s s e t($_GET [ ’ nom ’] ) ) {
e c h o ’ B o n j o u r ’ . $_GET [’ prenom ’] . ’ ’ . $_GET [’ nom ’] . ’ ! ’
; }
e l s e // I l manque d e s p a r a m à ¨ t r e s , on a v e r t i t l e v i s i t e u r {
e c h o ’ I l f a u t r e n s e i g n e r un nom e t un prà cnom ! ’; }
?>
Il faut vérifier aussi que les données ne sont pas complètements fausses.
15 / 17
Et s’il n’y a pas de valeurs ?
On doit faire attention à tester à chaque fois la présence de valeurs avec le code :
<?php
i f (i s s e t($_GET [ ’ prenom ’] ) AND i s s e t($_GET [ ’ nom ’] ) ) {
e c h o ’ B o n j o u r ’ . $_GET [’ prenom ’] . ’ ’ . $_GET [’ nom ’] . ’ ! ’
; }
e l s e // I l manque d e s p a r a m à ¨ t r e s , on a v e r t i t l e v i s i t e u r {
e c h o ’ I l f a u t r e n s e i g n e r un nom e t un prà cnom ! ’; }
?>
Il faut vérifier aussi que les données ne sont pas complètements fausses.
Exercices 1
Écrire un code en PHP qui permet d’afficher tous les nombres compris entre 1 et un nombre rentré dans la barre d’adresse.
En utilisant la fonctiondate afficher l’heure et le jour (on pensera à utiliser les arguments ("d/m/Y") et ("H :i"))
17 / 17
Exercice 2
Écrire dans le fichier calepin.txt texte la ligne suivante :
David | Martin | 3, impasse des Lilas | 64600 | Anglet Tester et analyser le code PHP suivant :
$ f i c h i e r =" c a l e p i n . t x t ";
$ f d=f o p e n( $ f i c h i e r ," r ") ; w h i l e( !f e o f( $ f d ) ) {
$ l i g n e = f g e t s ( $ f d , 2 5 5 ) ; i f ( !empty( $ l i g n e ) ) {
$ t a b l i g n e=e x p l o d e(" | ", $ l i g n e ) ; e c h o "<br>Nom : $ t a b l i g n e [ 0 ] "; }
}
f c l o s e( $ f d ) ;
Compléter ce code pour avoir à la ligne le nom, le prénom, l’adresse et le CP de chaque personne.
Exercice 2
Écrire dans le fichier calepin.txt texte la ligne suivante :
David | Martin | 3, impasse des Lilas | 64600 | Anglet Tester et analyser le code PHP suivant :
$ f i c h i e r =" c a l e p i n . t x t ";
$ f d=f o p e n( $ f i c h i e r ," r ") ; w h i l e( !f e o f( $ f d ) ) {
$ l i g n e = f g e t s ( $ f d , 2 5 5 ) ; i f ( !empty( $ l i g n e ) ) {
$ t a b l i g n e=e x p l o d e(" | ", $ l i g n e ) ; e c h o "<br>Nom : $ t a b l i g n e [ 0 ] "; }
}
f c l o s e( $ f d ) ;
Compléter ce code pour avoir à la ligne le nom, le prénom, l’adresse et le