SlideShare una empresa de Scribd logo
1 de 68
1 Lelangage PHP (partie II) Présentation réalisée par : Mahdi BEN ALAYA Elève-ingénieur à l’ENSI & Secrétaire Général  du club Junior ENSI Entreprise (2008) Version : 22-11-2009
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. MarouenOmmezzine et M. WassimeAbbessi qui ont assuré les formations Web2.0 et PHP pour les années 2007 et 2008 au sein du club Junior ENSI Entreprise. 2
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
Les Sessions 4
Les sessions 5 ,[object Object]
Elles permettent de stocker des types de données simples (texte, nombres, …) mais pas de ressources comme des images ou BD.,[object Object]
Démarrer une session 7 <?phpsession_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éé. Cette fonction permet de créer un tableau $_SESSION qui sera remplie par les variable de session. Aucuncode HTML avant le démarrage d'une session !!
Créer une variable de session 8 <?php$_SESSION['variable']=$valeur ;?> Nous créons ici une variable de session nommée variable qui vaut $valeur. Les variables de sessions sont accessibles, une fois que la session est démarrée via un tableau super global $_SESSION
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 sessionexiste ou non.
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.
Détruire toutes les variables de session 11 <?phpsession_unset(); ?> Détruire une session <?phpsession_destroy(); ?>
Les cookies 12
Qu'est-ce qu'un cookie ? 13 Un cookie est un fichier que le serveur envoiesur 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émarrerExécuter et taper Cookies.
Créer un Cookie 14 <?phpsetcookie(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.
Créer un Cookie 15 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. <?php// génère le cookie $contenu = 'léon'; // le contenu de votre cookie setcookie("nom_cookie",$contenu, time()+36000); ?>
Retrouver la valeur d'un cookie 16 L'exemple ci-dessous test l'existence d'un cookie appelé "nom_cookie" et affiche si le cookie existe ou n'existe pas. <?php if (isset($_COOKIE["nom_cookie"])) echo'Le cookie existe ' . $_COOKIE["nom_cookie"]; else echo'Le cookie namp;apos;existe pas'; ?>
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.
Les Formulaires 18
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
La balise FORM 20 <FORM ACTION="valeur"  METHOD ="valeur"> 	…  </FORM> ,[object Object],[object Object],[object Object]
Les balises du formulaires ,[object Object]
SELECT : Listes menus déroulants et ascenseurs.
TEXTAREA : Zone de saisie de texte libre. 23
La balise INPUT 24
25 La balise INPUT
La balise SELECT 26
La balise TEXTAREA 27 <textareaname="comm" rows=10 cols=40>Tapez vos commentaires ici</textarea>
Manipulation des formulaires ,[object Object],28 ,[object Object]
$_GET['name'] Si method=GET,[object Object]
Exercice « Somme » 30
Exercice « Somme » 31 ,[object Object],A B C A + B = C formulaire.php somme.php
Solution de « Somme » <formaction= 'somme.php'method= 'GET' >	 A:<input name="a" type="text"/> B:<input name="b"  type="text" /> 	<input type="submit" value="Envoyer"/> </form>  formulaire.php $_GET(a => valeurA, b => valeurB) <?php $somme=$_GET['a']+$_GET['b'] ; echo"la somme est " ,$somme ; ?> somme.php 32
Exercice « Commande » 33
Exercice « Commande » 34 ,[object Object],Vous avez commandé X Eléments choix.php commande.php
Solution de « Commande » 35 <body>  <h4>Faite votre commande</h4>  <formaction="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
Solution de « Commande » 36 <?php $quantity=$_POST['quantity'] ; $item =$_POST['item'] ; echo"Vous avez commandé ". $quantity." ".$item ; ?> Commande.php
Exercice « Login » 37
Exercice « Login » 38 ,[object Object],Bonjour Admin  accueil.php Password = admin Password : login.php Password incorrecte  Password != admin erreur.php
Solution de « Login » 39 accueil.php Bonjour Admin  Password : Script de Vérification et de redirection Password = admin Password incorrecte  Password != admin login.php verif.php erreur.php
Solution de « Login » 40 <formaction=" verif.php" method="POST"> Pass:<input type="password" name="pass"  /><br/>   <input type="submit" value="Envoyer "/> </form>  <?php       if ($_POST['pass']== "admin"){ header('Location: accueil.php');       }else{                header('Location: erreur.php');       } ?> Bonjour Admin  login.php verif.php accueil.php Password incorrecte  erreur.php
Présentation de MySQL 41
Présentation de MySQL 42 ,[object Object]
 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).,[object Object],[object Object]
