Cours php

cours PHP

Création d’un site Web dynamique
PHP (Personal Home Page / Hypertext Processor)
PHP est un langage de programmation utilisé pour la construction des sites
Web dynamiques
Ce programme a pour but de générer une page HTML.
Délimitées par < ? et ?>
Zones entre < ? et ?> : code PHP à exécuter (similaire à du code C).
• Le code PHP va être analysé par le serveur
• Le résultat va être une nouvelle page Web mise à jour automatiquement par
le code PHP
Cycle de vie d’une page PHP
1) Envoie de la requête par le client
2) Les pages PHP sont analysées par le serveur, le code PHP est interprété
3) Le contenu de la page est mise à jour automatiquement et envoyé au
Client
Cours php
La notion de variable
– Une variable est un conteneur de valeur
echo …$variable… 
On récupère la valeur gardée dans la variable par son nom
Communication entre le client (navigateur) et le serveur (PHP)
– On peut envoyer des données du client à un programme PHP grâce aux
variables
– Les formulaires en HTML permettent de recueillir des données auprès de
l’utilisateur
Les données sont ensuite communiquées à un programme PHP
Les données recueillies dans le formulaire sont transmises au programme
indiqué dans action=…
Dans PHP, on récupère ces données grâce à des tableaux associatifs spéciaux
Structures conditionnelles
If…else
if (expr1) {
code à exécuter si expr1 est validé
}
elseif (expr2) {
code à exécuter si expr2 est validé
}
...
else {
code à exécuter si aucune des expressions précédentes n'est validée
}
Switch
switch (expr1) {
case expr2:
{code à exécuter si expr1=expr2}
break;
case expr3:
{code à exécuter si expr1=expr3}
break;
...
default:
{code à exécuter s'il n'y a pas eu de correspondance jusqu'ici}
break;
}
Application 1
Créer un formulaire qui demande la saisie de 2 nombres (test_valeur.html)
Ces 2 nombres seront ensuite testés dans un script (test_valeur.php). Ce script
affichera les 2 nombres et précisera lequel est le plus grand ou s'ils sont égaux.
Script du formulaire : test_valeur.html
Quelques fonctions de teste sur les variables
empty($var) : renvoie vrai si la variable est vide (n’est pas défini.
isset($var) : renvoie vrai si la variable existe (possède une valeur).
unset($var) : détruit une variable, libérant la mémoire qu’elle occupe.
gettype($var) : retourne le type de la variable.
settype($var, ’’type’’) : convertit la variable en type type.
Application 2
Calcul d'une factorielle. Nous allons créer un formulaire qui demande la saisie
d'un nombre entier.
Ce nombre une fois saisi est transmis à un script (factorielle.php) qui calcule sa
factorielle (ex factorielle de 5 =5x4x3x2x1)
Fichier factorielle.html
<html>
<body>
<form action="factorielle.php" method="post">
Veuillez saisir un nombre<br/>
<input type="text" name="nbre" /><br/>
<input type="submit" value="Test" /><input type="reset" value="Effacer" />
</form>
</body>
</html>
Fichier factorielle.php
<?php
$nbre=$_POST["nbre"];
echo "Le nombre saisi est : $nbre<br/>";
$cpt=$nbre;
echo "cpt vaut $cpt<br/>";
while($cpt>1){
$nbre=$nbre*--$cpt;
echo "nbr = $nbre<br/>";
echo "cpt = $cpt<br/>";
}
echo "La factorielle de ce nombre vaut $nbre";
?>
Application 3
<?php
if (!empty($_POST["nom"]))
{
echo "Bonjour ".$_POST["nom"];
}
else
{
echo "
<form action=" coursphp.php" method="post">
Veuillez entrez votre nom :
<input type="text" name="nom" />
<input type="submit" value="Entrez votre nom" />
</form >";
}
Application 4
Rédiger un script qui demande la saisie d'un nom, ainsi que le choix minimum
d'une langue
<?php
if (!empty($_POST["nom"]) AND (isset($_POST["langue1"]) OR
isset($_POST["langue2"])) ) {
echo "Bonjour ".$_POST["nom"]." vous parlez : <br/>";
if(isset($_POST["langue1"])) echo $_POST["langue1"]."<br/>";
if(isset($_POST["langue2"])) echo $_POST["langue2"]."<br/>";}
else {
echo "<form action=" coursphp_isset.php" method="post">
Veuillez entrez votre nom :
<input type="text" name="nom" /><br/>
<input type="checkbox" value="Français" name="langue1" />Français<br/>
<input type="checkbox" value="Anglais" name="langue2" />Anglais<br/>
<input type="submit" value="Entrez" />";
}
?>
Application 5
Créer un formulaire qui demande de faire un choix parmi une liste de 4 langues.
Lorsque le choix est fait le résultat est transmis à un script qui affiche le choix
réalisé. A l'affichage du formulaire aucun choix n'est fait par défaut. En cas de
non choix le formulaire doit se réafficher.
N.B: Le formulaire et son traitement sont dans le même fichier.
<?php
if (isset($_POST["langue"])) $langue = $_POST["langue"];
else $langue="";
switch($langue) {
case "FR":
echo "Votre langue est le francais";break;
case "EU":
echo "Votre langue est l'anglais";break;
case "DE":
echo "Votre langue est l'allemand";break;
case "IT":
echo "Votre langue est l'italien";break;
case "ES":
echo "Votre langue est l'espagnol";break;
default:
echo "
<form action="test_langue.php" method="post">
<P>Langue parlée ?<br/>
<input type="radio" NAME="langue" value="FR" checked ="checked"
/>Francais<br/>
<input type="radio" NAME="langue" value="EU" />Anglais<br/>
<input type="radio" NAME="langue" value="DE" />Allemand<br/>
<input type="radio" NAME="langue" value="IT" />Italien<br/>
<input type="radio" NAME="langue" value="ES" />Espagnol<br/>
<P><input type="submit" value="Envoyer" />
</form> ";
break; }?>
Quelques fonctions prédéfinies
Cours php
Quelques fonctions tableaux
La fonction header
La fonction header() permet de faire plusieurs choses et, en particulier, de
rediriger vers une autre page.
Syntaxe : header("Location: adresse d'une page web");
Exemple :
<?php
header("Location: http://www.site.com");
?>
Cette fonction doit par contre être utilisée avant d'envoyer des données html,
sous peine de produire une erreur.
Inclusion d'un autre fichier PHP :
include("nom fichier.php") ;
Les tableaux (array)
- Une variable tableau est de type array. Un tableau accepte des éléments de tout
type. Les éléments d’un tableau peuvent être de types différents et sont séparés
d’une virgule.
- Un tableau peut être initialisé avec la syntaxe array.
Exemple :
$tab_colors = array(‘red’, ’yellow’, ’blue’, ‘white’);
$tab = array(‘foobar’, 2002, 20.5, $name);
- Mais
Les tableaux associatifs
Le PHP permet de gérer des tableaux dont les éléments sont référencés non par
des valeurs numériques mais par des chaines de caractères. On appelle ce type
de tableau des tableaux associatifs
Exemple de tableau associatif
Nom MOHAMED
Age 30
note 20
$tab[age] vaut 30
Création d'un tableau associatif
<?php
$tab["nom"]="MOHAMED";
$tab["age"]=30;
$tab["note"]=20;
echo "Votre nom : ".$tab["nom"]; // ceci affiche Votre nom : MOHAMED
?>
ou
<?php
$tab=array(
"nom"=>"MOHAMED",
"age"=>30,
"note"=>20
);
echo $tab["nom"]; // ceci affiche MOHAMED
?>
Parcourir un tableau associatif
La fonction foreach
foreach($variable_tableau as $key => $value) { commandes...}
Sur le tableau désigné ($variable_tableau) on récupère la clé dans $Key et la
valeur
dans $value.
<?php
$fich = array ( "nom" => "LARBI",
"prenom" => "MOHAMED",
"maill" => "mohamed.larbi@gmail.com",
"age" => 22);
foreach($fich as $cle => $val) {
echo "Votre $cle $val <br/>";
}?>
Votre nom Larbi
Votre prenom Mohamed
Votre mail mohamed.larbi@gmail.com
Votre age 22
Principe d'accès à une base MySQL
Cinq étapes :
1 Connexion au SGBD.
2 Sélection d'une base.
3 Envoi d'une requête.
4 Récupération et utilisation du résultat.
5 Fermeture de la connexion.
Se connecter au serveur MySQL
mysql_connect($server,$user,$password): permet de se connecter au serveur
$server en tant qu’utilisateur $user avec le mot de passe $password, retourne
l’identifiant de connexion si succès, FALSEmysql_connect retourne un
identifiant positif de connexion (différent de 0) en cas de succès, et sinon
FALSE (c’est à dire 0).
• Choisir une base de données parmi celles disponibles
• Passer des requêtes SQL
via des primitives MySQL_query....
• Fermer la connexion
• mysql_connect connexion
• mysql_select_db choix d'une base
• mysql_query requête SQL
• mysql_close déconnexion
Connexion - Deconnexion au serveur MySQL
Pratique
Connexion au serveur MySQL
Ouvrir l'application « NotePad++».
Créer un nouveau script PHP.
Saisir le script suivant
<?php
$username = "root";
$password = "";
$hostname = "localhost";
// Connexion au serveur
$link = mysql_connect ($hostname , $username, $password) or die ("Connexion
impossible");
echo "Connexion réussie.<BR>n";
echo "Ressource de connexion : $link<BR>n";
// Déconnexion
mysql_close($link);
?>
Enregistrer ce script sous le nom « connexion.php».
« die(message)» : la fonction termine l'exécution du script courant et renvoie le
message donné en argument. On peut la remplacer par « exit».
Sélectionner une base de données
La fonction « mysql_select_db» permet de sélectionner une base de données. Sa
syntaxe de base est :
« mysql_select_db ( string database_name , resource link_identifier )»
avec
* database_name : le nom de la base de données,
* link_identifier : la ressource de connexion obtenue par la fonction
mysql_connect()
Si « link_identifier» n'est spécifiée, la dernière connexion est utilisée.
Cette fonction retourne TRUE en cas de succès, FALSE en cas d'échec.
Compléter « connexion.php» comme ci-dessous :
$basename = "test1";;
$username = "root";
$password = "";
$hostname = "localhost";
// Connexion au serveur
$link = mysql_connect ($hostname , $username, $password) or die ("Connexion
impossible");
echo "Connexion réussie.<BR>n";
echo "Ressource de connexion : $link<BR>n";
// Sélection de la base de données
mysql_select_db($basename) or die ("Impossible de se connecter à la
base".$basename);
echo "Base sélectionnée : $basename <BR>n";
// Déconnexion
mysql_close($link);
La fonction « mysql_query» permet d'envoyer une requête SQL à une base de
données MySQL. Sa
syntaxe de base est :
« mysql_query ( string query , resource link_identifier )»
avec :
* « query» la requête SQL,
* « link_identifier» la ressource de connexion.
Si «link_identifier» n'est pas précisée, la dernière connexion est utilisée
PhpMyAdmin
Exercice
Le formulaire de saisie :
Appellez ce fichier : form_saisie.html. il faut faire attention à deux choses :
• L'appel au script php lors de l'envoi du formulaire saisie.php
• les paramètres name donnés aux champs de formulaire...
Le script de stockage dans la table
Cours php
Comparaison : Fonctions permettant d’interfacer PHP avec les bases
de données MySQL et PostegreSQL
PHP/MySQL
Les fonctions PHP les plus couramment utilisées pour accéder à une base
MySQL sont les suivantes :
mysql_connect() pour ouvrir une connexion avec le serveur de base de donnée
mysql_select_db() pour changer la base active sur la connexion en cours
mysql_query() pour envoyer une requête SQL
mysql_close() pour fermer la connexion avec le serveur
Les résultats peuvent ensuite être exploités grâce aux fonctions
mysql_num_rows() retourne le nombre de résultats renvoyé par la requête
mysql_fetch_array() pour transformer une ligne de résultat en tableau indicé
mysql_fetch_assoc() pour transformer une ligne de résultat en tableau associatif
Application
Soit une Table MEMBRES dans la base MaBase ayant le modèle suivant :
Nom Prenom
Alaoui Mohamed
Rochdi Laila
Et les données ont été insérées ainsi :
insert into’ membres’ (‘nom’,’prenom’) values (‘Alaoui’, ‘Mohamed’) ;
insert into’ membres’ (‘nom’,’prenom’) values (‘Rochdi’, ‘Laila’) ;
Il ya deux résultats
Alaoui Mohamed
Rochdi Laila
PHP et PostgreSQL
PHP dispose également en standard de librairies offrant la possibilité de
l'interfacer avec des bases de données PostgreSQL.
pg_connect() pour ouvrir une connexion avec le serveur de base de donnée et
choisir une base
donnée sur un hôte.
pg_query() pour envoyer une requête SQL
pg_close() pour fermer la connexion avec le serveur.
Les résultats peuvent ensuite être exploités grâce aux fonctions
pg_num_rows() retourne le nombre de résultats renvoyé par la requête
pg_fetch_row() pour transformer une ligne de résultat en tableau indicé
Il ya deux résultats
Alaoui Mohamed
Rochdi laila
Sessions
HTTP protocole non connecté
HTTP n’établit pas de connexion permanente !
2 requêtes successives d’un même client sont indépendantes pour le serveur.
Un serveur peut difficilement suivre le parcours de l’utilisateur dans le site
Chaque connexion est vue comme une demande d’un utilisateur différent.
Gestion des sessions : Suivi de l’activité du client sur plusieurs pages
La notion de session permet d'établir une continuité dans le dialogue
client/serveur en gardant la trace de l'authentification de l'utilisateur. En effet le
protocole HTTP est un protocole sans état, aucune information n'est stockée
entre deux connexions, ou demande de nouvelle page web.
La gestion des sessions en PHP s'appuie sur la notion de cookie
« donnée stockée par un serveur Web chez un client »
Débat éthique
COOKIE : fichier écrit sur l'ordinateur de l'internaute par le serveur web,
permettant de sauvegarder un contexte de connexion. ce contexte est composé
d'une série de variables stockées directement dans le navigateur web du client
afin de palier au caractère sans état du protocole http.
Et voici désormais comment se réalise la gestion des sessions :
A la première connexion le serveur associe un identifiant de session à un
internaute
Le serveur transmet cet identifiant au client sous la forme d'un cookie
Grâce à l'identifiant de session le serveur est en mesure de stocker des
informations sur le client
A chaque nouvelle connexion HTTP (à chaque nouvelle page demandée) le
client transmet son identifiant de session, permettant de suivre les actions du
client, de garder trace de sa connexion et de stocker certaines variables associés
au client.
Les solutions pour mettre en oeuvre viennent des fonctions suivantes :
session_start() identifie ou crée la session si existe déjà, recrée toutes les
variables PHP associées doit être appelé au début du script PHP
Les solutions pour mettre en oeuvre viennent des fonctions suivantes :
session_start() identifie ou crée la session si existe déjà, recrée toutes les
variables Php associées doit être appelé au début du script PHP
session_destroy() détruit les informations associées à la session
session_id() renvoie l’identifiant de la session
session_register(nomVariable) associe une variable Php à la session. Cette
information sera stockée et pourra être retrouvée à chaque session
session_unregister(nomVar) supprime une variable de la session
session_is_registered(nomVar) test l’existence d’une variable
Pour finir de clarifier les choses voilà désormais un exemple, dans le premier
fichier, ci-dessous :
Lors de la première visite on démarre une session dans laquelle on stocke l'heure
de connexion et l'adresse IP.
Ensuite quand le client ira sur la page suivante, représentée par le fichier
suivant, il sera reconnu grâce à son identifiant de session et on pourra retrouver
l'heure de sa connexion, et l'adresse IP depuis laquelle il s'est connecté, ces
informations ayant été stockées sur le serveur hébergeant le site web.
Le résultat est alors le suivant :
Dans notre exemple nous pouvons visualiser les cookies (par exemple sous
Mozilla Firefox, en allant dans le menu Outils -->Options -->Vie privée --
>Cookies -->Afficher les cookies)
On y voit que le navigateur stocke un identifiant de session PHPSESSID
permettant de retrouver
les informations concernant le client sur le serveur.
Application
Récupérer les données utilisateurs
Un formulaire très simple permettant l'authentification
Comment exploiter les données qui ont été transmises par un utilisateur dans un
Code source en HTML :
Pour plus de rigueur et plus de sécurité, il est donc préférable d'aller récupérer le
contenu des variables dans le tableau associatif $_GET.
Les données pourraient aussi venir de la méthode POST ($_POST['']), de
cookies ($_COOKIES['']), de sessions ($_SESSION['']), ou bien encore avoir
déjà été utilisées dans le script.
Et on peut maintenant utiliser ces données pour fabriquer une page HTML
fonction du résultat.
Voilà pour résumer un petit schéma qui permettra de mieux comprendre :
Il peut être utile de conserver des informations d'une page sur l'autre. Par
exemple pour :
 se souvenir du login de l'utilisateur
 se souvenir des références indiquant à quoi l'utilisateur s'intéresse
 se souvenir des dernières pages visitées par l'utilisateur etc
Jusqu'ici, un seul moyen : utiliser des paramètres et penser à les remettre à
chaque lien et dans chaque formulaire
Programmation fastidieuse et source de problèmes.
Une session peut être vue comme un ensemble d'informations concernant un
utilisateur d'un site.
 par utilisateur, on entend un navigateur sur une machine
 les informations sont conservées entre deux pages
 une page PHP peut ajouter ou modifier des informations
En PHP, la session est vue comme une variable spéciale appelée
$ SESSION : c'est un tableau associatif sa valeur est conservée d'une page sur
l'autre

Recomendados

Cours php & Mysql - 1ére partie por
Cours php & Mysql - 1ére partieCours php & Mysql - 1ére partie
Cours php & Mysql - 1ére partiekadzaki
5.2K vistas44 diapositivas
Mise en oeuvre des framework de machines et deep learning v1 por
Mise en oeuvre des framework de machines et deep learning v1 Mise en oeuvre des framework de machines et deep learning v1
Mise en oeuvre des framework de machines et deep learning v1 ENSET, Université Hassan II Casablanca
10.7K vistas208 diapositivas
Appalications JEE avec Servlet/JSP por
Appalications JEE avec Servlet/JSPAppalications JEE avec Servlet/JSP
Appalications JEE avec Servlet/JSPYouness Boukouchi
2.7K vistas138 diapositivas
Examen principal - PHP por
Examen principal - PHPExamen principal - PHP
Examen principal - PHPInes Ouaz
2.7K vistas2 diapositivas
Développement d'un site web jee de e commerce basé sur spring (m.youssfi) por
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)ENSET, Université Hassan II Casablanca
46.8K vistas109 diapositivas
Examen principal- php - correction por
Examen principal- php - correctionExamen principal- php - correction
Examen principal- php - correctionInes Ouaz
10.1K vistas10 diapositivas

Más contenido relacionado

La actualidad más candente

Support de cours EJB 3 version complète Par Mr Youssfi, ENSET, Université Ha... por
Support de cours EJB 3 version complète Par Mr  Youssfi, ENSET, Université Ha...Support de cours EJB 3 version complète Par Mr  Youssfi, ENSET, Université Ha...
Support de cours EJB 3 version complète Par Mr Youssfi, ENSET, Université Ha...ENSET, Université Hassan II Casablanca
49.4K vistas266 diapositivas
Bases de données réparties par la pratique por
Bases de données réparties par la pratiqueBases de données réparties par la pratique
Bases de données réparties par la pratiqueAbdelouahed Abdou
10.6K vistas27 diapositivas
Présentation de ECMAScript 6 por
Présentation de ECMAScript 6Présentation de ECMAScript 6
Présentation de ECMAScript 6Julien CROUZET
2.9K vistas85 diapositivas
Fiche de TP 4 sur les bases de données avec les SGBD(Système de Gestion des B... por
Fiche de TP 4 sur les bases de données avec les SGBD(Système de Gestion des B...Fiche de TP 4 sur les bases de données avec les SGBD(Système de Gestion des B...
Fiche de TP 4 sur les bases de données avec les SGBD(Système de Gestion des B...ATPENSC-Group
3.9K vistas3 diapositivas
Programmation orientée objet en PHP 5 por
Programmation orientée objet en PHP 5Programmation orientée objet en PHP 5
Programmation orientée objet en PHP 5Kristen Le Liboux
14K vistas69 diapositivas
Data mining - Associativité por
Data mining - AssociativitéData mining - Associativité
Data mining - AssociativitéMohamed Heny SELMI
3.4K vistas19 diapositivas

La actualidad más candente(20)

Bases de données réparties par la pratique por Abdelouahed Abdou
Bases de données réparties par la pratiqueBases de données réparties par la pratique
Bases de données réparties par la pratique
Abdelouahed Abdou10.6K vistas
Présentation de ECMAScript 6 por Julien CROUZET
Présentation de ECMAScript 6Présentation de ECMAScript 6
Présentation de ECMAScript 6
Julien CROUZET2.9K vistas
Fiche de TP 4 sur les bases de données avec les SGBD(Système de Gestion des B... por ATPENSC-Group
Fiche de TP 4 sur les bases de données avec les SGBD(Système de Gestion des B...Fiche de TP 4 sur les bases de données avec les SGBD(Système de Gestion des B...
Fiche de TP 4 sur les bases de données avec les SGBD(Système de Gestion des B...
ATPENSC-Group3.9K vistas
Système d’exploitation: Principe por Souhaib El
Système d’exploitation: PrincipeSystème d’exploitation: Principe
Système d’exploitation: Principe
Souhaib El3.8K vistas
Chapitre 3 tableaux et pointeurs en C por Abdelouahed Abdou
Chapitre 3 tableaux et pointeurs en CChapitre 3 tableaux et pointeurs en C
Chapitre 3 tableaux et pointeurs en C
Abdelouahed Abdou4.8K vistas
Plsql por rchbeir
PlsqlPlsql
Plsql
rchbeir1.8K vistas
T1 corrections-qcm por infcom
T1 corrections-qcmT1 corrections-qcm
T1 corrections-qcm
infcom55K vistas
Telecharger Exercices corrigés PL/SQL por webreaker
Telecharger Exercices corrigés PL/SQLTelecharger Exercices corrigés PL/SQL
Telecharger Exercices corrigés PL/SQL
webreaker19K vistas
BigData_TP4 : Cassandra por Lilia Sfaxi
BigData_TP4 : CassandraBigData_TP4 : Cassandra
BigData_TP4 : Cassandra
Lilia Sfaxi31.1K vistas
Chap 6 : classes et interfaces por Aziz Darouichi
Chap 6 : classes et interfacesChap 6 : classes et interfaces
Chap 6 : classes et interfaces
Aziz Darouichi780 vistas
Modélisation de données pour MongoDB por MongoDB
Modélisation de données pour MongoDBModélisation de données pour MongoDB
Modélisation de données pour MongoDB
MongoDB4.4K vistas

Destacado

base de données -note de cours por
base de données -note de cours base de données -note de cours
base de données -note de cours Yassine Badri
2.8K vistas33 diapositivas
les métiers d'informatique por
les métiers d'informatiqueles métiers d'informatique
les métiers d'informatiqueYassine Badri
2K vistas152 diapositivas
les servlets-java EE por
les  servlets-java EEles  servlets-java EE
les servlets-java EEYassine Badri
1.1K vistas45 diapositivas
cours j2ee -présentation por
cours  j2ee -présentationcours  j2ee -présentation
cours j2ee -présentationYassine Badri
1.6K vistas20 diapositivas
les métiers d'informatique por
les métiers d'informatiqueles métiers d'informatique
les métiers d'informatiqueYassine Badri
1.2K vistas16 diapositivas
Conception des bases de données relationelles por
Conception des bases de données relationellesConception des bases de données relationelles
Conception des bases de données relationellesYassine Badri
1.6K vistas29 diapositivas

Destacado(20)

base de données -note de cours por Yassine Badri
base de données -note de cours base de données -note de cours
base de données -note de cours
Yassine Badri2.8K vistas
les métiers d'informatique por Yassine Badri
les métiers d'informatiqueles métiers d'informatique
les métiers d'informatique
Yassine Badri2K vistas
les servlets-java EE por Yassine Badri
les  servlets-java EEles  servlets-java EE
les servlets-java EE
Yassine Badri1.1K vistas
cours j2ee -présentation por Yassine Badri
cours  j2ee -présentationcours  j2ee -présentation
cours j2ee -présentation
Yassine Badri1.6K vistas
les métiers d'informatique por Yassine Badri
les métiers d'informatiqueles métiers d'informatique
les métiers d'informatique
Yassine Badri1.2K vistas
Conception des bases de données relationelles por Yassine Badri
Conception des bases de données relationellesConception des bases de données relationelles
Conception des bases de données relationelles
Yassine Badri1.6K vistas
script site e-commerce -php por Yassine Badri
script site e-commerce -php script site e-commerce -php
script site e-commerce -php
Yassine Badri2K vistas
Théorie de normalisation-base de données por Yassine Badri
Théorie de normalisation-base de donnéesThéorie de normalisation-base de données
Théorie de normalisation-base de données
Yassine Badri2.4K vistas
cours base de données por Yassine Badri
cours base de donnéescours base de données
cours base de données
Yassine Badri2.1K vistas
Exercice arbre de décision por Yassine Badri
Exercice arbre de décision Exercice arbre de décision
Exercice arbre de décision
Yassine Badri11.7K vistas
exercices business intelligence por Yassine Badri
exercices business intelligence exercices business intelligence
exercices business intelligence
Yassine Badri28.5K vistas
exercices base de données - sql por Yassine Badri
exercices  base de données - sql exercices  base de données - sql
exercices base de données - sql
Yassine Badri20.7K vistas
exercices Corrigées du merise por Yassine Badri
exercices Corrigées du  meriseexercices Corrigées du  merise
exercices Corrigées du merise
Yassine Badri20.9K vistas
Java chap 04 surcharge des méthodes [mode de compatibilité] por Yassine Badri
Java chap 04 surcharge des méthodes [mode de compatibilité]Java chap 04 surcharge des méthodes [mode de compatibilité]
Java chap 04 surcharge des méthodes [mode de compatibilité]
Yassine Badri1.2K vistas
La theorie des dependances et la normalisation des relations-base de données por Yassine Badri
La theorie des dependances et la normalisation des relations-base de donnéesLa theorie des dependances et la normalisation des relations-base de données
La theorie des dependances et la normalisation des relations-base de données
Yassine Badri1.4K vistas
Chap 03 poo en java partie1 por Yassine Badri
Chap 03 poo en java partie1Chap 03 poo en java partie1
Chap 03 poo en java partie1
Yassine Badri1.2K vistas

Similar a Cours php

Les principes de base de PHP por
 Les principes de base de PHP  Les principes de base de PHP
Les principes de base de PHP EL JAOUARI Ahmed
209 vistas40 diapositivas
Php cours por
Php coursPhp cours
Php coursfuninformatique
94 vistas40 diapositivas
Php1 por
Php1Php1
Php1Kadar Abdillahi
814 vistas22 diapositivas
Forma php por
Forma phpForma php
Forma phpAymen Drira
976 vistas15 diapositivas
Formation php 1 por
Formation php 1Formation php 1
Formation php 1Aymen Drira
514 vistas15 diapositivas
Formation php 1 por
Formation php 1Formation php 1
Formation php 1Aymen Drira
448 vistas15 diapositivas

Similar a Cours php (20)

Formation php 1 por Aymen Drira
Formation php 1Formation php 1
Formation php 1
Aymen Drira514 vistas
Formation php 1 por Aymen Drira
Formation php 1Formation php 1
Formation php 1
Aymen Drira448 vistas
.php1 : les fondamentaux du PHP por Abdoulaye Dieng
.php1 : les fondamentaux du PHP.php1 : les fondamentaux du PHP
.php1 : les fondamentaux du PHP
Abdoulaye Dieng1.4K vistas
Initiation au php por StrasWeb
Initiation au phpInitiation au php
Initiation au php
StrasWeb904 vistas
Php & My Sql por cecile59
Php & My SqlPhp & My Sql
Php & My Sql
cecile591K vistas
Php & My Sql por guest6c050e
Php & My SqlPhp & My Sql
Php & My Sql
guest6c050e2.6K vistas
PHP - get started por mazenovi
PHP - get startedPHP - get started
PHP - get started
mazenovi501 vistas
Cours php -partie 1.pdf por ssuserc46a93
Cours php -partie 1.pdfCours php -partie 1.pdf
Cours php -partie 1.pdf
ssuserc46a9316 vistas
seance4-1 php.ppt por AmineReal
seance4-1 php.pptseance4-1 php.ppt
seance4-1 php.ppt
AmineReal12 vistas
Fiche de TD 1 de préparation probatoire (littéraire et scientifique) du Camer... por ATPENSC-Group
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-Group2.6K vistas

Más de Yassine Badri

exercices gestion de stock por
exercices gestion de stock exercices gestion de stock
exercices gestion de stock Yassine Badri
51.7K vistas5 diapositivas
Arbre de décision por
Arbre de décisionArbre de décision
Arbre de décisionYassine Badri
4.5K vistas23 diapositivas
.logistique gestion des stock por
.logistique gestion des stock .logistique gestion des stock
.logistique gestion des stock Yassine Badri
14.3K vistas50 diapositivas
Chap 03 poo en java partie2 por
Chap 03 poo en java partie2Chap 03 poo en java partie2
Chap 03 poo en java partie2Yassine Badri
546 vistas17 diapositivas
Chap 02 poo en java por
Chap 02 poo en javaChap 02 poo en java
Chap 02 poo en javaYassine Badri
925 vistas32 diapositivas
Ch 01 poo por
Ch 01 pooCh 01 poo
Ch 01 pooYassine Badri
4.1K vistas100 diapositivas

Más de Yassine Badri(6)

exercices gestion de stock por Yassine Badri
exercices gestion de stock exercices gestion de stock
exercices gestion de stock
Yassine Badri51.7K vistas
.logistique gestion des stock por Yassine Badri
.logistique gestion des stock .logistique gestion des stock
.logistique gestion des stock
Yassine Badri14.3K vistas
Chap 03 poo en java partie2 por Yassine Badri
Chap 03 poo en java partie2Chap 03 poo en java partie2
Chap 03 poo en java partie2
Yassine Badri546 vistas

Último

ordre westphalien.docx por
ordre westphalien.docxordre westphalien.docx
ordre westphalien.docxChristopheFontaine13
93 vistas2 diapositivas
Abréviations et symboles (1).pdf por
Abréviations et symboles (1).pdfAbréviations et symboles (1).pdf
Abréviations et symboles (1).pdfStagiaireLearningmat
25 vistas2 diapositivas
Julia Margaret Cameron por
Julia Margaret Cameron Julia Margaret Cameron
Julia Margaret Cameron Txaruka
5 vistas20 diapositivas
Newsletter SPW Agriculture en province du Luxembourg du 13-11-23 por
Newsletter SPW Agriculture en province du Luxembourg du 13-11-23Newsletter SPW Agriculture en province du Luxembourg du 13-11-23
Newsletter SPW Agriculture en province du Luxembourg du 13-11-23BenotGeorges3
6 vistas17 diapositivas
Julia Margaret Cameron por
Julia Margaret CameronJulia Margaret Cameron
Julia Margaret CameronTxaruka
59 vistas20 diapositivas
La Lettre Formelle.pptx por
La Lettre Formelle.pptxLa Lettre Formelle.pptx
La Lettre Formelle.pptxstudymaterial91010
14 vistas10 diapositivas

Último(13)

Julia Margaret Cameron por Txaruka
Julia Margaret Cameron Julia Margaret Cameron
Julia Margaret Cameron
Txaruka5 vistas
Newsletter SPW Agriculture en province du Luxembourg du 13-11-23 por BenotGeorges3
Newsletter SPW Agriculture en province du Luxembourg du 13-11-23Newsletter SPW Agriculture en province du Luxembourg du 13-11-23
Newsletter SPW Agriculture en province du Luxembourg du 13-11-23
BenotGeorges36 vistas
Julia Margaret Cameron por Txaruka
Julia Margaret CameronJulia Margaret Cameron
Julia Margaret Cameron
Txaruka59 vistas
Formation M2i - Augmenter son impact en communication et en management grâce... por M2i Formation
Formation M2i - Augmenter son impact en communication et en management grâce...Formation M2i - Augmenter son impact en communication et en management grâce...
Formation M2i - Augmenter son impact en communication et en management grâce...
M2i Formation6 vistas
Monthly Information Session for HMCS Vancouver (November 2023) por Esquimalt MFRC
Monthly Information Session for HMCS Vancouver (November 2023)Monthly Information Session for HMCS Vancouver (November 2023)
Monthly Information Session for HMCS Vancouver (November 2023)
Esquimalt MFRC226 vistas
Newsletter SPW Agriculture en province de LIEGE du 28-11-23 por BenotGeorges3
Newsletter SPW Agriculture en province de LIEGE du 28-11-23Newsletter SPW Agriculture en province de LIEGE du 28-11-23
Newsletter SPW Agriculture en province de LIEGE du 28-11-23
BenotGeorges321 vistas
Presentation pfe final (7).pptx por BenAlayaSaida
Presentation pfe final (7).pptxPresentation pfe final (7).pptx
Presentation pfe final (7).pptx
BenAlayaSaida14 vistas
Newsletter SPW Agriculture en province du Luxembourg du 13-11-23 (adapté au 2... por BenotGeorges3
Newsletter SPW Agriculture en province du Luxembourg du 13-11-23 (adapté au 2...Newsletter SPW Agriculture en province du Luxembourg du 13-11-23 (adapté au 2...
Newsletter SPW Agriculture en province du Luxembourg du 13-11-23 (adapté au 2...
BenotGeorges323 vistas
Cours SE Ordonnancement des processus - IPSET.pdf por MedBechir
Cours SE Ordonnancement des processus - IPSET.pdfCours SE Ordonnancement des processus - IPSET.pdf
Cours SE Ordonnancement des processus - IPSET.pdf
MedBechir17 vistas

Cours php

  • 1. Création d’un site Web dynamique PHP (Personal Home Page / Hypertext Processor) PHP est un langage de programmation utilisé pour la construction des sites Web dynamiques Ce programme a pour but de générer une page HTML. Délimitées par < ? et ?> Zones entre < ? et ?> : code PHP à exécuter (similaire à du code C). • Le code PHP va être analysé par le serveur • Le résultat va être une nouvelle page Web mise à jour automatiquement par le code PHP Cycle de vie d’une page PHP 1) Envoie de la requête par le client 2) Les pages PHP sont analysées par le serveur, le code PHP est interprété 3) Le contenu de la page est mise à jour automatiquement et envoyé au Client
  • 3. La notion de variable – Une variable est un conteneur de valeur echo …$variable…  On récupère la valeur gardée dans la variable par son nom Communication entre le client (navigateur) et le serveur (PHP) – On peut envoyer des données du client à un programme PHP grâce aux variables – Les formulaires en HTML permettent de recueillir des données auprès de l’utilisateur Les données sont ensuite communiquées à un programme PHP Les données recueillies dans le formulaire sont transmises au programme indiqué dans action=… Dans PHP, on récupère ces données grâce à des tableaux associatifs spéciaux
  • 4. Structures conditionnelles If…else if (expr1) { code à exécuter si expr1 est validé } elseif (expr2) { code à exécuter si expr2 est validé } ... else { code à exécuter si aucune des expressions précédentes n'est validée } Switch switch (expr1) { case expr2: {code à exécuter si expr1=expr2} break; case expr3: {code à exécuter si expr1=expr3} break; ... default: {code à exécuter s'il n'y a pas eu de correspondance jusqu'ici} break; } Application 1 Créer un formulaire qui demande la saisie de 2 nombres (test_valeur.html)
  • 5. Ces 2 nombres seront ensuite testés dans un script (test_valeur.php). Ce script affichera les 2 nombres et précisera lequel est le plus grand ou s'ils sont égaux. Script du formulaire : test_valeur.html
  • 6. Quelques fonctions de teste sur les variables empty($var) : renvoie vrai si la variable est vide (n’est pas défini. isset($var) : renvoie vrai si la variable existe (possède une valeur). unset($var) : détruit une variable, libérant la mémoire qu’elle occupe. gettype($var) : retourne le type de la variable. settype($var, ’’type’’) : convertit la variable en type type. Application 2 Calcul d'une factorielle. Nous allons créer un formulaire qui demande la saisie d'un nombre entier. Ce nombre une fois saisi est transmis à un script (factorielle.php) qui calcule sa factorielle (ex factorielle de 5 =5x4x3x2x1) Fichier factorielle.html <html> <body> <form action="factorielle.php" method="post"> Veuillez saisir un nombre<br/> <input type="text" name="nbre" /><br/> <input type="submit" value="Test" /><input type="reset" value="Effacer" /> </form> </body> </html>
  • 7. Fichier factorielle.php <?php $nbre=$_POST["nbre"]; echo "Le nombre saisi est : $nbre<br/>"; $cpt=$nbre; echo "cpt vaut $cpt<br/>"; while($cpt>1){ $nbre=$nbre*--$cpt; echo "nbr = $nbre<br/>"; echo "cpt = $cpt<br/>"; } echo "La factorielle de ce nombre vaut $nbre"; ?> Application 3 <?php if (!empty($_POST["nom"])) { echo "Bonjour ".$_POST["nom"]; } else { echo " <form action=" coursphp.php" method="post"> Veuillez entrez votre nom : <input type="text" name="nom" /> <input type="submit" value="Entrez votre nom" />
  • 8. </form >"; } Application 4 Rédiger un script qui demande la saisie d'un nom, ainsi que le choix minimum d'une langue <?php if (!empty($_POST["nom"]) AND (isset($_POST["langue1"]) OR isset($_POST["langue2"])) ) { echo "Bonjour ".$_POST["nom"]." vous parlez : <br/>"; if(isset($_POST["langue1"])) echo $_POST["langue1"]."<br/>"; if(isset($_POST["langue2"])) echo $_POST["langue2"]."<br/>";} else { echo "<form action=" coursphp_isset.php" method="post"> Veuillez entrez votre nom : <input type="text" name="nom" /><br/> <input type="checkbox" value="Français" name="langue1" />Français<br/> <input type="checkbox" value="Anglais" name="langue2" />Anglais<br/> <input type="submit" value="Entrez" />"; }
  • 9. ?> Application 5 Créer un formulaire qui demande de faire un choix parmi une liste de 4 langues. Lorsque le choix est fait le résultat est transmis à un script qui affiche le choix réalisé. A l'affichage du formulaire aucun choix n'est fait par défaut. En cas de non choix le formulaire doit se réafficher. N.B: Le formulaire et son traitement sont dans le même fichier. <?php if (isset($_POST["langue"])) $langue = $_POST["langue"]; else $langue=""; switch($langue) { case "FR": echo "Votre langue est le francais";break; case "EU": echo "Votre langue est l'anglais";break; case "DE": echo "Votre langue est l'allemand";break; case "IT": echo "Votre langue est l'italien";break; case "ES": echo "Votre langue est l'espagnol";break;
  • 10. default: echo " <form action="test_langue.php" method="post"> <P>Langue parlée ?<br/> <input type="radio" NAME="langue" value="FR" checked ="checked" />Francais<br/> <input type="radio" NAME="langue" value="EU" />Anglais<br/> <input type="radio" NAME="langue" value="DE" />Allemand<br/> <input type="radio" NAME="langue" value="IT" />Italien<br/> <input type="radio" NAME="langue" value="ES" />Espagnol<br/> <P><input type="submit" value="Envoyer" /> </form> "; break; }?> Quelques fonctions prédéfinies
  • 12. Quelques fonctions tableaux La fonction header La fonction header() permet de faire plusieurs choses et, en particulier, de rediriger vers une autre page. Syntaxe : header("Location: adresse d'une page web"); Exemple : <?php header("Location: http://www.site.com"); ?> Cette fonction doit par contre être utilisée avant d'envoyer des données html, sous peine de produire une erreur. Inclusion d'un autre fichier PHP : include("nom fichier.php") ; Les tableaux (array) - Une variable tableau est de type array. Un tableau accepte des éléments de tout type. Les éléments d’un tableau peuvent être de types différents et sont séparés d’une virgule. - Un tableau peut être initialisé avec la syntaxe array. Exemple :
  • 13. $tab_colors = array(‘red’, ’yellow’, ’blue’, ‘white’); $tab = array(‘foobar’, 2002, 20.5, $name); - Mais Les tableaux associatifs Le PHP permet de gérer des tableaux dont les éléments sont référencés non par des valeurs numériques mais par des chaines de caractères. On appelle ce type de tableau des tableaux associatifs Exemple de tableau associatif Nom MOHAMED Age 30 note 20 $tab[age] vaut 30
  • 14. Création d'un tableau associatif <?php $tab["nom"]="MOHAMED"; $tab["age"]=30; $tab["note"]=20; echo "Votre nom : ".$tab["nom"]; // ceci affiche Votre nom : MOHAMED ?> ou <?php $tab=array( "nom"=>"MOHAMED", "age"=>30, "note"=>20 ); echo $tab["nom"]; // ceci affiche MOHAMED ?> Parcourir un tableau associatif La fonction foreach foreach($variable_tableau as $key => $value) { commandes...} Sur le tableau désigné ($variable_tableau) on récupère la clé dans $Key et la valeur dans $value. <?php $fich = array ( "nom" => "LARBI", "prenom" => "MOHAMED", "maill" => "mohamed.larbi@gmail.com", "age" => 22); foreach($fich as $cle => $val) {
  • 15. echo "Votre $cle $val <br/>"; }?> Votre nom Larbi Votre prenom Mohamed Votre mail mohamed.larbi@gmail.com Votre age 22
  • 16. Principe d'accès à une base MySQL Cinq étapes : 1 Connexion au SGBD. 2 Sélection d'une base. 3 Envoi d'une requête. 4 Récupération et utilisation du résultat. 5 Fermeture de la connexion. Se connecter au serveur MySQL mysql_connect($server,$user,$password): permet de se connecter au serveur $server en tant qu’utilisateur $user avec le mot de passe $password, retourne l’identifiant de connexion si succès, FALSEmysql_connect retourne un identifiant positif de connexion (différent de 0) en cas de succès, et sinon FALSE (c’est à dire 0). • Choisir une base de données parmi celles disponibles • Passer des requêtes SQL via des primitives MySQL_query.... • Fermer la connexion • mysql_connect connexion • mysql_select_db choix d'une base • mysql_query requête SQL • mysql_close déconnexion Connexion - Deconnexion au serveur MySQL Pratique Connexion au serveur MySQL
  • 17. Ouvrir l'application « NotePad++». Créer un nouveau script PHP. Saisir le script suivant <?php $username = "root"; $password = ""; $hostname = "localhost"; // Connexion au serveur $link = mysql_connect ($hostname , $username, $password) or die ("Connexion impossible"); echo "Connexion réussie.<BR>n"; echo "Ressource de connexion : $link<BR>n"; // Déconnexion mysql_close($link); ?> Enregistrer ce script sous le nom « connexion.php». « die(message)» : la fonction termine l'exécution du script courant et renvoie le message donné en argument. On peut la remplacer par « exit». Sélectionner une base de données La fonction « mysql_select_db» permet de sélectionner une base de données. Sa syntaxe de base est : « mysql_select_db ( string database_name , resource link_identifier )» avec * database_name : le nom de la base de données, * link_identifier : la ressource de connexion obtenue par la fonction mysql_connect() Si « link_identifier» n'est spécifiée, la dernière connexion est utilisée. Cette fonction retourne TRUE en cas de succès, FALSE en cas d'échec.
  • 18. Compléter « connexion.php» comme ci-dessous : $basename = "test1";; $username = "root"; $password = ""; $hostname = "localhost"; // Connexion au serveur $link = mysql_connect ($hostname , $username, $password) or die ("Connexion impossible"); echo "Connexion réussie.<BR>n"; echo "Ressource de connexion : $link<BR>n"; // Sélection de la base de données mysql_select_db($basename) or die ("Impossible de se connecter à la base".$basename); echo "Base sélectionnée : $basename <BR>n"; // Déconnexion mysql_close($link); La fonction « mysql_query» permet d'envoyer une requête SQL à une base de données MySQL. Sa syntaxe de base est : « mysql_query ( string query , resource link_identifier )» avec : * « query» la requête SQL, * « link_identifier» la ressource de connexion. Si «link_identifier» n'est pas précisée, la dernière connexion est utilisée
  • 20. Exercice Le formulaire de saisie : Appellez ce fichier : form_saisie.html. il faut faire attention à deux choses : • L'appel au script php lors de l'envoi du formulaire saisie.php • les paramètres name donnés aux champs de formulaire...
  • 21. Le script de stockage dans la table
  • 23. Comparaison : Fonctions permettant d’interfacer PHP avec les bases de données MySQL et PostegreSQL PHP/MySQL Les fonctions PHP les plus couramment utilisées pour accéder à une base MySQL sont les suivantes : mysql_connect() pour ouvrir une connexion avec le serveur de base de donnée mysql_select_db() pour changer la base active sur la connexion en cours mysql_query() pour envoyer une requête SQL mysql_close() pour fermer la connexion avec le serveur Les résultats peuvent ensuite être exploités grâce aux fonctions mysql_num_rows() retourne le nombre de résultats renvoyé par la requête mysql_fetch_array() pour transformer une ligne de résultat en tableau indicé mysql_fetch_assoc() pour transformer une ligne de résultat en tableau associatif Application Soit une Table MEMBRES dans la base MaBase ayant le modèle suivant : Nom Prenom Alaoui Mohamed Rochdi Laila
  • 24. Et les données ont été insérées ainsi : insert into’ membres’ (‘nom’,’prenom’) values (‘Alaoui’, ‘Mohamed’) ; insert into’ membres’ (‘nom’,’prenom’) values (‘Rochdi’, ‘Laila’) ; Il ya deux résultats Alaoui Mohamed Rochdi Laila
  • 25. PHP et PostgreSQL PHP dispose également en standard de librairies offrant la possibilité de l'interfacer avec des bases de données PostgreSQL. pg_connect() pour ouvrir une connexion avec le serveur de base de donnée et choisir une base donnée sur un hôte. pg_query() pour envoyer une requête SQL pg_close() pour fermer la connexion avec le serveur. Les résultats peuvent ensuite être exploités grâce aux fonctions pg_num_rows() retourne le nombre de résultats renvoyé par la requête pg_fetch_row() pour transformer une ligne de résultat en tableau indicé Il ya deux résultats
  • 26. Alaoui Mohamed Rochdi laila Sessions HTTP protocole non connecté HTTP n’établit pas de connexion permanente ! 2 requêtes successives d’un même client sont indépendantes pour le serveur. Un serveur peut difficilement suivre le parcours de l’utilisateur dans le site Chaque connexion est vue comme une demande d’un utilisateur différent. Gestion des sessions : Suivi de l’activité du client sur plusieurs pages La notion de session permet d'établir une continuité dans le dialogue client/serveur en gardant la trace de l'authentification de l'utilisateur. En effet le protocole HTTP est un protocole sans état, aucune information n'est stockée entre deux connexions, ou demande de nouvelle page web. La gestion des sessions en PHP s'appuie sur la notion de cookie « donnée stockée par un serveur Web chez un client » Débat éthique COOKIE : fichier écrit sur l'ordinateur de l'internaute par le serveur web, permettant de sauvegarder un contexte de connexion. ce contexte est composé d'une série de variables stockées directement dans le navigateur web du client afin de palier au caractère sans état du protocole http. Et voici désormais comment se réalise la gestion des sessions : A la première connexion le serveur associe un identifiant de session à un internaute Le serveur transmet cet identifiant au client sous la forme d'un cookie
  • 27. Grâce à l'identifiant de session le serveur est en mesure de stocker des informations sur le client A chaque nouvelle connexion HTTP (à chaque nouvelle page demandée) le client transmet son identifiant de session, permettant de suivre les actions du client, de garder trace de sa connexion et de stocker certaines variables associés au client. Les solutions pour mettre en oeuvre viennent des fonctions suivantes : session_start() identifie ou crée la session si existe déjà, recrée toutes les variables PHP associées doit être appelé au début du script PHP Les solutions pour mettre en oeuvre viennent des fonctions suivantes : session_start() identifie ou crée la session si existe déjà, recrée toutes les variables Php associées doit être appelé au début du script PHP session_destroy() détruit les informations associées à la session session_id() renvoie l’identifiant de la session session_register(nomVariable) associe une variable Php à la session. Cette information sera stockée et pourra être retrouvée à chaque session session_unregister(nomVar) supprime une variable de la session
  • 28. session_is_registered(nomVar) test l’existence d’une variable Pour finir de clarifier les choses voilà désormais un exemple, dans le premier fichier, ci-dessous : Lors de la première visite on démarre une session dans laquelle on stocke l'heure de connexion et l'adresse IP. Ensuite quand le client ira sur la page suivante, représentée par le fichier suivant, il sera reconnu grâce à son identifiant de session et on pourra retrouver l'heure de sa connexion, et l'adresse IP depuis laquelle il s'est connecté, ces informations ayant été stockées sur le serveur hébergeant le site web. Le résultat est alors le suivant :
  • 29. Dans notre exemple nous pouvons visualiser les cookies (par exemple sous Mozilla Firefox, en allant dans le menu Outils -->Options -->Vie privée -- >Cookies -->Afficher les cookies) On y voit que le navigateur stocke un identifiant de session PHPSESSID permettant de retrouver les informations concernant le client sur le serveur. Application Récupérer les données utilisateurs Un formulaire très simple permettant l'authentification Comment exploiter les données qui ont été transmises par un utilisateur dans un Code source en HTML :
  • 30. Pour plus de rigueur et plus de sécurité, il est donc préférable d'aller récupérer le contenu des variables dans le tableau associatif $_GET. Les données pourraient aussi venir de la méthode POST ($_POST['']), de cookies ($_COOKIES['']), de sessions ($_SESSION['']), ou bien encore avoir déjà été utilisées dans le script. Et on peut maintenant utiliser ces données pour fabriquer une page HTML fonction du résultat. Voilà pour résumer un petit schéma qui permettra de mieux comprendre : Il peut être utile de conserver des informations d'une page sur l'autre. Par exemple pour :  se souvenir du login de l'utilisateur  se souvenir des références indiquant à quoi l'utilisateur s'intéresse  se souvenir des dernières pages visitées par l'utilisateur etc Jusqu'ici, un seul moyen : utiliser des paramètres et penser à les remettre à chaque lien et dans chaque formulaire Programmation fastidieuse et source de problèmes. Une session peut être vue comme un ensemble d'informations concernant un utilisateur d'un site.  par utilisateur, on entend un navigateur sur une machine
  • 31.  les informations sont conservées entre deux pages  une page PHP peut ajouter ou modifier des informations En PHP, la session est vue comme une variable spéciale appelée $ SESSION : c'est un tableau associatif sa valeur est conservée d'une page sur l'autre