SlideShare une entreprise Scribd logo
1  sur  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

Contenu connexe

Tendances

Alphorm.com Formation Hacking et Sécurité, l'essentiel
Alphorm.com Formation Hacking et Sécurité, l'essentielAlphorm.com Formation Hacking et Sécurité, l'essentiel
Alphorm.com Formation Hacking et Sécurité, l'essentielAlphorm
 
Alphorm.com Formation Réseaux Cisco 2/2 : Maîtriser la sécurité
Alphorm.com Formation Réseaux Cisco 2/2 : Maîtriser la sécuritéAlphorm.com Formation Réseaux Cisco 2/2 : Maîtriser la sécurité
Alphorm.com Formation Réseaux Cisco 2/2 : Maîtriser la sécuritéAlphorm
 
Introduction à React JS
Introduction à React JSIntroduction à React JS
Introduction à React JSAbdoulaye Dieng
 
Telecharger Exercices corrigés PL/SQL
Telecharger Exercices corrigés PL/SQLTelecharger Exercices corrigés PL/SQL
Telecharger Exercices corrigés PL/SQLwebreaker
 
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
 
Socket tcp ip client server on langace c
Socket tcp ip client server on langace c Socket tcp ip client server on langace c
Socket tcp ip client server on langace c mouad Lousimi
 
Chp2 - Vers les Architectures Orientées Services
Chp2 - Vers les Architectures Orientées ServicesChp2 - Vers les Architectures Orientées Services
Chp2 - Vers les Architectures Orientées ServicesLilia Sfaxi
 
Formation PHP
Formation PHPFormation PHP
Formation PHPkemenaran
 
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...ENSET, Université Hassan II Casablanca
 
Android-Tp4: stockage
Android-Tp4: stockageAndroid-Tp4: stockage
Android-Tp4: stockageLilia Sfaxi
 
Cours php & Mysql - 1ére partie
Cours php & Mysql - 1ére partieCours php & Mysql - 1ére partie
Cours php & Mysql - 1ére partiekadzaki
 
Sécurité des Applications WEB -LEVEL1
 Sécurité des Applications WEB-LEVEL1 Sécurité des Applications WEB-LEVEL1
Sécurité des Applications WEB -LEVEL1Tarek MOHAMED
 
Gestion des threads
Gestion des threadsGestion des threads
Gestion des threadsSana Aroussi
 
HTML 5 - intro - en francais
HTML 5 - intro - en francaisHTML 5 - intro - en francais
HTML 5 - intro - en francaisVlad Posea
 
Architectures orientés services (SOA)
Architectures orientés services (SOA)Architectures orientés services (SOA)
Architectures orientés services (SOA)Heithem Abbes
 

Tendances (20)

Cours php
Cours php Cours php
Cours php
 
Alphorm.com Formation Hacking et Sécurité, l'essentiel
Alphorm.com Formation Hacking et Sécurité, l'essentielAlphorm.com Formation Hacking et Sécurité, l'essentiel
Alphorm.com Formation Hacking et Sécurité, l'essentiel
 
Alphorm.com Formation Réseaux Cisco 2/2 : Maîtriser la sécurité
Alphorm.com Formation Réseaux Cisco 2/2 : Maîtriser la sécuritéAlphorm.com Formation Réseaux Cisco 2/2 : Maîtriser la sécurité
Alphorm.com Formation Réseaux Cisco 2/2 : Maîtriser la sécurité
 
Cours JavaScript
Cours JavaScriptCours JavaScript
Cours JavaScript
 
Introduction à React JS
Introduction à React JSIntroduction à React JS
Introduction à React JS
 
Telecharger Exercices corrigés PL/SQL
Telecharger Exercices corrigés PL/SQLTelecharger Exercices corrigés PL/SQL
Telecharger Exercices corrigés PL/SQL
 
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
 
Socket tcp ip client server on langace c
Socket tcp ip client server on langace c Socket tcp ip client server on langace c
Socket tcp ip client server on langace c
 
Chp2 - Vers les Architectures Orientées Services
Chp2 - Vers les Architectures Orientées ServicesChp2 - Vers les Architectures Orientées Services
Chp2 - Vers les Architectures Orientées Services
 
Support developpement applications mobiles avec ionic v3 et v4
Support developpement applications mobiles avec ionic v3 et v4Support developpement applications mobiles avec ionic v3 et v4
Support developpement applications mobiles avec ionic v3 et v4
 
Formation PHP
Formation PHPFormation PHP
Formation PHP
 
Support de cours Spring M.youssfi
Support de cours Spring  M.youssfiSupport de cours Spring  M.youssfi
Support de cours Spring M.youssfi
 
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
 
Android-Tp4: stockage
Android-Tp4: stockageAndroid-Tp4: stockage
Android-Tp4: stockage
 
Cours php & Mysql - 1ére partie
Cours php & Mysql - 1ére partieCours php & Mysql - 1ére partie
Cours php & Mysql - 1ére partie
 
Sécurité des Applications WEB -LEVEL1
 Sécurité des Applications WEB-LEVEL1 Sécurité des Applications WEB-LEVEL1
Sécurité des Applications WEB -LEVEL1
 
Gestion des threads
Gestion des threadsGestion des threads
Gestion des threads
 
Spring Boot RestApi.pptx
Spring Boot RestApi.pptxSpring Boot RestApi.pptx
Spring Boot RestApi.pptx
 
HTML 5 - intro - en francais
HTML 5 - intro - en francaisHTML 5 - intro - en francais
HTML 5 - intro - en francais
 
Architectures orientés services (SOA)
Architectures orientés services (SOA)Architectures orientés services (SOA)
Architectures orientés services (SOA)
 

En vedette

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 - Algorithme & Structures de données
Examen principal - Algorithme & Structures de donnéesExamen principal - Algorithme & Structures de données
Examen principal - Algorithme & Structures de donnéesInes Ouaz
 
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
 

En vedette (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 - Algorithme & Structures de données
Examen principal - Algorithme & Structures de donnéesExamen principal - Algorithme & Structures de données
Examen principal - Algorithme & Structures de données
 
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
 
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
 

Similaire à 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
 
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
 
Active Server Pages (ASP)
Active Server Pages (ASP)Active Server Pages (ASP)
Active Server Pages (ASP)Saïd Radhouani
 

Similaire à 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
 
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
 
Active Server Pages (ASP)
Active Server Pages (ASP)Active Server Pages (ASP)
Active Server Pages (ASP)
 

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