Les requêtes SQL ,[object Object],CREATE TABLE NomTable( 	NomColonne1 	Type_de_données, 	NomColonne2 	 Type_de_données, NomColonneNType_de_données ) 45
Les requêtes SQL ,[object Object],SELECT Champ1,ChampNFROMNomTableWHERE Champ3='val'; ,[object Object],INSERT INTO NomTable(Champ1,ChampN)VALUES (Val1,ValN); ,[object Object],UPDATENomTableSET Champ1 = 'Val1',ChampN = 'ValN' ; ,[object Object],DELETE FROM NomTableWHERE conditions ; 46
L’interface PHP MyAdmin 47
Présentation de phpMyAdmin 48 ,[object Object],[object Object]
L’interface phpMyAdmin 50
L’interface phpMyAdmin 51
L’interface phpMyAdmin 52
Connexion à une BD 53
Connexion à une BD 1 Bd Script.php (Requête SQL) Table Serveur BD IP Server User  Password Nom BD + Privilège Nom Table Nom champ 54
Fonctions PHP pour la connexion IP Server User  Password mysql_connect("IP Server","User","Password"); Nom BD + Privilège mysql_select_db("Nom BD"); Nom Table $resultat  = mysql_query("Requête SQL"); Nom champ Gestion des exceptions Die("msgd’erreur"); Fermer la connexion mysql_close(); 55
La fonctionmysql_query() $resultat = mysql_query("Requête SQL"); ,[object Object]
Pour les requêtes de type SELECT , mysql_Query() retournera une ressourceen 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.56
La fonction mysql_query() ,[object Object],$resultat = mysql_query(“SELECT nom, prenom FROM etudiant"); $resultat 57
La fonction mysql_fetch_array() ,[object Object],$row= mysql_fetch_array($resultat) ; nom prenom $row  $resultat 58
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); } 59
Fonctions utiles ,[object Object]
is_empty() or empty() : indique qu’un champ d’un formulaire a été rempli ou non.60
TP « Mini Chat »   61
TP « Mini Chat »  ,[object Object],62
Solution du « Mini Chat »  1 - Le formulaire 2 - Insertion msg 3 - Affichage des msg Commentaire minichat.php bdChat 63
BD & Tables  64
Le Formulaire  65
Insertion de msg dans la BD  66
Affichage des messages  67

Más contenido relacionado

La actualidad más candente

e-Learning - Quoi ? Pourquoi ? Vraiment ? Comment ?
e-Learning - Quoi ? Pourquoi ? Vraiment ? Comment ?e-Learning - Quoi ? Pourquoi ? Vraiment ? Comment ?
e-Learning - Quoi ? Pourquoi ? Vraiment ? Comment ?Laurent
 
Uml : Diagrammes de Cas dutilisation -- Modele preliminaire -- 23
Uml : Diagrammes de Cas dutilisation -- Modele preliminaire -- 23Uml : Diagrammes de Cas dutilisation -- Modele preliminaire -- 23
Uml : Diagrammes de Cas dutilisation -- Modele preliminaire -- 23megaplanet20
 
Methodes de gestion de projets - introduction au processus unifié
Methodes de gestion de projets - introduction au processus unifiéMethodes de gestion de projets - introduction au processus unifié
Methodes de gestion de projets - introduction au processus unifiéMireille Blay-Fornarino
 
Examen principal + Correction ASD
Examen principal + Correction ASDExamen principal + Correction ASD
Examen principal + Correction ASDInes Ouaz
 
Introduction à JavaScript
Introduction à JavaScriptIntroduction à JavaScript
Introduction à JavaScriptAbdoulaye Dieng
 
La gestion des comptes d’une agence bancaire
La gestion des comptes d’une agence bancaireLa gestion des comptes d’une agence bancaire
La gestion des comptes d’une agence bancaireWalid Aitisha
 
Examen principal - PHP
Examen principal - PHPExamen principal - PHP
Examen principal - PHPInes Ouaz
 
