Formation PHP débutant - Portail des étudiants de l`ENSEEIHT

Transcription

Formation PHP débutant - Portail des étudiants de l`ENSEEIHT
Formation PHP débutant
Table des matières
1 Le principe de PHP
1.1 Langage côté serveur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2 Pour travailler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3 Langage de pré-processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
3
3
3
2 Les bases du langage
2.1 La syntaxe . . . . . . . . . . . . .
2.1.1 Les variables . . . . . . . .
2.1.2 L’affectation . . . . . . . .
2.1.3 Les tableaux . . . . . . . .
2.1.4 Les opérations . . . . . . .
2.1.5 La concaténation de chaı̂ne
2.2 Les fonctions . . . . . . . . . . . .
2.2.1 La fonction echo . . . . . .
2.2.2 La fonction include . . . . .
2.2.3 Quelques fonctions utiles .
2.2.4 Fonctions personnelles . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
4
4
4
4
5
5
6
7
7
7
7
8
3 Communiquer avec php
3.1 Introduction . . . . . . . . .
3.2 Complément de XHTML . .
3.3 Récupérer les donnes POST
3.4 Récupérer les données GET
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
8
. 8
. 8
. 9
. 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
1
1.1
LE PRINCIPE DE PHP
Le principe de PHP
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.
<?php
echo ( ”<?xml v e r s i o n =\”1.0\”
e n c o d i n g =\” i s o −8859−15\”?>” ) ;
?>
<!DOCTYPE html PUBLIC ”−//W3C//DTD XHTML 1 . 0 S t r i c t //EN”
” h t t p : / /www. w3 . o r g /TR/ xhtml1 /DTD/ xhtml1−s t r i c t . dtd ”>
<html xmlns=” h t t p : / /www. w3 . o r g /1999/ xhtml ” xml : l a n g=” f r ”>
<head>
< t i t l e >Page v i d e 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>
<?php
echo ( ” Bonjour t o u t 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 <?php.
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.
<?php
# V a r i a b l e de t y p e 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=” S a l u t l e s g e n s ” ;
#Type b o o l e a n
$d=true ;
4
2
LES BASES DU LANGAGE
c
#c o n v e r s i o n a u t o : php r à 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è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.
<?php
$tab1=array ( ) ;
$tab1 [ 0 ] = ” Roger ” ;
$tab1 [ 1 ] = ” Marcel ” ;
$tab [ ] = ” Robert ” ;
$tab2 [ ” papa ”]=” Roger ” ;
$tab2 [ ”maman”]=” M a r c e l l e ” ;
$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.
<?php
$a = 1 ;
$b = 2 ;
$c = 5 ;
5
2
$d
$d
$d
$e
=
=
=
=
LES BASES DU LANGAGE
$a + 1 ;
$b − $a ;
$c ∗ $b ;
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 :
<?php
$nombre =2;
$ami=” Roger ” ;
$ami2=” Norbert ” ;
# $moi c o n t i e n t ”J ’ a i 2 amis . Ce s o n t Roger e t N o r b e r t ”
$moi=”J ’ a i ” . $nombre . ” amis . Ce s o n t ” . $ami . ” e t
” . $ami2 . ” . ” ;
# $moi c o n t i e n t ”J ’ a i 2 amis . Ce s o n t Roger e t N o r b e r t ”
$moi=”J ’ a i $nombre amis . Ce s o n t $ami e t $ami2 . ” ;
# $moi c o n t i e n t ”J ’ a i $nombre amis . Ce s o n t $ami e t $ami2 . ”
$moi= ’ J \ ’ a i $nombre amis . Ce s o n t $ami e t $ami2 . ’ ;
$moi .=” J ’ aime mes amis ” ;
# $moi c o n t i e n t ”J ’ a i $nombre amis . Ce s o n t $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
<?php
c Ãments
c
count ( $ t a b l e a u ) ; #r e n v o i e l e nombre d ’ Ãl
contenus
dans t a b l e a u
s t r l e n ( $ c h a i n e ) ; #Renvoie l e nomrbre de c a r a c t à ¨ r e de l a
chaine
explode ( ” , ” , $ c h a i n e ) ; #Transforme une c h a i n e en t a b l e a u en
c
c
l a coupant s e l o n l e c a r a c t à ¨ r e sÃpcifi
Ã
c
implode ( ” , ” , $ t a b l e a u ) ; #Op à ration
inverse : le tableau est
c en c h a i n e .
tranform à c
trim ( $ c h a i n e ) ; # Renvoie l a c h a i n e priv à e
des eespaces
c
b l a n c s de dÃbut
e t de f i n .
print r ( $ t a b l e a u ) ; # A f f i c h e t o u t l e contenu d ’ un t a b l e a u ,
c
p r a t i q u e pour dÃbuguer
?>
;
7
3
2.2.4
COMMUNIQUER AVEC PHP
Fonctions personnelles
Vous pouvez définir vous-même des fonctions. Regardez l’exemple suivant.
<?php
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 ;
c ! ”) ;
echo ( ”J ’ a i calcul à return $resultat ;
}
f u n c t i o n c a l c u l 2 ( $a , $b=1){
r e t u r n $a+$b ;
}
c ” . calcul (4 ,7) ) ;
echo ( ”PHP a calcul à echo ( ”<br /> e t a u s s i ” . c a l c u l 2 ( 2 ) . ” e t ” . c a l c u l 2 ( 2 , 2 ) ) ;
?>
Fonctions définies par l’utilisateur
3
3.1
Communiquer avec php
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 ” e n c o d i n g=” i s o −8859−15”?>
<!DOCTYPE html PUBLIC ”−//W3C//DTD XHTML 1 . 0 S t r i c t //EN”
” h t t p : / /www. w3 . o r g /TR/ xhtml1 /DTD/ xhtml1−s t r i c t . dtd ”>
<html xmlns=” h t t p : / /www. w3 . o r g /1999/ xhtml ” xml : l a n g=” f r ”>
<head>
< t i t l e >Page v i d e 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=” c o n n e x i o n . php”
method=” p o s t ”>
<div>
<p>Login : <i n p u t type=” t e x t ” name=”nom”
/><p>
<p>Mot de p a s s e : <i n p u t type=” password ”
name=” motdepasse ” /></p>
<p>Acceptez vous nos c o n d i t i o n s ? <i n p u t
type=” checkbox ” name=” c o n d i t i o n s ” /><p>
<p><i n p u t type=” submit ” v a l u e=” 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”
” h t t p : / /www. w3 . o r g /TR/ xhtml1 /DTD/ xhtml1−s t r i c t . dtd ”>
<html xmlns=” h t t p : / /www. w3 . o r g /1999/ xhtml ” xml : l a n g=” f r ”>
<head>
< t i t l e >Page v i d e 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>
<?php
$op1=$ POST [ ” op1 ” ] ;
9
4
FACTORISER LE CODE AVEC PHP
$op2=$ POST [ ” op2 ” ] ;
$ r e s u l t a t=$op1+$op2 ;
c
echo ( ”Le r à sultat
est $resultat ”) ;
?>
<form name=” monFormulaire ” a c t i o n=” c a l c u l e t t e . php”
method=” p o s t ”>
<div>
<i n p u t type=” t e x t ” name=” op1 ” /> + <i n p u t
type=” t e x t ” name=” op2 ” /> = <i n p u t
type=” submit ” v a l u e=” 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
5
RÉFÉRENCES
Références
– Contacter l’auteur : [email protected]
– Documentation officielle : http ://www.php.net
– Catalogue de scripts divers : http ://www.phpscripts-fr.net/
11