• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
PHP (Partie II) Par Mahdi Ben Alaya
 

PHP (Partie II) Par Mahdi Ben Alaya

on

  • 3,566 views

PARTIE 2 : Développez une application web dynamique et interactive : Comprendre les Sessions et les Cookies. Manipuler les formulaires et leurs éléments. Présenter Mysql, définir une BD, ...

PARTIE 2 : Développez une application web dynamique et interactive : Comprendre les Sessions et les Cookies. Manipuler les formulaires et leurs éléments. Présenter Mysql, définir une BD, Comprendre le langage SQL et Apprendre à manipuler phpMyadmin. Faire la connexion avec la base de données et réaliser des opérations CRUD. Tout ceci accompagné avec des exemples et exercices.

Statistics

Views

Total Views
3,566
Views on SlideShare
3,560
Embed Views
6

Actions

Likes
2
Downloads
230
Comments
3

4 Embeds 6

http://www.slideshare.net 2
http://www.linkedin.com 2
https://www.linkedin.com 1
http://www.slideee.com 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel

13 of 3 previous next Post a comment

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
  • Merci pour ces encouragements fiorellino. Je suis très content de trouver face à moi, malgré la charge d’études, une personne motivée et intéressée par les technologies du web. Vous me donnez envi de travailler et produire plus. En attendant de nous réunir dans de nouvelles formations je vous souhaite une super carrière fiorellino !!
    Are you sure you want to
    Your message goes here
    Processing…
  • Merci mahdi pour cette formation. Elle nous a été d’une grande utilité.
    Suite à cette formation mes connaissances en PHP se sont enrichies et surtout éclaircies. Je te souhaite bon courage pour ta vie professionnelle. Je profite pour t’inviter à assurer d’autres formations pour JuniorENSI car vous assurez en matière de communication.
    Are you sure you want to
    Your message goes here
    Processing…
  • PARTIE 2 : Développez une application web dynamique et interactive : Comprendre les Sessions et les Cookies. Manipuler les formulaires et leurs éléments. Présenter Mysql, définir une BD, Comprendre le langage SQL et Apprendre à manipuler phpMyadmin. Faire la connexion avec la base de données et réaliser des opérations CRUD. Tout ceci accompagné avec des exemples et exercices.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    PHP (Partie II) Par Mahdi Ben Alaya PHP (Partie II) Par Mahdi Ben Alaya Presentation Transcript

    • 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
      • Le support des sessions en PHP est un moyen de préserver des données, relatives au visiteur, entre plusieurs accès.
      • Elles permettent de stocker des types de données simples (texte, nombres, …) mais pas de ressources comme des images ou BD.
    • Pourquoi utiliser les sessions ?
      Pour conserver, de page en page, les valeurs de certaines variables.
      Pour pister le parcours du visiteur.
      Pour effectuer des statistiques fines en termes de visiteurs réels et pas en hits (nombre d'appel d'un fichier).
      6
    • 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 n'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>
      • La balise FORM permet de regrouper plusieurs éléments de formulaire (boutons, champs de saisie,...) et possède les attributs ACTIONet METHOD.
    • La balise FORM
      La valeur POST : correspond à un envoi de données stockées dans le corps de la requête.
      La valeur GET : correspond à un envoi des données codées dans l'URL, et séparées de l'adresse du script par un «?».
      Exemple: http://www.facebook.com/index.php?id=1
      21
      1 – L’attribut : METHOD
      • Il indique la méthode avec laquelle seront envoyées les données.
    • La balise FORM
      ACTION indique l'adresse de réception, c’est-à-dire la page qui va recevoir les données.
      22
      2 – L’attribut : ACTION
      <formaction="page.php"method="post">

      </form>
    • Les balises du formulaires
      • INPUT: Champs de saisie de texte et différents types de boutons .
      • SELECT : Listes menus déroulants et ascenseurs.
      • TEXTAREA : Zone de saisie de texte libre.
      23
    • 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
      • Dans la page de réception, les informations entrées dans un formulaire sont récupérées sous forme d’une variable de type ARRAY dont le nom dépend de la méthode d'envoi du formulaire POST ou GET.
      28
      • $_POST['name'] Si method=POST
      • $_GET['name'] Si method=GET
    • Manipulation des formulaires
      • Les données envoyées sont indexées dans le tableau $_POST (resp$_GET) par rapport a la valeur de leurs attributs name.
      29
      <formaction= 'acceuil.php'method='post' >
      <input name= "prenom" type="text" />
      <input type="submit" value="Envoi" />
      </form>
      Hamma
      Login.php
      <?php
      echo Bonjour . " " . $_POST['prenom'] ;
      ?>
      Bonjour Hamma
      accueil.php
    • Exercice « Somme »
      30
    • Exercice « Somme »
      31
      • Créez une page web qui permet de saisir deux entier et qui affiche la somme dans une nouvelle page.
      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
      • Créez une page web qui permet de sélectionner un produit à partir d’une liste, choisir la quantité et qui affiche la commande dans une nouvelle page.
      Vous avez commandé X Eléments
      choix.php
      commande.php
    • 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
      • Créez une page web qui permet de saisir un password. Si password = admin alors on affiche une page d’accueil sinon on renvoi vers une page d’erreur.
      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
      • Mysql est un serveurde Gestion de Base de Données (SGBD) gratuit le plus populaire au monde.
      • C’est un ensemble de logiciels qui manipulent le contenu des bases de données. Il sert à effectuer les opérations ordinaires telles que rechercher, ajouter ou supprimer des enregistrements (CRUD).
    • Définition
      43
      • Une Base de Données (BD) est un stock d'informations organisé et structuré de manière à pouvoir manipulé facilement et efficacement de très grandes quantités d'informations.
    • Schéma d’une BD
      44
      Base de données
      Table
      Table
      Table
    • Les requêtes SQL
      • Création d’une table
      CREATE TABLE NomTable(
      NomColonne1 Type_de_données,
      NomColonne2 Type_de_données,
      NomColonneNType_de_données
      )
      45
    • Les requêtes SQL
      • Sélection
      SELECT Champ1,ChampNFROMNomTableWHERE Champ3='val';
      • Insertion
      INSERT INTO NomTable(Champ1,ChampN)VALUES (Val1,ValN);
      • Modification
      UPDATENomTableSET Champ1 = 'Val1',ChampN = 'ValN' ;
      • Suppression
      DELETE FROM NomTableWHERE conditions ;
      46
    • L’interface PHP MyAdmin
      47
    • Présentation de phpMyAdmin
      48
      • phpMyAdmin est un ensemble de pages PHP. Ce n'est pas un programme, mais des pages PHP toutes prêtes dont on se sert pour manipuler facilement notre base et gagner du temps.
    • L’interface phpMyAdmin
      49
    • 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");
      • mysql_query() estunefonction PHP qui permetd’envoyer des requêtes SQL à un serveurMySQL.
      • 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()
      • La ressource $resultatretournée contient un tableau d’enregistrements c’est-à-dire une matrice.
      $resultat = mysql_query(“SELECT nom, prenom FROM etudiant");
      $resultat
      57
    • La fonction mysql_fetch_array()
      • Pour extraire les enregistrements un par un on utilise la fonction mysql_fetch_array().
      $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
      • isset() : testel’existenced’une variable ( savoir si une variable a été définie ou non).
      • is_empty() or empty() : indique qu’un champ d’un formulaire a été rempli ou non.
      60
    • TP « Mini Chat » 
      61
    • TP « Mini Chat » 
      • Réalisez un Mini Chat, vousallez commencer par la conception de la base de donnéespuiscréer les pages statiquesensuite faire le script phpnécessaire.
      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
    • Merci pour votre attention
      68