SITE WEB DE E-COMMERCE AVEC HAUTE DISPONIBILITÉ ET PAIEMENT EN LIGNE AVEC EXP...
SITE WEB DE E-COMMERCE AVEC HAUTE DISPONIBILITÉ ET PAIEMENT EN LIGNE AVEC EXP...SITE WEB DE E-COMMERCE AVEC HAUTE DISPONIBILITÉ ET PAIEMENT EN LIGNE AVEC EXP...
SITE WEB DE E-COMMERCE AVEC HAUTE DISPONIBILITÉ ET PAIEMENT EN LIGNE AVEC EXP...Borel NZOGANG
 
Un exemple élémentaire d'application MVC en PHP
Un exemple élémentaire d'application MVC en PHPUn exemple élémentaire d'application MVC en PHP
Un exemple élémentaire d'application MVC en PHPKristen Le Liboux
 
Chapitre 3 elements de base de java
Chapitre 3  elements de base de javaChapitre 3  elements de base de java
Chapitre 3 elements de base de javaAmir Souissi
 
Fondamentaux java
Fondamentaux javaFondamentaux java
Fondamentaux javaInes Ouaz
 
Algorithmique
AlgorithmiqueAlgorithmique
Algorithmiqueelharraj
 
TP2-UML-Correction
TP2-UML-CorrectionTP2-UML-Correction
TP2-UML-CorrectionLilia Sfaxi
 
Cours design pattern m youssfi partie 1 introduction et pattern strategy
Cours design pattern m youssfi partie 1 introduction et pattern strategyCours design pattern m youssfi partie 1 introduction et pattern strategy
Cours design pattern m youssfi partie 1 introduction et pattern strategyENSET, Université Hassan II Casablanca
 
Conception web et ses elements créer un site web
Conception web et ses elements   créer un site webConception web et ses elements   créer un site web
Conception web et ses elements créer un site webStabl Web
 
Algorithmique programmation2018
Algorithmique programmation2018Algorithmique programmation2018
Algorithmique programmation2018salah fenni
 

La actualidad más candente (20)

e-Learning - Quoi ? Pourquoi ? Vraiment ? Comment ?
e-Learning - Quoi ? Pourquoi ? Vraiment ? Comment ?e-Learning - Quoi ? Pourquoi ? Vraiment ? Comment ?
e-Learning - Quoi ? Pourquoi ? Vraiment ? Comment ?
 
Uml : Diagrammes de Cas dutilisation -- Modele preliminaire -- 23
Uml : Diagrammes de Cas dutilisation -- Modele preliminaire -- 23Uml : Diagrammes de Cas dutilisation -- Modele preliminaire -- 23
Uml : Diagrammes de Cas dutilisation -- Modele preliminaire -- 23
 
Methodes de gestion de projets - introduction au processus unifié
Methodes de gestion de projets - introduction au processus unifiéMethodes de gestion de projets - introduction au processus unifié
Methodes de gestion de projets - introduction au processus unifié
 
Examen principal + Correction ASD
Examen principal + Correction ASDExamen principal + Correction ASD
Examen principal + Correction ASD
 
Algorithmique
AlgorithmiqueAlgorithmique
Algorithmique
 
Introduction à JavaScript
Introduction à JavaScriptIntroduction à JavaScript
Introduction à JavaScript
 
La gestion des comptes d’une agence bancaire
La gestion des comptes d’une agence bancaireLa gestion des comptes d’une agence bancaire
La gestion des comptes d’une agence bancaire
 
Examen principal - PHP
Examen principal - PHPExamen principal - PHP
Examen principal - PHP
 
Chapitre 1 rappel
Chapitre 1 rappelChapitre 1 rappel
Chapitre 1 rappel
 
SITE WEB DE E-COMMERCE AVEC HAUTE DISPONIBILITÉ ET PAIEMENT EN LIGNE AVEC EXP...
SITE WEB DE E-COMMERCE AVEC HAUTE DISPONIBILITÉ ET PAIEMENT EN LIGNE AVEC EXP...SITE WEB DE E-COMMERCE AVEC HAUTE DISPONIBILITÉ ET PAIEMENT EN LIGNE AVEC EXP...
SITE WEB DE E-COMMERCE AVEC HAUTE DISPONIBILITÉ ET PAIEMENT EN LIGNE AVEC EXP...
 
Un exemple élémentaire d'application MVC en PHP
Un exemple élémentaire d'application MVC en PHPUn exemple élémentaire d'application MVC en PHP
Un exemple élémentaire d'application MVC en PHP
 
