Your SlideShare is downloading. ×
PHP (Partie II) Par Mahdi Ben Alaya
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

PHP (Partie II) Par Mahdi Ben Alaya

3,176

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 …

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,176
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
263
Comments
3
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 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
  • 4. Les Sessions
    4
  • 5. 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.
    • 6. 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
  • 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(); ?>
  • 12. Les cookies
    12
  • 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 n'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.
  • 18. Les Formulaires
    18
  • 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. 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>
  • 21. Les balises du formulaires
    • INPUT: Champs de saisie de texte et différents types de boutons .
    • 22. SELECT : Listes menus déroulants et ascenseurs.
    • 23. TEXTAREA : Zone de saisie de texte libre.
    23
  • 24. La balise INPUT
    24
  • 25. 25
    La balise INPUT
  • 26. La balise SELECT
    26
  • 27. La balise TEXTAREA
    27
    <textareaname="comm" rows=10 cols=40>Tapez vos commentaires ici</textarea>
  • 28. 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
    • 29. $_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
  • 30. Exercice « Somme »
    30
  • 31. 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
  • 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
  • 33. Exercice « Commande »
    33
  • 34. 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
  • 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
  • 37. Exercice « Login »
    37
  • 38. 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
  • 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
  • 41. Présentation de MySQL
    41
  • 42. Présentation de MySQL
    42
    • Mysql est un serveurde Gestion de Base de Données (SGBD) gratuit le plus populaire au monde.
    • 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).
  • 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
  • 44. 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
  • 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
  • 46. L’interface PHP MyAdmin
    47
  • 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
  • 48. L’interface phpMyAdmin
    50
  • 49. L’interface phpMyAdmin
    51
  • 50. L’interface phpMyAdmin
    52
  • 51. Connexion à une BD
    53
  • 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. La fonctionmysql_query()
    $resultat = mysql_query("Requête SQL");
    • mysql_query() estunefonction PHP qui permetd’envoyer des requêtes SQL à un serveurMySQL.
    • 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. 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
  • 58. 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
  • 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. Fonctions utiles
    • isset() : testel’existenced’une variable ( savoir si une variable a été définie ou non).
    • 61. is_empty() or empty() : indique qu’un champ d’un formulaire a été rempli ou non.
    60
  • 62. TP « Mini Chat » 
    61
  • 63. 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
  • 64. Solution du « Mini Chat » 
    1 - Le formulaire
    2 - Insertion msg
    3 - Affichage des msg
    Commentaire
    minichat.php
    bdChat
    63
  • 65. BD & Tables 
    64
  • 66. Le Formulaire 
    65
  • 67. Insertion de msg dans la BD 
    66
  • 68. Affichage des messages 
    67
  • 69. Merci pour votre attention
    68

×