PHP (Partie II) Par Mahdi Ben Alaya

3,836 views
3,688 views

Published on

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.

Published in: Technology
3 Comments
2 Likes
Statistics
Notes
  • 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 !!
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • 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.
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • 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.
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total views
3,836
On SlideShare
0
From Embeds
0
Number of Embeds
13
Actions
Shares
0
Downloads
290
Comments
3
Likes
2
Embeds 0
No embeds

No notes for slide

PHP (Partie II) Par Mahdi Ben Alaya

  1. 1. 1<br />Lelangage PHP (partie II)<br />Présentation réalisée par : Mahdi BEN ALAYA<br />Elève-ingénieur à l’ENSI & Secrétaire Général <br />du club Junior ENSI Entreprise (2008)<br />Version : 22-11-2009<br />
  2. 2. Remerciements<br />Avant de commencer, je tiens à présenter mes sincères remerciements à tous ceux qui ont contribué au bon déroulement de cette formation. <br />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.<br />2<br />
  3. 3. Plan<br />Les sessions<br />Les cookies<br />Les formulaires<br />Exercice « Somme »<br />Exercice « Commande »<br />Exercice « Login »<br />Présentation de MySQL<br />Les requêtes SQL<br />L’interface phpMyAdmin<br />Connexion à une base de données<br />TP « Mini chat »<br />3<br />
  4. 4. Les Sessions<br />4<br />
  5. 5. Les sessions<br />5<br /><ul><li> Le support des sessions en PHP est un moyen de préserver des données, relatives au visiteur, entre plusieurs accès.
  6. 6. Elles permettent de stocker des types de données simples (texte, nombres, …) mais pas de ressources comme des images ou BD.</li></li></ul><li>Pourquoi utiliser les sessions ?<br />Pour conserver, de page en page, les valeurs de certaines variables.<br />Pour pister le parcours du visiteur.<br />Pour effectuer des statistiques fines en termes de visiteurs réels et pas en hits (nombre d&apos;appel d&apos;un fichier).<br />6<br />
  7. 7. Démarrer une session<br />7<br />&lt;?phpsession_start(); ?&gt;<br />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éé.<br />Cette fonction permet de créer un tableau $_SESSION qui sera remplie par les variable de session.<br />Aucuncode HTML avant le démarrage d&apos;une session !!<br />
  8. 8. Créer une variable de session<br />8<br />&lt;?php$_SESSION[&apos;variable&apos;]=$valeur ;?&gt;<br />Nous créons ici une variable de session nommée variable qui vaut $valeur.<br />Les variables de sessions sont accessibles, une fois que la session est démarrée via un tableau super global $_SESSION<br />
  9. 9. Utiliser la valeur d’une variable de session<br />9<br />&lt;?php<br />if(isset($_SESSION[&apos;ensi&apos;])){<br />echo<br />&apos;La variable &quot;ensi&quot; existe : &apos; . $_SESSION[&apos;ensi&apos;];<br /> }<br />?&gt;<br />isset() permet de savoir si une variable de sessionexiste ou non.<br />
  10. 10. Supprimer une variable de session<br />10<br />&lt;?php<br />unset($_SESSION[&apos;variable&apos;]);<br />echo&apos;La variable de session &quot;variable&quot; est détruite&apos;;<br />?&gt;<br />unset() permet de supprimer une variable de session.<br />
  11. 11. Détruire toutes les variables de session<br />11<br />&lt;?phpsession_unset(); ?&gt;<br />Détruire une session<br />&lt;?phpsession_destroy(); ?&gt;<br />
  12. 12. Les cookies<br />12<br />
  13. 13. Qu&apos;est-ce qu&apos;un cookie ?<br />13<br />Un cookie est un fichier que le serveur envoiesur la machine de l&apos;utilisateur. Il est souvent utilisé pour reconnaitre les utilisateurs.<br />Pour explorer le répertoire cookies sous votre machine Windows ; faites DémarrerExécuter et taper Cookies.<br />
  14. 14. Créer un Cookie<br />14<br />&lt;?phpsetcookie(name, value, expire, path, domain); ?&gt;<br />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.<br />
  15. 15. Créer un Cookie<br />15<br />L&apos;exemple ci-dessous génère un cookie appelé &quot;nom_cookie&quot;   , avec pour contenu &quot;Léon&quot; et pendant une période de 10 heures.<br />&lt;?php// génère le cookie $contenu = &apos;léon&apos;; // le contenu de votre cookie setcookie(&quot;nom_cookie&quot;,$contenu, time()+36000); ?&gt;<br />
  16. 16. Retrouver la valeur d&apos;un cookie<br />16<br />L&apos;exemple ci-dessous test l&apos;existence d&apos;un cookie appelé &quot;nom_cookie&quot; et affiche si le cookie existe ou n&apos;existe pas.<br />&lt;?php<br />if (isset($_COOKIE[&quot;nom_cookie&quot;]))<br />echo&apos;Le cookie existe &apos; . $_COOKIE[&quot;nom_cookie&quot;];<br />else<br />echo&apos;Le cookie n&apos;existe pas&apos;;<br />?&gt;<br />
  17. 17. Session VS Cookie<br />17<br />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. <br />
  18. 18. Les Formulaires<br />18<br />
  19. 19. Pourquoi un formulaire ?<br />Un formulaire permet de saisir des données et échanger des informations entres les pages web et la base de données.<br />Ce sont des éléments interactifs permettant de dialoguer avec l’internaute.<br />19<br />
  20. 20. La balise FORM<br />20<br />&lt;FORM ACTION=&quot;valeur&quot; METHOD =&quot;valeur&quot;&gt;<br /> … <br />&lt;/FORM&gt;<br /><ul><li>La balise FORM permet de regrouper plusieurs éléments de formulaire (boutons, champs de saisie,...) et possède les attributs ACTIONet METHOD.</li></li></ul><li>La balise FORM<br />La valeur POST : correspond à un envoi de données stockées dans le corps de la requête.<br />La valeur GET : correspond à un envoi des données codées dans l&apos;URL, et séparées de l&apos;adresse du script par un «?».<br /> Exemple: http://www.facebook.com/index.php?id=1<br />21<br />1 – L’attribut : METHOD<br /><ul><li>Il indique la méthode avec laquelle seront envoyées les données. </li></li></ul><li>La balise FORM<br />ACTION indique l&apos;adresse de réception, c’est-à-dire la page qui va recevoir les données.<br />22<br />2 – L’attribut : ACTION<br />&lt;formaction=&quot;page.php&quot;method=&quot;post&quot;&gt;<br /> …<br />&lt;/form&gt;<br />
  21. 21. Les balises du formulaires<br /><ul><li>INPUT: Champs de saisie de texte et différents types de boutons .
  22. 22. SELECT : Listes menus déroulants et ascenseurs.
  23. 23. TEXTAREA : Zone de saisie de texte libre. </li></ul>23<br />
  24. 24. La balise INPUT<br />24<br />
  25. 25. 25<br />La balise INPUT<br />
  26. 26. La balise SELECT<br />26<br />
  27. 27. La balise TEXTAREA<br />27<br />&lt;textareaname=&quot;comm&quot; rows=10 cols=40&gt;Tapez vos commentaires ici&lt;/textarea&gt;<br />
  28. 28. Manipulation des formulaires<br /><ul><li>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.</li></ul>28<br /><ul><li>$_POST['name'] Si method=POST
  29. 29. $_GET['name'] Si method=GET</li></li></ul><li>Manipulation des formulaires<br /><ul><li>Les données envoyées sont indexées dans le tableau $_POST (resp$_GET) par rapport a la valeur de leurs attributs name.</li></ul>29<br />&lt;formaction= &apos;acceuil.php&apos;method=&apos;post&apos; &gt;<br />&lt;input name= &quot;prenom&quot; type=&quot;text&quot; /&gt;<br />&lt;input type=&quot;submit&quot; value=&quot;Envoi&quot; /&gt;<br />&lt;/form&gt; <br />Hamma<br />Login.php<br />&lt;?php<br />echo Bonjour . &quot; &quot; . $_POST[&apos;prenom&apos;] ;<br />?&gt;<br />Bonjour Hamma<br />accueil.php<br />
  30. 30. Exercice « Somme »<br />30<br />
  31. 31. Exercice « Somme »<br />31<br /><ul><li>Créez une page web qui permet de saisir deux entier et qui affiche la somme dans une nouvelle page.</li></ul>A<br />B<br />C<br />A + B = C<br />formulaire.php<br />somme.php<br />
  32. 32. Solution de « Somme »<br />&lt;formaction= &apos;somme.php&apos;method= &apos;GET&apos; &gt; <br />A:&lt;input name=&quot;a&quot; type=&quot;text&quot;/&gt;<br />B:&lt;input name=&quot;b&quot; type=&quot;text&quot; /&gt;<br /> &lt;input type=&quot;submit&quot; value=&quot;Envoyer&quot;/&gt;<br />&lt;/form&gt; <br />formulaire.php<br />$_GET(a =&gt; valeurA, b =&gt; valeurB)<br />&lt;?php<br />$somme=$_GET[&apos;a&apos;]+$_GET[&apos;b&apos;] ;<br />echo&quot;la somme est &quot; ,$somme ;<br />?&gt;<br />somme.php<br />32<br />
  33. 33. Exercice « Commande »<br />33<br />
  34. 34. Exercice « Commande »<br />34<br /><ul><li>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.</li></ul>Vous avez commandé X Eléments<br />choix.php<br />commande.php<br />
  35. 35. Solution de « Commande »<br />35<br />&lt;body&gt; <br />&lt;h4&gt;Faite votre commande&lt;/h4&gt; <br />&lt;formaction=&quot;commande.php&quot; method=&quot;post&quot;&gt; <br />Elément:<br />&lt;select name=&quot;item&quot;&gt; <br />&lt;option&gt;Table&lt;/option&gt; <br />&lt;option&gt;Chaise&lt;/option&gt; <br />&lt;option&gt;Armoire&lt;/option&gt; <br />&lt;/select&gt;&lt;br/&gt; <br />Quantité: <br />&lt;input name=&quot;quantity&quot; type=&quot;text&quot; /&gt; &lt;br/&gt;<br />&lt;input type=&quot;submit&quot; value=&quot;Envoyer &quot;/&gt;<br />&lt;/form&gt; <br />&lt;/body&gt;<br />choix.php<br />
  36. 36. Solution de « Commande »<br />36<br />&lt;?php<br />$quantity=$_POST[&apos;quantity&apos;] ;<br />$item =$_POST[&apos;item&apos;] ;<br />echo&quot;Vous avez commandé &quot;. $quantity.&quot; &quot;.$item ;<br />?&gt;<br />Commande.php<br />
  37. 37. Exercice « Login »<br />37<br />
  38. 38. Exercice « Login »<br />38<br /><ul><li>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.</li></ul>Bonjour<br />Admin<br /><br />accueil.php<br />Password = admin<br />Password :<br />login.php<br />Password incorrecte<br /><br />Password != admin<br />erreur.php<br />
  39. 39. Solution de « Login »<br />39<br />accueil.php<br />Bonjour<br />Admin<br /><br />Password :<br />Script de<br />Vérification et de redirection<br />Password = admin<br />Password incorrecte<br /><br />Password != admin<br />login.php<br />verif.php<br />erreur.php<br />
  40. 40. Solution de « Login »<br />40<br />&lt;formaction=&quot; verif.php&quot; method=&quot;POST&quot;&gt;<br />Pass:&lt;input type=&quot;password&quot; name=&quot;pass&quot; /&gt;&lt;br/&gt;<br /> &lt;input type=&quot;submit&quot; value=&quot;Envoyer &quot;/&gt;<br />&lt;/form&gt; <br />&lt;?php<br /> if ($_POST[&apos;pass&apos;]== &quot;admin&quot;){<br />header(&apos;Location: accueil.php&apos;);<br /> }else{<br /> header(&apos;Location: erreur.php&apos;);<br /> }<br />?&gt;<br />Bonjour<br />Admin<br /><br />login.php<br />verif.php<br />accueil.php<br />Password incorrecte<br /><br />erreur.php<br />
  41. 41. Présentation de MySQL<br />41<br />
  42. 42. Présentation de MySQL<br />42<br /><ul><li>Mysql est un serveurde Gestion de Base de Données (SGBD) gratuit le plus populaire au monde.
  43. 43. 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).</li></li></ul><li>Définition<br />43<br /><ul><li>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.</li></li></ul><li>Schéma d’une BD<br />44<br />Base de données<br />Table<br />Table<br />Table<br />
  44. 44. Les requêtes SQL<br /><ul><li>Création d’une table</li></ul>CREATE TABLE NomTable(<br /> NomColonne1 Type_de_données,<br /> NomColonne2 Type_de_données,<br />NomColonneNType_de_données<br />)<br />45<br />
  45. 45. Les requêtes SQL<br /><ul><li>Sélection</li></ul>SELECT Champ1,ChampNFROMNomTableWHERE Champ3=&apos;val&apos;;<br /><ul><li>Insertion</li></ul>INSERT INTO NomTable(Champ1,ChampN)VALUES (Val1,ValN);<br /><ul><li>Modification</li></ul>UPDATENomTableSET Champ1 = &apos;Val1&apos;,ChampN = &apos;ValN&apos; ;<br /><ul><li>Suppression</li></ul>DELETE FROM NomTableWHERE conditions ;<br />46<br />
  46. 46. L’interface PHP MyAdmin<br />47<br />
  47. 47. Présentation de phpMyAdmin<br />48<br /><ul><li>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.</li></li></ul><li>L’interface phpMyAdmin<br />49<br />
  48. 48. L’interface phpMyAdmin<br />50<br />
  49. 49. L’interface phpMyAdmin<br />51<br />
  50. 50. L’interface phpMyAdmin<br />52<br />
  51. 51. Connexion à une BD<br />53<br />
  52. 52. Connexion à une BD<br />1<br />Bd<br />Script.php<br />(Requête SQL)<br />Table<br />Serveur BD<br />IP Server<br />User <br />Password<br />Nom BD<br />+<br />Privilège<br />Nom Table<br />Nom champ<br />54<br />
  53. 53. Fonctions PHP pour la connexion<br />IP Server<br />User <br />Password<br />mysql_connect(&quot;IP Server&quot;,&quot;User&quot;,&quot;Password&quot;);<br />Nom BD<br />+<br />Privilège<br />mysql_select_db(&quot;Nom BD&quot;);<br />Nom Table<br />$resultat = mysql_query(&quot;Requête SQL&quot;);<br />Nom champ<br />Gestion des exceptions<br />Die(&quot;msgd’erreur&quot;);<br />Fermer la connexion<br />mysql_close();<br />55<br />
  54. 54. La fonctionmysql_query()<br />$resultat = mysql_query(&quot;Requête SQL&quot;);<br /><ul><li>mysql_query() estunefonction PHP qui permetd’envoyer des requêtes SQL à un serveurMySQL.
  55. 55. Pour les requêtes de type SELECT , mysql_Query() retournera une ressourceen cas de succès ou FALSE en cas d'erreur.
  56. 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.</li></ul>56<br />
  57. 57. La fonction mysql_query()<br /><ul><li>La ressource $resultatretournée contient un tableau d’enregistrements c’est-à-dire une matrice. </li></ul>$resultat = mysql_query(“SELECT nom, prenom FROM etudiant&quot;);<br />$resultat<br />57<br />
  58. 58. La fonction mysql_fetch_array()<br /><ul><li>Pour extraire les enregistrements un par un on utilise la fonction mysql_fetch_array().</li></ul>$row= mysql_fetch_array($resultat) ;<br />nom<br />prenom<br />$row <br />$resultat<br />58<br />
  59. 59. Extraction des données<br />$resultat = mysql_query(&quot;SELECT nom, prenom FROM etudiant WHERE age &gt; 20) ;<br />$row= mysql_fetch_array($resultat) ;<br />while ($row!=NULL ){<br />echo$row[&quot;nom&quot;] . &quot; &quot; .$row[&quot;prenom&quot;];<br />$row= mysql_fetch_array($result);<br />}<br />59<br />
  60. 60. Fonctions utiles<br /><ul><li>isset() : testel’existenced’une variable ( savoir si une variable a été définie ou non).
  61. 61. is_empty() or empty() : indique qu’un champ d’un formulaire a été rempli ou non.</li></ul>60<br />
  62. 62. TP « Mini Chat »  <br />61<br />
  63. 63. TP « Mini Chat » <br /><ul><li>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.</li></ul>62<br />
  64. 64. Solution du « Mini Chat » <br />1 - Le formulaire<br />2 - Insertion msg<br />3 - Affichage des msg<br />Commentaire<br />minichat.php<br />bdChat<br />63<br />
  65. 65. BD & Tables <br />64<br />
  66. 66. Le Formulaire <br />65<br />
  67. 67. Insertion de msg dans la BD <br />66<br />
  68. 68. Affichage des messages <br />67<br />
  69. 69. Merci pour votre attention<br />68<br />

×