Chapitre 3 elements de base de java
Chapitre 3  elements de base de javaChapitre 3  elements de base de java
Chapitre 3 elements de base de java
 
Fondamentaux java
Fondamentaux javaFondamentaux java
Fondamentaux java
 
Algorithmique
AlgorithmiqueAlgorithmique
Algorithmique
 
TP2-UML-Correction
TP2-UML-CorrectionTP2-UML-Correction
TP2-UML-Correction
 
LES JOINTURES
LES JOINTURESLES JOINTURES
LES JOINTURES
 
Modèle en cascade
Modèle en cascadeModèle en cascade
Modèle en cascade
 
Cours design pattern m youssfi partie 1 introduction et pattern strategy
Cours design pattern m youssfi partie 1 introduction et pattern strategyCours design pattern m youssfi partie 1 introduction et pattern strategy
Cours design pattern m youssfi partie 1 introduction et pattern strategy
 
Conception web et ses elements créer un site web
Conception web et ses elements   créer un site webConception web et ses elements   créer un site web
Conception web et ses elements créer un site web
 
Algorithmique programmation2018
Algorithmique programmation2018Algorithmique programmation2018
Algorithmique programmation2018
 

Destacado

Mini projet individuel php
Mini projet individuel phpMini projet individuel php
Mini projet individuel phpKhadim Mbacké
 
PHP (Partie I) Par Mahdi Ben Alaya
PHP (Partie I) Par Mahdi Ben AlayaPHP (Partie I) Par Mahdi Ben Alaya
PHP (Partie I) Par Mahdi Ben AlayaMahdi Ben Alaya
 
Trucs et astuces PHP et MySQL
Trucs et astuces PHP et MySQLTrucs et astuces PHP et MySQL
Trucs et astuces PHP et MySQLDamien Seguy
 
Javascript in a continuous integration environment
Javascript in a continuous integration environmentJavascript in a continuous integration environment
Javascript in a continuous integration environmentFrederic Dewinne
 
Bases de PHP - Partie 1
Bases de PHP - Partie 1Bases de PHP - Partie 1
Bases de PHP - Partie 1Régis Lutter
 
Php 2 - Approfondissement MySQL, PDO et MVC
Php 2 - Approfondissement MySQL, PDO et MVCPhp 2 - Approfondissement MySQL, PDO et MVC
Php 2 - Approfondissement MySQL, PDO et MVCPierre Faure
 
Eclipse OM2M: Standardized M2M service platform
Eclipse OM2M: Standardized M2M service platformEclipse OM2M: Standardized M2M service platform
Eclipse OM2M: Standardized M2M service platformMahdi Ben Alaya
 
Examen Principal - Fondement Multimedia Janvier 2015
Examen Principal - Fondement Multimedia Janvier 2015Examen Principal - Fondement Multimedia Janvier 2015
Examen Principal - Fondement Multimedia Janvier 2015Ines Ouaz
 
JavaScript pour le développeur Java
JavaScript pour le développeur JavaJavaScript pour le développeur Java
JavaScript pour le développeur Javajollivetc
 
Examen principal - Fondement Multimedia - correction
Examen principal - Fondement Multimedia - correctionExamen principal - Fondement Multimedia - correction
Examen principal - Fondement Multimedia - correctionInes Ouaz
 
Cours php & Mysql - 3éme partie
Cours php & Mysql - 3éme partieCours php & Mysql - 3éme partie
Cours php & Mysql - 3éme partiekadzaki
 
Cours php & Mysql - 2éme partie
Cours php & Mysql - 2éme partieCours php & Mysql - 2éme partie
Cours php & Mysql - 2éme partiekadzaki
 
Kits formation html-les_bases
Kits formation html-les_basesKits formation html-les_bases
Kits formation html-les_baseskitsformation
 
Projet fin annee 2011 master min ISAMM
Projet fin annee 2011 master min ISAMMProjet fin annee 2011 master min ISAMM
Projet fin annee 2011 master min ISAMMAbdelmonem NAAMANE
 
Plateforme e-learning PHP
Plateforme e-learning PHP Plateforme e-learning PHP
Plateforme e-learning PHP Saâd Zerhouni
 

Destacado (20)

Mini projet individuel php
Mini projet individuel phpMini projet individuel php
Mini projet individuel php
 
