Anda di halaman 1dari 23

Dveloppement des

Applications Web
L'Ecole Suprieure de Management,
d'Informatique et de
Tlcommunication, Sup MIT
Applications Web
PHP Perfectionnement Partie I
Ahmed ZELLOU
SUP MIT, 2012-2013.
Plan PHP
SII Server Side Includes
Gestion de fichiers
PHP
2
A.ZELLOU
Les Formulaires des utilisateurs
$ _GET et $ _POST sont des variables (Tableaux associatifs)
utilises pour rcuprer des informations partir des
formulaires.
Tous les lments de formulaire seront automatiquement
disponibles dans vos scripts PHP.
Exemple :
PHP
3
Exemple :
L'exemple ci-dessous contient un formulaire HTML avec
deux champs de saisie et un bouton de soumission:
<html>
<body>
<form action="welcome.php" method="post">
Nom: <input type="text" name="fname"/> <br/>
ge: <input type="text" name="age"/> <br/>
<input type="submit"/>
</form>
</body>
</html>
A.ZELLOU
Les Formulaires des utilisateurs
Lorsqu'un utilisateur remplit le formulaire et clique sur le
bouton d'envoi, les donnes du formulaire seront envoyes au
fichier "welcome.php":
PHP
4
"welcome.php" ressemble ceci:
<html>
<body>
Bienvenue <?php echo $_POST ["fname"];?>! <br />
Vous avez <?php echo $_POST ["age"];?> Ans.
</ body>
</ html>
A.ZELLOU
Ce qui affiche :
Bienvenue Ahmed !
Vous avez 28 ans.
La Fonction $_GET
La fonction $_GET est utilis pour rcuprer des valeurs dans
un formulaire avec la mthode = "GET".
Les informations envoyes partir d'un formulaire avec la
mthode GET sont visibles pour tout le monde
La quantit d'informations envoyer est limite 256
caractres.
PHP
5
caractres.
Exemple
<form action="welcome.php" method="get">
Nom: <input type="text" name="fname"/>
ge: <input type="text" name="age"/>
<input type="submit"/>
</form>
Aprs validation, l'URL envoye au serveur pourrait
ressembler ceci:
A.ZELLOU
La Fonction $_GET
Le fichier welcome.php peut utiliser la fonction $_GET pour
recueillir des donnes de formulaire
Les noms des champs du formulaire seront utiliss comme des
cls dans le tableau associatif $_GET.
Bienvenue <?php echo $_GET ["fname"];?>. <br/>
Vous avez <?php echo $_GET ["age"];?> Ans!
PHP
6
Vous avez <?php echo $_GET ["age"];?> Ans!
Cette mthode ne doit pas tre utilis pour envoyer des mots
de passe ou autres informations sensibles.
A.ZELLOU
La Fonction $_POST
La fonction intgre $ _POST est utilise pour rcuprer les
valeurs d'un formulaire envoy avec la mthode = "post".
Ces informations seront invisibles pour les autres.
Aucune limite sur la quantit d'informations envoyer.
Taille maximale de 8 Mo, par dfaut (peut tre chang en
dfinissant la post_max_size dans le fichier php.ini).
PHP
7
dfinissant la post_max_size dans le fichier php.ini).
Exemple
<form action="welcome.php" method="post">
Nom: <input type="text" name="fname" />
ge: <input type="text" name="age" />
<input type="submit" />
</ form>
Aprs validation, l'URL ressemblera ceci:
http://www.mit.ma/welcome.php
A.ZELLOU
La Fonction $_POST
Le fichier welcome.php peut utiliser la fonction $_POST pour
recueillir des donnes de formulaire.
Les noms des champs seront utiliss comme des cls dans le
tableau $_POST.
Bienvenue <?php echo $_POST ["fname"];?>! <br/>
Vous tes <?php echo $_POST ["age"];?> Ans.
PHP
8
Vous tes <?php echo $_POST ["age"];?> Ans.
PHP intgre aussi une autre fonction $_REQUEST
$ _REQUEST est utilise pour recueillir des donnes d'un
formulaire envoy par les mthodes GET ou POST.
A.ZELLOU
Ateliers
EXERCICE 1:
Construire une page qui permet de saisir un nom et un mot de passe.
Renvoyer lutilisateur sur une autre page et lui afficher si son mot de
passe est correct ou non.
Sur cette deuxime page, prvoir un bouton retour.
PHP
9
A.ZELLOU
Ateliers
EXERCICE 2:
Rcuprer les donnes saisies par lutilisateur dans lenqute de
satisfaction dans un fichier php et afficher les en bonne forme dans un
tableau.
PHP
10
A.ZELLOU
Ateliers
EXERCICE 3:
Raliser un convertisseur dirhams-euros.
Crez un formulaire permettant de demander la valeur en francs
convertir, ainsi qu'un script php rcuprant la valeur convertir et
affichant le rsultat de la conversion.
PHP
11
affichant le rsultat de la conversion.
A.ZELLOU
Ateliers
EXERCICE 4: un jeu
Ralisez le jeu plus grand, plus petit . Un nombre entier est choisi
entre 0 et 100. Le joueur essaie de deviner en se guidant chaque fois
sur la rponse fournie : soit plus grand, soit plus petit. Le nombre
deviner sera regnr nouveau et on recommence mt_rand( ).
PHP
12
Utilisez un champ hidden pour passer linformation deviner dune
page lautre.
A.ZELLOU
SII Server Side Includes
Vous pouvez insrer le contenu d'un fichier PHP dans un
autre fichier PHP avec les fonctions include() et require().
Utiles pour crer des fonctions, en-ttes, pieds de page, ou des
lments qui seront rutiliss sur plusieurs pages.
Les deux fonctions sont identiques sauf dans la gestion des
erreurs:
PHP
13
erreurs:
include() gnre un avertissement, mais le script continue son
excution
require() gnre une erreur fatale, et le script s'arrte.
Exemple
<?php include("Entete.php");
require("Fichier_erreurs.php");
?>
A.ZELLOU
Gestion de fichiers
La fonction fopen() est utilis pour ouvrir les fichiers en PHP.
Les paramtres sont : nom_du_fichier et le mode.
<? php
$file = fopen("bonjour.txt", "r");
?>
PHP
Si la fonction fopen() est incapable d'ouvrir le fichier, elle
retourne 0 (faux).
A.ZELLOU
Description Mode
Lecture seule. Commence au dbut du fichier r
Read/Write. Commence au dbut du fichier r+
Ecriture seulement. Ouvre et efface le contenu du fichier, ou cre un
nouveau fichier s'il n'existe pas
w
Read/Write. Ouvre et efface le contenu du fichier, ou cre un nouveau
fichier s'il n'existe pas
w+
Gestion de fichiers
PHP
Description Mode
Ouvre et crit la fin du fichier ou cre un nouveau fichier s'il
n'existe pas
a
Prserve le contenu des fichiers en crivant la fin du fichier a+
Ecriture seulement. Cre un nouveau fichier. Retourne FALSE et x
15
Exemple
L'exemple suivant gnre un message si la fonction fopen()
est incapable d'ouvrir le fichier spcifi:
<?php
$file = fopen("bonjour.txt", "r") or exit ("Impossible d'ouvrir le fichier!");
?>
A.ZELLOU
une erreur si le fichier existe dj
Read/Write. Cre un nouveau fichier. Retourne FALSE et une
erreur si le fichier existe dj
x+
Gestion de fichiers
Lecture d'un fichier ligne par ligne
La fonction fgets() est utilise pour lire une seule ligne partir d'un
fichier.
Aprs un appel cette fonction le pointeur se dplace la ligne
suivante.
<?php
$file = fopen("bonjour.txt", "r") or exit ("Impossible d'ouvrir le fichier!");
PHP
16
$file = fopen("bonjour.txt", "r") or exit ("Impossible d'ouvrir le fichier!");
echo fgets($file). "<br/>";
?>
Lecture d'un fichier caractre par caractre
La fonction fgetc() est utilis pour lire un seul caractre d'un fichier.
Aprs un appel cette fonction le pointeur se dplace au caractre
suivant.
<?php
$file = fopen("bonjour.txt", "r") or exit ("Impossible d'ouvrir le fichier!");
echo fgetc($file);
?>
A.ZELLOU
Gestion de fichiers
Fermeture d'un fichier
Le fonction fclose() est utilise pour fermer un fichier ouvert:
<?php
$file = fopen("test.txt", "r");
/ / code excuter
fclose ($file);
?>
PHP
17
Tester la fin d'un fichier
La fonction feof() test si (EOF) a t atteint.
Il est utile pour boucler sur des donnes de longueur inconnue.
Exemple : if (feof($file)) echo "Fin de fichier";
Exemple complet
<?php
$file = fopen("bonjour.txt", "r") or exit ("Impossible d'ouvrir le fichier!");
while (!feof($file)) echo fgets($file). "<br >";
fclose ($file);
?>
A.ZELLOU
Gestion de fichiers
La Fonction fwrite()
Permet d'crire dans un fichier ouvert.
Cette fonction retourne le nombre d'octets crits ou FALSE en cas
d'chec.
Syntaxe :
fwrite (fichier, chane, longueur)
PHP
18
fwrite (fichier, chane, longueur)
fichier : obligatoire, indique le fichier
chane : obligatoire, spcifie la chane crire dans le fichier
Longueur : optionnelle, indique le nombre maximal d'octets crire
Exemple
<?php
$file = fopen("test.txt", "w");
echo fwrite($file, "Bonjour le monde.");
fclose($file);
?>
A.ZELLOU
Sortie:
21
Gestion de fichiers
Quelques fonctions de gestion de fichier
PHP
Exemple Description Fonction
$file1 = fichier.txt';
$file2 = fichier_copie.txt';
if (!copy($file1, $file2))
echo "La copie a chou...\n";
else
Copie un fichier copy()
19
A.ZELLOU
else
echo "Copie avec succs...\n";
$file = "myfile.txt";
unlink($file);
Supprime un fichier delete() ,
unlink()
echo filetype('/etc/passwd'); // file
echo filetype('/etc/'); // dir
Retourne le type de
fichier
filetype()
// Lit un fichier, et le place dans une chane
$file = "/usr/local/something.txt";
$handle = fopen($file, "r");
$contents = fread($handle, filesize($file));
fclose($handle);
Lit partir d'un fichier
ouvert
fread()
Gestion de fichiers
Quelques fonctions de gestion de fichier
PHP
Exemple Description Fonction
chmod("/somedir/somefile", 0600); Change le mode du
fichier
chmod()
$stat = stat('C:\php\php.exe');
echo 'Date et heure d\'accs : ' . $stat['atime'];
Renvoie les
informations
stat ()
20
A.ZELLOU
echo 'Date et heure d\'accs : ' . $stat['atime'];
echo 'Date et heure de modification : ' . $stat['mtime'];
informations
propos d'un fichier
$df = disk_free_space("/");
// Sous Windows:
$df_c = disk_free_space("C:");
$df_d = disk_free_space("D:");
Renvoie l'espace
disque disponible
sur le systme de
fichiers ou la
partition
sk_free_sp
ace()
mkdir("/path/to/my/dir", 0700); Cre un rpertoire mkdir()
fflush($file); Envoie tout le
contenu gnr dans
un fichier
fflush()
Ateliers
EXERCICE 1:
Crer le fichier bonjour.txt contenant :
Accder ce fichier avec un programme php et afficher son contenu.
PHP
Bonjour
Je suis la
merci
21
Accder ce fichier avec un programme php et afficher son contenu.
Accder ce mme fichier pour rajouter accs russi
A.ZELLOU
Ateliers
EXERCICE 2:
Il s'agit de dvelopper un script "Compteur.php" qui compte le nombre
des accs une page via les fonctions de lecture-criture.
N'affichez pas le compteur sous forme d'image mais seulement au
format.
PHP
22
A.ZELLOU
Merci
A.ZELLOU