logo

Le PHP

Fonctionnement du php

Le PHP est interprété coté serveur et génére du code HTML et renvoye au visiteur uniquement du code HTML (accompagné éventuellement de sa feuille de style CSS), comme le montre la figure suivante.


Génération de HTML par PHP

Sur la figure suivante, vous découvrez concrètement ce qu'il se passe avec notre code source.

Le code PHP est exécuté en premier et l'ordinateur fait ce qu'on lui demande. Ici on lui a dit « Affiche ce texte ici ».

Une fois toutes les instructions PHP exécutées (ici c'était simple, il n'y en avait qu'une !), la page qui sort est une page qui ne contient que du HTML ! C'est cette page de « résultat » qui est envoyée au visiteur, car celui-ci ne sait lire que le HTML.

PHP fait la jonction entre vous et MySQL

Pour compliquer un petit peu l'affaire (sinon, ce n'est pas rigolo), on ne va pas pouvoir parler à MySQL directement. Eh non, seul PHP peut le faire !

C'est donc PHP qui va faire l'intermédiaire entre vous et MySQL. On devra demander à PHP : « Va dire à MySQL de faire ceci. »

Je crois qu'un petit schéma ne serait pas du luxe… Voyez la figure suivante.

Communication entre PHP et MySQL

Voici ce qui peut se passer lorsque le serveur a reçu une demande d'un client qui veut poster un message sur vos forums :

  1. le serveur utilise toujours PHP, il lui fait donc passer le message ;
  2. PHP effectue les actions demandées et se rend compte qu'il a besoin de MySQL. En effet, le code PHP contient à un endroit « Va demander à MySQL d'enregistrer ce message ». Il fait donc passer le travail à MySQL ;
  3. MySQL fait le travail que PHP lui avait soumis et lui répond « O.K., c'est bon ! » ;
  4. PHP renvoie au serveur que MySQL a bien fait ce qui lui était demandé.
Maintenant que nous avons fait les présentations, il va falloir découvrir comment est organisée une base de données. Bien en comprendre l'organisation est en effet absolument indispensable.

Un exemple : les formulaires

L'un des points forts de PHP est sa capacité à gérer les formulaires. Le concept de base qui est important à comprendre est que tous les champs d'un formulaire seront automatiquement disponibles dans le script PHP d'action.

TP : les formulaires

Utlilisation de wampserver

Dans ce TP nous avons besoin d'un serveur pour faire ses equêtes HTML. C'est pourquoi nous allons utiliser wampserver.

Lancer wampserver, attendez le wpasse au vert et cliquez dessus :

Placez les fichiers dans Répertoire www, puis testez-les en cliquant sur localhost.

Vous pouvez installer un serveur Apache sur votre Raspberry Pi. Voir le tutoriel

Exercice

Créez un fichier formulaires.html que vous allez placer dans répertoire www de wampserver.

Coller le code ci-dessous dans le fichier :

<!DOCTYPE html>
<html>
  <body>
   <h2 id="age" >Formulaire 1</h2>		
    <p>
      <form method="post" action="page1.php">
        Nom : <input type="text" name="nom"><br>
        prenom : <input type="text" name="prenom"><br>
        Age : <input type="number" name="age">
        <input type="submit" value="Envoyer">
      </form>
    </p>
  </body>
</html>

Voici le code php :

<html>
  <body>
    <?php
      $nom = $_POST['nom'];
      $prenom = $_POST['prenom'];
      echo $nom." et ".$prenom;
      if (isset($_POST['age'])){
        $a = $_POST['age'];
        if($a <20){
          echo "vous êtes jeune !";
          }
        elseif($a <50){
          echo "en pleine force de l'âge";
          }
        else{
          echo "bientôt la retraite";
          }
        }
      else{
        echo "il faut remplir le formulaire <a href='formulaires.html#age'>ici</a>";
        };
    ?>
  </body>
</html>

  1. Analyser ces 2 codes.
  2. Créez la page .php avec le code ci-dessus en liaison avec le formulaire.