PHP (Partie I) Par Mahdi Ben Alaya
PHP (Partie I) Par Mahdi Ben AlayaPHP (Partie I) Par Mahdi Ben Alaya
PHP (Partie I) Par Mahdi Ben Alaya
 
Trucs et astuces PHP et MySQL
Trucs et astuces PHP et MySQLTrucs et astuces PHP et MySQL
Trucs et astuces PHP et MySQL
 
Javascript in a continuous integration environment
Javascript in a continuous integration environmentJavascript in a continuous integration environment
Javascript in a continuous integration environment
 
Bases de PHP - Partie 1
Bases de PHP - Partie 1Bases de PHP - Partie 1
Bases de PHP - Partie 1
 
Php 2 - Approfondissement MySQL, PDO et MVC
Php 2 - Approfondissement MySQL, PDO et MVCPhp 2 - Approfondissement MySQL, PDO et MVC
Php 2 - Approfondissement MySQL, PDO et MVC
 
Eclipse OM2M: Standardized M2M service platform
Eclipse OM2M: Standardized M2M service platformEclipse OM2M: Standardized M2M service platform
Eclipse OM2M: Standardized M2M service platform
 
Examen Principal - Fondement Multimedia Janvier 2015
Examen Principal - Fondement Multimedia Janvier 2015Examen Principal - Fondement Multimedia Janvier 2015
Examen Principal - Fondement Multimedia Janvier 2015
 
JavaScript pour le développeur Java
JavaScript pour le développeur JavaJavaScript pour le développeur Java
JavaScript pour le développeur Java
 
Examen principal - Fondement Multimedia - correction
Examen principal - Fondement Multimedia - correctionExamen principal - Fondement Multimedia - correction
Examen principal - Fondement Multimedia - correction
 
Php & My Sql
Php & My SqlPhp & My Sql
Php & My Sql
 
Cours php & Mysql - 3éme partie
Cours php & Mysql - 3éme partieCours php & Mysql - 3éme partie
Cours php & Mysql - 3éme partie
 
Cours php & Mysql - 2éme partie
Cours php & Mysql - 2éme partieCours php & Mysql - 2éme partie
Cours php & Mysql - 2éme partie
 
Cours JavaScript
Cours JavaScriptCours JavaScript
Cours JavaScript
 
Kits formation html-les_bases
Kits formation html-les_basesKits formation html-les_bases
Kits formation html-les_bases
 
Presentation forum php 2010
Presentation forum php 2010Presentation forum php 2010
Presentation forum php 2010
 
Cours PHP avancé
Cours PHP avancéCours PHP avancé
Cours PHP avancé
 
Projet fin annee 2011 master min ISAMM
Projet fin annee 2011 master min ISAMMProjet fin annee 2011 master min ISAMM
Projet fin annee 2011 master min ISAMM
 
Réussir son site web grâce au cahier des charges
Réussir son site web grâce au cahier des chargesRéussir son site web grâce au cahier des charges
Réussir son site web grâce au cahier des charges
 
Plateforme e-learning PHP
Plateforme e-learning PHP Plateforme e-learning PHP
Plateforme e-learning PHP
 

Similar a PHP (Partie II) Par Mahdi Ben Alaya

Introduction au langage PHP (2éme partie) élaborée par Marouan OMEZZINE
Introduction au langage PHP (2éme partie) élaborée par Marouan OMEZZINEIntroduction au langage PHP (2éme partie) élaborée par Marouan OMEZZINE
Introduction au langage PHP (2éme partie) élaborée par Marouan OMEZZINEMarouan OMEZZINE
 
Jump Camp - HTML5
Jump Camp - HTML5Jump Camp - HTML5
Jump Camp - HTML5chaudavid
 
Formation PHP
Formation PHPFormation PHP
Formation PHPkemenaran
 
Symfony2 - Un Framework PHP 5 Performant
Symfony2 - Un Framework PHP 5 PerformantSymfony2 - Un Framework PHP 5 Performant
Symfony2 - Un Framework PHP 5 PerformantHugo Hamon
 
Site Web Centrale Eco
Site Web   Centrale EcoSite Web   Centrale Eco
Site Web Centrale Ecom.dubucq
 
Presentation Spring, Spring MVC
Presentation Spring, Spring MVCPresentation Spring, Spring MVC
Presentation Spring, Spring MVCNathaniel Richand
 
