php (partie ii) par mahdi ben alaya
DESCRIPTION
PARTIE 2 : Développez une application web dynamique et interactive : Comprendre les Sessions et les Cookies. Manipuler les formulaires et leurs éléments. Présenter Mysql, définir une BD, Comprendre le langage SQL et Apprendre à manipuler phpMyadmin. Faire la connexion avec la base de données et réaliser des opérations CRUD. Tout ceci accompagné avec des exemples et exercices.TRANSCRIPT
![Page 1: PHP (Partie II) Par Mahdi Ben Alaya](https://reader033.vdocuments.pub/reader033/viewer/2022061116/54652837af79590f738b4d7a/html5/thumbnails/1.jpg)
1
Le langage PHP (partie II)Présentation réalisée par : Mahdi BEN ALAYAElève-ingénieur à l’ENSI & Secrétaire Général du club Junior ENSI Entreprise (2008)
Version : 22-11-2009
![Page 2: PHP (Partie II) Par Mahdi Ben Alaya](https://reader033.vdocuments.pub/reader033/viewer/2022061116/54652837af79590f738b4d7a/html5/thumbnails/2.jpg)
Remerciements
• Avant de commencer, je tiens à présenter mes sincères remerciements à tous ceux qui ont contribué au bon déroulement de cette formation.
• Je tiens à remercier particulièrement M. Marouen Ommezzine et M. Wassime Abbessi qui ont assuré les formations Web2.0 et PHP pour les années 2007 et 2008 au sein du club Junior ENSI Entreprise.
2
![Page 3: PHP (Partie II) Par Mahdi Ben Alaya](https://reader033.vdocuments.pub/reader033/viewer/2022061116/54652837af79590f738b4d7a/html5/thumbnails/3.jpg)
Plan• Les sessions• Les cookies• Les formulaires• Exercice « Somme »• Exercice « Commande »• Exercice « Login »• Présentation de MySQL• Les requêtes SQL• L’interface phpMyAdmin• Connexion à une base de données• TP « Mini chat »
3
![Page 4: PHP (Partie II) Par Mahdi Ben Alaya](https://reader033.vdocuments.pub/reader033/viewer/2022061116/54652837af79590f738b4d7a/html5/thumbnails/4.jpg)
Les Sessions
4
![Page 5: PHP (Partie II) Par Mahdi Ben Alaya](https://reader033.vdocuments.pub/reader033/viewer/2022061116/54652837af79590f738b4d7a/html5/thumbnails/5.jpg)
Les sessions
5
• Le support des sessions en PHP est un moyen de préserver des données, relatives au visiteur, entre plusieurs accès.
• Elles permettent de stocker des types de données simples (texte, nombres, …) mais pas de ressources comme des images ou BD.
![Page 6: PHP (Partie II) Par Mahdi Ben Alaya](https://reader033.vdocuments.pub/reader033/viewer/2022061116/54652837af79590f738b4d7a/html5/thumbnails/6.jpg)
Pourquoi utiliser les sessions ?
•Pour conserver, de page en page, les valeurs de certaines variables.
•Pour pister le parcours du visiteur.
•Pour effectuer des statistiques fines en termes de visiteurs réels et pas en hits (nombre d'appel d'un fichier).
6
![Page 7: PHP (Partie II) Par Mahdi Ben Alaya](https://reader033.vdocuments.pub/reader033/viewer/2022061116/54652837af79590f738b4d7a/html5/thumbnails/7.jpg)
Démarrer une session
7
<?php session_start(); ?>
Ce code permet de démarrer une session. Si un fichier existe sur le serveur pour cette session, les variables de sessions seront récupérées, sinon un nouveau fichier sera créé.
Aucun code HTML avant le démarrage d'une session !!
Cette fonction permet de créer un tableau $_SESSION qui sera remplie par les variable de session.
![Page 8: PHP (Partie II) Par Mahdi Ben Alaya](https://reader033.vdocuments.pub/reader033/viewer/2022061116/54652837af79590f738b4d7a/html5/thumbnails/8.jpg)
Créer une variable de session
8
<?php $_SESSION['variable'] = $valeur ; ?>
Les variables de sessions sont accessibles, une fois que la session est démarrée via un tableau super global $_SESSION
Nous créons ici une variable de session nommée variable qui vaut $valeur.
![Page 9: PHP (Partie II) Par Mahdi Ben Alaya](https://reader033.vdocuments.pub/reader033/viewer/2022061116/54652837af79590f738b4d7a/html5/thumbnails/9.jpg)
Utiliser la valeur d’une variable de session
9
<?php if(isset($_SESSION['ensi'])){ echo 'La variable "ensi" existe : ' . $_SESSION['ensi']; }?>
isset() permet de savoir si une variable de session existe ou non.
![Page 10: PHP (Partie II) Par Mahdi Ben Alaya](https://reader033.vdocuments.pub/reader033/viewer/2022061116/54652837af79590f738b4d7a/html5/thumbnails/10.jpg)
Supprimer une variable de session
10
<?php unset($_SESSION['variable']); echo 'La variable de session "variable" est détruite';?>
unset() permet de supprimer une variable de session.
![Page 11: PHP (Partie II) Par Mahdi Ben Alaya](https://reader033.vdocuments.pub/reader033/viewer/2022061116/54652837af79590f738b4d7a/html5/thumbnails/11.jpg)
Détruire toutes les variables de session
11
<?php session_unset(); ?>
Détruire une session
<?php session_destroy(); ?>
![Page 12: PHP (Partie II) Par Mahdi Ben Alaya](https://reader033.vdocuments.pub/reader033/viewer/2022061116/54652837af79590f738b4d7a/html5/thumbnails/12.jpg)
Les cookies
12
![Page 13: PHP (Partie II) Par Mahdi Ben Alaya](https://reader033.vdocuments.pub/reader033/viewer/2022061116/54652837af79590f738b4d7a/html5/thumbnails/13.jpg)
Qu'est-ce qu'un cookie ?
13
Un cookie est un fichier que le serveur envoie sur la machine de l'utilisateur. Il est souvent utilisé pour reconnaitre les utilisateurs.Pour explorer le répertoire cookies sous votre machine Windows ; faites Démarrer Exécuter et taper Cookies.
![Page 14: PHP (Partie II) Par Mahdi Ben Alaya](https://reader033.vdocuments.pub/reader033/viewer/2022061116/54652837af79590f738b4d7a/html5/thumbnails/14.jpg)
Créer un Cookie
14
<?php setcookie(name, value, expire, path, domain); ?>
La fonction setcookie() doit être placée avant tout code HTML, car le cache du navigateur doit être vide pour que cette fonction marche convenablement.
![Page 15: PHP (Partie II) Par Mahdi Ben Alaya](https://reader033.vdocuments.pub/reader033/viewer/2022061116/54652837af79590f738b4d7a/html5/thumbnails/15.jpg)
Créer un Cookie
15
<?php // génère le cookie $contenu = 'léon'; // le contenu de votre cookie setcookie("nom_cookie",$contenu, time()+36000); ?>
L'exemple ci-dessous génère un cookie appelé "nom_cookie" , avec pour contenu "Léon" et pendant une période de 10 heures.
![Page 16: PHP (Partie II) Par Mahdi Ben Alaya](https://reader033.vdocuments.pub/reader033/viewer/2022061116/54652837af79590f738b4d7a/html5/thumbnails/16.jpg)
Retrouver la valeur d'un cookie
16
<?php if (isset($_COOKIE["nom_cookie"]))
echo 'Le cookie existe ' . $_COOKIE["nom_cookie"] ;else echo 'Le cookie n\'existe pas';?>
L'exemple ci-dessous test l'existence d'un cookie appelé "nom_cookie" et affiche si le cookie existe ou n'existe pas.
![Page 17: PHP (Partie II) Par Mahdi Ben Alaya](https://reader033.vdocuments.pub/reader033/viewer/2022061116/54652837af79590f738b4d7a/html5/thumbnails/17.jpg)
Session VS Cookie
17
La différence entre les sessions et les cookies est que les cookies sont stockés sur le poste du visiteur tandis que les sessions sont dans des fichiers présents sur le serveur.
![Page 18: PHP (Partie II) Par Mahdi Ben Alaya](https://reader033.vdocuments.pub/reader033/viewer/2022061116/54652837af79590f738b4d7a/html5/thumbnails/18.jpg)
Les Formulaires
18
![Page 19: PHP (Partie II) Par Mahdi Ben Alaya](https://reader033.vdocuments.pub/reader033/viewer/2022061116/54652837af79590f738b4d7a/html5/thumbnails/19.jpg)
Pourquoi un formulaire ?
•Un formulaire permet de saisir des données et échanger des informations entres les pages web et la base de données.
•Ce sont des éléments interactifs permettant de dialoguer avec l’internaute.
19
![Page 20: PHP (Partie II) Par Mahdi Ben Alaya](https://reader033.vdocuments.pub/reader033/viewer/2022061116/54652837af79590f738b4d7a/html5/thumbnails/20.jpg)
La balise FORM
20
•La balise FORM permet de regrouper plusieurs éléments de formulaire (boutons, champs de saisie,...) et possède les attributs ACTION et METHOD.
<FORM ACTION="valeur" METHOD ="valeur" >
… </FORM>
![Page 21: PHP (Partie II) Par Mahdi Ben Alaya](https://reader033.vdocuments.pub/reader033/viewer/2022061116/54652837af79590f738b4d7a/html5/thumbnails/21.jpg)
La balise FORM
• La valeur POST : correspond à un envoi de données stockées dans le corps de la requête.
• La valeur GET : correspond à un envoi des données codées dans l'URL, et séparées de l'adresse du script par un «?».Exemple: http://www.facebook.com/index.php?id=121
1 – L’attribut : METHOD
• Il indique la méthode avec laquelle seront envoyées les données.
![Page 22: PHP (Partie II) Par Mahdi Ben Alaya](https://reader033.vdocuments.pub/reader033/viewer/2022061116/54652837af79590f738b4d7a/html5/thumbnails/22.jpg)
La balise FORM
• ACTION indique l'adresse de réception, c’est-à-dire la page qui va recevoir les données.
22
2 – L’attribut : ACTION
<form action="page.php" method="post" >
…</form>
![Page 23: PHP (Partie II) Par Mahdi Ben Alaya](https://reader033.vdocuments.pub/reader033/viewer/2022061116/54652837af79590f738b4d7a/html5/thumbnails/23.jpg)
Les balises du formulaires
• INPUT : Champs de saisie de texte et différents types de boutons .
• SELECT : Listes menus déroulants et ascenseurs.
• TEXTAREA : Zone de saisie de texte libre.
23
![Page 24: PHP (Partie II) Par Mahdi Ben Alaya](https://reader033.vdocuments.pub/reader033/viewer/2022061116/54652837af79590f738b4d7a/html5/thumbnails/24.jpg)
La balise INPUT
24
Type Syntaxe Exemple
sans <input name="ident" />
<input name="ident" value="Par défaut" />
submit <input type="submit" value="Envoi" />
checkbo
x
<input type="checkbox" name="pfm" value="linux" checked />
Linux<BR/>
<input type="checkbox" name="pfm" value="dos" /> Dos<BR/>
<input type="checkbox" name="pfm" value="win" /> Windows
![Page 25: PHP (Partie II) Par Mahdi Ben Alaya](https://reader033.vdocuments.pub/reader033/viewer/2022061116/54652837af79590f738b4d7a/html5/thumbnails/25.jpg)
25
Type Syntaxe Exemple
radio <input type="radio" name="media" value="cd" checked/> CD-
ROM<BR/>
<input type="radio" name="media" value="dk" /> Disquette
password <input type="password" name="pass" />
reset <input type="reset" value="Efface" />
file <input type="file" name="file" />
La balise INPUT
![Page 26: PHP (Partie II) Par Mahdi Ben Alaya](https://reader033.vdocuments.pub/reader033/viewer/2022061116/54652837af79590f738b4d7a/html5/thumbnails/26.jpg)
La balise SELECT
26
Syntaxe Exemple
<select name="menu"><option> Banane</option><option> Orange</option><option > Citron</option><option selected> Pomme </option><option> Pêche</option><option> Poire</option></select >
<select name="menu" size=4>...</select >
<select name="menu" size=4 multiple>...</select >
![Page 27: PHP (Partie II) Par Mahdi Ben Alaya](https://reader033.vdocuments.pub/reader033/viewer/2022061116/54652837af79590f738b4d7a/html5/thumbnails/27.jpg)
La balise TEXTAREA
27
<textarea name="comm" rows=10 cols=40>
Tapez vos commentaires ici</textarea>
![Page 28: PHP (Partie II) Par Mahdi Ben Alaya](https://reader033.vdocuments.pub/reader033/viewer/2022061116/54652837af79590f738b4d7a/html5/thumbnails/28.jpg)
Manipulation des formulaires
• Dans la page de réception, les informations entrées dans un formulaire sont récupérées sous forme d’une variable de type ARRAY dont le nom dépend de la méthode d'envoi du formulaire POST ou GET.
28
• $_POST['name'] Si method=POST
• $_GET['name'] Si method=GET
![Page 29: PHP (Partie II) Par Mahdi Ben Alaya](https://reader033.vdocuments.pub/reader033/viewer/2022061116/54652837af79590f738b4d7a/html5/thumbnails/29.jpg)
Manipulation des formulaires• Les données envoyées sont indexées dans le
tableau $_POST (resp $_GET) par rapport a la valeur de leurs attributs name.
29
<form action= 'acceuil.php' method='post' >
<input name= "prenom" type="text" /><input type="submit" value="Envoi" /></form>
<?phpecho Bonjour . " " . $_POST['prenom'] ;?>
Hamma
Bonjour Hamma
accueil.php
Login.php
![Page 30: PHP (Partie II) Par Mahdi Ben Alaya](https://reader033.vdocuments.pub/reader033/viewer/2022061116/54652837af79590f738b4d7a/html5/thumbnails/30.jpg)
Exercice « Somme »
30
![Page 31: PHP (Partie II) Par Mahdi Ben Alaya](https://reader033.vdocuments.pub/reader033/viewer/2022061116/54652837af79590f738b4d7a/html5/thumbnails/31.jpg)
Exercice « Somme »
31
•Créez une page web qui permet de saisir deux entier et qui affiche la somme dans une nouvelle page.
AB
C
formulaire.php somme.php
A + B = C
![Page 32: PHP (Partie II) Par Mahdi Ben Alaya](https://reader033.vdocuments.pub/reader033/viewer/2022061116/54652837af79590f738b4d7a/html5/thumbnails/32.jpg)
Solution de « Somme »
32
<form action= 'somme.php' method= 'GET' >
A:<input name="a" type="text" />B:<input name="b" type="text" /><input type="submit"
value="Envoyer" /></form>
<?php$somme = $_GET['a'] + $_GET['b'] ; echo "la somme est " , $somme ;
?>
formulaire.php
somme.php
$_GET(a => valeurA, b => valeurB)
![Page 33: PHP (Partie II) Par Mahdi Ben Alaya](https://reader033.vdocuments.pub/reader033/viewer/2022061116/54652837af79590f738b4d7a/html5/thumbnails/33.jpg)
Exercice « Commande »
33
![Page 34: PHP (Partie II) Par Mahdi Ben Alaya](https://reader033.vdocuments.pub/reader033/viewer/2022061116/54652837af79590f738b4d7a/html5/thumbnails/34.jpg)
Exercice « Commande »
34
•Créez une page web qui permet de sélectionner un produit à partir d’une liste, choisir la quantité et qui affiche la commande dans une nouvelle page.
Vous avez commandé X
Eléments
choix.php commande.php
![Page 35: PHP (Partie II) Par Mahdi Ben Alaya](https://reader033.vdocuments.pub/reader033/viewer/2022061116/54652837af79590f738b4d7a/html5/thumbnails/35.jpg)
Solution de « Commande »
35
<body> <h4>Faite votre commande</h4> <form action="commande.php" method="post">
Elément:<select name="item">
<option>Table</option> <option>Chaise</option> <option>Armoire</option>
</select><br/> Quantité: <input name="quantity" type="text" /> <br/><input type="submit" value="Envoyer "/>
</form> </body>
choix.php
![Page 36: PHP (Partie II) Par Mahdi Ben Alaya](https://reader033.vdocuments.pub/reader033/viewer/2022061116/54652837af79590f738b4d7a/html5/thumbnails/36.jpg)
Solution de « Commande »
36
<?php $quantity = $_POST['quantity'] ; $item = $_POST['item'] ;
echo "Vous avez commandé ". $quantity . " " . $item ;?>
Commande.php
![Page 37: PHP (Partie II) Par Mahdi Ben Alaya](https://reader033.vdocuments.pub/reader033/viewer/2022061116/54652837af79590f738b4d7a/html5/thumbnails/37.jpg)
Exercice « Login »
37
![Page 38: PHP (Partie II) Par Mahdi Ben Alaya](https://reader033.vdocuments.pub/reader033/viewer/2022061116/54652837af79590f738b4d7a/html5/thumbnails/38.jpg)
Password
incorrecte
Exercice « Login »
38
• Créez une page web qui permet de saisir un password. Si password = admin alors on affiche une page d’accueil sinon on renvoi vers une page d’erreur.
Password :
BonjourAdmin
login.php
accueil.php
Password =
admin
Password != adminerreur.php
![Page 39: PHP (Partie II) Par Mahdi Ben Alaya](https://reader033.vdocuments.pub/reader033/viewer/2022061116/54652837af79590f738b4d7a/html5/thumbnails/39.jpg)
Password
incorrecte
Solution de « Login »
39
BonjourAdmin
accueil.php
Password =
admin
Password != admin
erreur.php
Password :
login.php
Script deVérification
et de redirection
verif.php
![Page 40: PHP (Partie II) Par Mahdi Ben Alaya](https://reader033.vdocuments.pub/reader033/viewer/2022061116/54652837af79590f738b4d7a/html5/thumbnails/40.jpg)
Password
incorrecte
Solution de « Login »
40
BonjourAdmin
accueil.php
erreur.php
<form action= " verif.php" method="POST" > Pass:<input type="password" name="pass" /><br/> <input type="submit" value="Envoyer " /> </form>
login.php<?php if ($_POST['pass'] == "admin") { header('Location: accueil.php'); }else{ header('Location: erreur.php'); }?> verif.php
![Page 41: PHP (Partie II) Par Mahdi Ben Alaya](https://reader033.vdocuments.pub/reader033/viewer/2022061116/54652837af79590f738b4d7a/html5/thumbnails/41.jpg)
Présentation de MySQL
41
![Page 42: PHP (Partie II) Par Mahdi Ben Alaya](https://reader033.vdocuments.pub/reader033/viewer/2022061116/54652837af79590f738b4d7a/html5/thumbnails/42.jpg)
Présentation de MySQL
42
• Mysql est un serveur de Gestion de Base de Données (SGBD) gratuit le plus populaire au monde.
• C’est un ensemble de logiciels qui manipulent le contenu des bases de données. Il sert à effectuer les opérations ordinaires telles que rechercher, ajouter ou supprimer des enregistrements (CRUD).
![Page 43: PHP (Partie II) Par Mahdi Ben Alaya](https://reader033.vdocuments.pub/reader033/viewer/2022061116/54652837af79590f738b4d7a/html5/thumbnails/43.jpg)
Définition
43
•Une Base de Données (BD) est un stock d'informations organisé et structuré de manière à pouvoir manipulé facilement et efficacement de très grandes quantités d'informations.
![Page 44: PHP (Partie II) Par Mahdi Ben Alaya](https://reader033.vdocuments.pub/reader033/viewer/2022061116/54652837af79590f738b4d7a/html5/thumbnails/44.jpg)
Schéma d’une BD
44
Base de données
TableTable
Table
Id Nom Prenom
1 Ben Saleh Saleh
2 Ben Slim Slim
3 Ben Said Said
![Page 45: PHP (Partie II) Par Mahdi Ben Alaya](https://reader033.vdocuments.pub/reader033/viewer/2022061116/54652837af79590f738b4d7a/html5/thumbnails/45.jpg)
45
Les requêtes SQL
•Création d’une table
CREATE TABLE NomTable ( NomColonne1 Type_de_données, NomColonne2 Type_de_données, NomColonneN Type_de_données
)
![Page 46: PHP (Partie II) Par Mahdi Ben Alaya](https://reader033.vdocuments.pub/reader033/viewer/2022061116/54652837af79590f738b4d7a/html5/thumbnails/46.jpg)
46
Les requêtes SQL
• SélectionSELECT Champ1,ChampN FROM NomTable WHERE
Champ3='val';
• InsertionINSERT INTO NomTable (Champ1, ChampN) VALUES
(Val1,ValN);
• ModificationUPDATE NomTable SET Champ1 = 'Val1', ChampN = 'ValN' ;
• SuppressionDELETE FROM NomTable WHERE conditions ;
![Page 47: PHP (Partie II) Par Mahdi Ben Alaya](https://reader033.vdocuments.pub/reader033/viewer/2022061116/54652837af79590f738b4d7a/html5/thumbnails/47.jpg)
L’interface PHP MyAdmin
47
![Page 48: PHP (Partie II) Par Mahdi Ben Alaya](https://reader033.vdocuments.pub/reader033/viewer/2022061116/54652837af79590f738b4d7a/html5/thumbnails/48.jpg)
Présentation de phpMyAdmin
48
•phpMyAdmin est un ensemble de pages PHP. Ce n'est pas un programme, mais des pages PHP toutes prêtes dont on se sert pour manipuler facilement notre base et gagner du temps.
![Page 49: PHP (Partie II) Par Mahdi Ben Alaya](https://reader033.vdocuments.pub/reader033/viewer/2022061116/54652837af79590f738b4d7a/html5/thumbnails/49.jpg)
L’interface phpMyAdmin
49
![Page 50: PHP (Partie II) Par Mahdi Ben Alaya](https://reader033.vdocuments.pub/reader033/viewer/2022061116/54652837af79590f738b4d7a/html5/thumbnails/50.jpg)
L’interface phpMyAdmin
50
![Page 51: PHP (Partie II) Par Mahdi Ben Alaya](https://reader033.vdocuments.pub/reader033/viewer/2022061116/54652837af79590f738b4d7a/html5/thumbnails/51.jpg)
L’interface phpMyAdmin
51
![Page 52: PHP (Partie II) Par Mahdi Ben Alaya](https://reader033.vdocuments.pub/reader033/viewer/2022061116/54652837af79590f738b4d7a/html5/thumbnails/52.jpg)
L’interface phpMyAdmin
52
![Page 53: PHP (Partie II) Par Mahdi Ben Alaya](https://reader033.vdocuments.pub/reader033/viewer/2022061116/54652837af79590f738b4d7a/html5/thumbnails/53.jpg)
Connexion à une BD
53
![Page 54: PHP (Partie II) Par Mahdi Ben Alaya](https://reader033.vdocuments.pub/reader033/viewer/2022061116/54652837af79590f738b4d7a/html5/thumbnails/54.jpg)
54
Bd
Script.php
(Requête SQL)
1
Connexion à une BD
Serveur BD
Table
IP ServerUser Password
Nom BD+
Privilège
Nom Table
Nom champ
![Page 55: PHP (Partie II) Par Mahdi Ben Alaya](https://reader033.vdocuments.pub/reader033/viewer/2022061116/54652837af79590f738b4d7a/html5/thumbnails/55.jpg)
55
Fonctions PHP pour la connexionIP ServerUser Password
Nom BD+
Privilège
Nom Table
Nom champ
mysql_connect("IP Server", "User", "Password");
mysql_select_db("Nom BD");
$resultat = mysql_query("Requête SQL");
Fermer la connexion
mysql_close();
Gestion des exceptions Die("msg d’erreur");
![Page 56: PHP (Partie II) Par Mahdi Ben Alaya](https://reader033.vdocuments.pub/reader033/viewer/2022061116/54652837af79590f738b4d7a/html5/thumbnails/56.jpg)
56
La fonction mysql_query()
$resultat = mysql_query("Requête SQL");
• mysql_query() est une fonction PHP qui permet d’envoyer des requêtes SQL à un serveur MySQL.
• Pour les requêtes de type SELECT , mysql_Query() retournera une ressource en cas de succès ou FALSE en cas d'erreur.
• Pour les autres types de requêtes INSERT, UPDATE , DELETE , mysql_query() retourne TRUE en cas de succès ou FALSE en cas d'erreur.
![Page 57: PHP (Partie II) Par Mahdi Ben Alaya](https://reader033.vdocuments.pub/reader033/viewer/2022061116/54652837af79590f738b4d7a/html5/thumbnails/57.jpg)
57
La fonction mysql_query()• La ressource $resultat retournée contient un
tableau d’enregistrements c’est-à-dire une matrice.
$resultat = mysql_query(“SELECT nom, prenom FROM etudiant");
$resultat
Ben Ahmed Ahmed
Ben Saleh Saleh
Ben Slim Slim
Ben Said Said
![Page 58: PHP (Partie II) Par Mahdi Ben Alaya](https://reader033.vdocuments.pub/reader033/viewer/2022061116/54652837af79590f738b4d7a/html5/thumbnails/58.jpg)
58
La fonction mysql_fetch_array()
•Pour extraire les enregistrements un par un on utilise la fonction mysql_fetch_array().
$row = mysql_fetch_array($resultat ) ;
Ben Ahmed Ahmed
Ben Saleh Saleh
Ben Slim Slim
Ben Said Said
$resultat
$row nom prenom
![Page 59: PHP (Partie II) Par Mahdi Ben Alaya](https://reader033.vdocuments.pub/reader033/viewer/2022061116/54652837af79590f738b4d7a/html5/thumbnails/59.jpg)
59
Extraction des données
$resultat = mysql_query("SELECT nom, prenom FROM etudiant WHERE age > 20) ;
$row = mysql_fetch_array($resultat ) ;while ($row!=NULL ){
echo $row["nom"] . " " .$row["prenom"]; $row= mysql_fetch_array($result);
}
![Page 60: PHP (Partie II) Par Mahdi Ben Alaya](https://reader033.vdocuments.pub/reader033/viewer/2022061116/54652837af79590f738b4d7a/html5/thumbnails/60.jpg)
60
Fonctions utiles
• isset() : teste l’existence d’une variable ( savoir si une variable a été définie ou non).
• is_empty() or empty() : indique qu’un champ d’un formulaire a été rempli ou non.
![Page 61: PHP (Partie II) Par Mahdi Ben Alaya](https://reader033.vdocuments.pub/reader033/viewer/2022061116/54652837af79590f738b4d7a/html5/thumbnails/61.jpg)
TP « Mini Chat »
61
![Page 62: PHP (Partie II) Par Mahdi Ben Alaya](https://reader033.vdocuments.pub/reader033/viewer/2022061116/54652837af79590f738b4d7a/html5/thumbnails/62.jpg)
62
TP « Mini Chat »
•Réalisez un Mini Chat, vous allez commencer par la conception de la base de données puis créer les pages statiques ensuite faire le script php nécessaire.
![Page 63: PHP (Partie II) Par Mahdi Ben Alaya](https://reader033.vdocuments.pub/reader033/viewer/2022061116/54652837af79590f738b4d7a/html5/thumbnails/63.jpg)
63
Solution du « Mini Chat »
1 - Le formulaire
2 - Insertion msg
3 - Affichage des msg
minichat.php bdChat
Commentaire
Id pseudo msg
![Page 64: PHP (Partie II) Par Mahdi Ben Alaya](https://reader033.vdocuments.pub/reader033/viewer/2022061116/54652837af79590f738b4d7a/html5/thumbnails/64.jpg)
64
BD & Tables
![Page 65: PHP (Partie II) Par Mahdi Ben Alaya](https://reader033.vdocuments.pub/reader033/viewer/2022061116/54652837af79590f738b4d7a/html5/thumbnails/65.jpg)
65
Le Formulaire
![Page 66: PHP (Partie II) Par Mahdi Ben Alaya](https://reader033.vdocuments.pub/reader033/viewer/2022061116/54652837af79590f738b4d7a/html5/thumbnails/66.jpg)
66
Insertion de msg dans la BD
![Page 67: PHP (Partie II) Par Mahdi Ben Alaya](https://reader033.vdocuments.pub/reader033/viewer/2022061116/54652837af79590f738b4d7a/html5/thumbnails/67.jpg)
67
Affichage des messages
![Page 68: PHP (Partie II) Par Mahdi Ben Alaya](https://reader033.vdocuments.pub/reader033/viewer/2022061116/54652837af79590f738b4d7a/html5/thumbnails/68.jpg)
Merci pour votre attention
68