Quoi de neuf dans Zend Framework 1.10 ?
Quoi de neuf dans Zend Framework 1.10 ?Quoi de neuf dans Zend Framework 1.10 ?
Quoi de neuf dans Zend Framework 1.10 ?Mickael Perraud
 
Rest pour l'interopérabilité
Rest pour l'interopérabilitéRest pour l'interopérabilité
Rest pour l'interopérabilitépeportier
 
Structurer ses travaux SAS à l'aide de pages HTML, Joël Rivest
Structurer ses travaux SAS à l'aide de  pages HTML, Joël RivestStructurer ses travaux SAS à l'aide de  pages HTML, Joël Rivest
Structurer ses travaux SAS à l'aide de pages HTML, Joël Rivestsasreference
 
Publication de documents sur le Web
Publication de documents sur le WebPublication de documents sur le Web
Publication de documents sur le WebSaïd Radhouani
 

Similar a PHP (Partie II) Par Mahdi Ben Alaya (20)

Introduction au langage PHP (2éme partie) élaborée par Marouan OMEZZINE
Introduction au langage PHP (2éme partie) élaborée par Marouan OMEZZINEIntroduction au langage PHP (2éme partie) élaborée par Marouan OMEZZINE
Introduction au langage PHP (2éme partie) élaborée par Marouan OMEZZINE
 
Jump Camp - HTML5
Jump Camp - HTML5Jump Camp - HTML5
Jump Camp - HTML5
 
Introduction à PHP
Introduction à PHPIntroduction à PHP
Introduction à PHP
 
Cours Php
Cours PhpCours Php
Cours Php
 
Cours Php
Cours PhpCours Php
Cours Php
 
Formation PHP
Formation PHPFormation PHP
Formation PHP
 
Symfony2 - Un Framework PHP 5 Performant
Symfony2 - Un Framework PHP 5 PerformantSymfony2 - Un Framework PHP 5 Performant
Symfony2 - Un Framework PHP 5 Performant
 
Documents intéractifs
Documents intéractifsDocuments intéractifs
Documents intéractifs
 
Site Web Centrale Eco
Site Web   Centrale EcoSite Web   Centrale Eco
Site Web Centrale Eco
 
Spring 3.0
Spring 3.0Spring 3.0
Spring 3.0
 
Presentation Spring, Spring MVC
Presentation Spring, Spring MVCPresentation Spring, Spring MVC
Presentation Spring, Spring MVC
 
Quoi de neuf dans Zend Framework 1.10 ?
Quoi de neuf dans Zend Framework 1.10 ?Quoi de neuf dans Zend Framework 1.10 ?
Quoi de neuf dans Zend Framework 1.10 ?
 
Rest pour l'interopérabilité
Rest pour l'interopérabilitéRest pour l'interopérabilité
Rest pour l'interopérabilité
 
Mpdf 9
Mpdf 9Mpdf 9
Mpdf 9
 
Structurer ses travaux SAS à l'aide de pages HTML, Joël Rivest
Structurer ses travaux SAS à l'aide de  pages HTML, Joël RivestStructurer ses travaux SAS à l'aide de  pages HTML, Joël Rivest
Structurer ses travaux SAS à l'aide de pages HTML, Joël Rivest
 
La première partie de la présentation PHP
La première partie de la présentation PHPLa première partie de la présentation PHP
La première partie de la présentation PHP
 
Présentation WPF
Présentation  WPFPrésentation  WPF
Présentation WPF
 
Association 2 0
Association 2 0Association 2 0
Association 2 0
 
Intro appli facebook_v1.1
Intro appli facebook_v1.1Intro appli facebook_v1.1
Intro appli facebook_v1.1
 
Publication de documents sur le Web
Publication de documents sur le WebPublication de documents sur le Web
Publication de documents sur le Web
 

PHP (Partie II) Par Mahdi Ben Alaya

  • 1. 1 Lelangage PHP (partie II) Présentation réalisée par : Mahdi BEN ALAYA Elève-ingénieur à l’ENSI & Secrétaire Général du club Junior ENSI Entreprise (2008) Version : 22-11-2009
  • 2. 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. MarouenOmmezzine et M. WassimeAbbessi qui ont assuré les formations Web2.0 et PHP pour les années 2007 et 2008 au sein du club Junior ENSI Entreprise. 2
  • 3. 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
  • 5.
  • 6.
  • 7. Démarrer une session 7 <?phpsession_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éé. Cette fonction permet de créer un tableau $_SESSION qui sera remplie par les variable de session. Aucuncode HTML avant le démarrage d'une session !!
  • 8. Créer une variable de session 8 <?php$_SESSION['variable']=$valeur ;?> Nous créons ici une variable de session nommée variable qui vaut $valeur. Les variables de sessions sont accessibles, une fois que la session est démarrée via un tableau super global $_SESSION
  • 9. 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 sessionexiste ou non.
  • 10. 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.
  • 11. Détruire toutes les variables de session 11 <?phpsession_unset(); ?> Détruire une session <?phpsession_destroy(); ?>
  • 13. Qu'est-ce qu'un cookie ? 13 Un cookie est un fichier que le serveur envoiesur 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émarrerExécuter et taper Cookies.
  • 14. Créer un Cookie 14 <?phpsetcookie(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.
  • 15. Créer un Cookie 15 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. <?php// génère le cookie $contenu = 'léon'; // le contenu de votre cookie setcookie("nom_cookie",$contenu, time()+36000); ?>
  • 16. Retrouver la valeur d'un cookie 16 L'exemple ci-dessous test l'existence d'un cookie appelé "nom_cookie" et affiche si le cookie existe ou n'existe pas. <?php if (isset($_COOKIE["nom_cookie"])) echo'Le cookie existe ' . $_COOKIE["nom_cookie"]; else echo'Le cookie namp;apos;existe pas'; ?>
  • 17. 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.
  • 19. 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
  • 20.
  • 21.
  • 22. SELECT : Listes menus déroulants et ascenseurs.
  • 23. TEXTAREA : Zone de saisie de texte libre. 23
  • 25. 25 La balise INPUT
  • 27. La balise TEXTAREA 27 <textareaname="comm" rows=10 cols=40>Tapez vos commentaires ici</textarea>
  • 28.
  • 29.
  • 31.
  • 32. Solution de « Somme » <formaction= 'somme.php'method= 'GET' > A:<input name="a" type="text"/> B:<input name="b" type="text" /> <input type="submit" value="Envoyer"/> </form> formulaire.php $_GET(a => valeurA, b => valeurB) <?php $somme=$_GET['a']+$_GET['b'] ; echo"la somme est " ,$somme ; ?> somme.php 32
  • 34.
  • 35. Solution de « Commande » 35 <body> <h4>Faite votre commande</h4> <formaction="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
  • 36. Solution de « Commande » 36 <?php $quantity=$_POST['quantity'] ; $item =$_POST['item'] ; echo"Vous avez commandé ". $quantity." ".$item ; ?> Commande.php
  • 38.
  • 39. Solution de « Login » 39 accueil.php Bonjour Admin  Password : Script de Vérification et de redirection Password = admin Password incorrecte  Password != admin login.php verif.php erreur.php
  • 40. Solution de « Login » 40 <formaction=" verif.php" method="POST"> Pass:<input type="password" name="pass" /><br/> <input type="submit" value="Envoyer "/> </form> <?php if ($_POST['pass']== "admin"){ header('Location: accueil.php'); }else{ header('Location: erreur.php'); } ?> Bonjour Admin  login.php verif.php accueil.php Password incorrecte  erreur.php
  • 42.
  • 43.
  • 44.
  • 45.
  • 47.
  • 52. Connexion à une BD 1 Bd Script.php (Requête SQL) Table Serveur BD IP Server User Password Nom BD + Privilège Nom Table Nom champ 54
  • 53. Fonctions PHP pour la connexion IP Server User Password mysql_connect("IP Server","User","Password"); Nom BD + Privilège mysql_select_db("Nom BD"); Nom Table $resultat = mysql_query("Requête SQL"); Nom champ Gestion des exceptions Die("msgd’erreur"); Fermer la connexion mysql_close(); 55
  • 54.
  • 55. Pour les requêtes de type SELECT , mysql_Query() retournera une ressourceen cas de succès ou FALSE en cas d'erreur.
  • 56. 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.56
  • 57.
  • 58.
  • 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); } 59
  • 60.
  • 61. is_empty() or empty() : indique qu’un champ d’un formulaire a été rempli ou non.60
  • 63.
  • 64. Solution du « Mini Chat »  1 - Le formulaire 2 - Insertion msg 3 - Affichage des msg Commentaire minichat.php bdChat 63
  • 67. Insertion de msg dans la BD  66
  • 69. Merci pour votre attention 68