Introduction à PHP

Histoire de PHP

Une page PHP est unique !
Elle correspond aux informations données par l'utilisateur, et n'existe qu'à partir du moment où l'utilisateur déclenche une action (comme la validation d'un formulaire par exemple).

Sa syntaxe et sa construction ressemblent à celles des langages C++ et Perl, à la différence que le PHP peut être intégré dans du code XHTML. On peut considérer le PHP comme une version simplifiée du Perl qui appartient lui-même à la grande famille des descendants du C, ce qui explique les très nombreuses similitudes de syntaxe.

Dans une utilisation Web, l'exécution du code PHP se fait ainsi : lorsqu'un visiteur demande à consulter une page Web, son navigateur envoie une requête à un serveur HTTP. Si la page contient du code PHP, l'interprète PHP du serveur le traite et renvoie du code XHTML généré.

Voici un schéma qui illustre le principe :

Schéma de fonctionnement de PHP

L'utilisation la plus répandue est celle qui fait de PHP un générateur de page Web (contenant du code HTML, CSS, JavaScript, etc.). Ce langage permet donc de générer des pages au contenu dynamique (différent en fonction des données passées en paramètres, souvent par le biais de formulaires).

 

Structure d'un fichier PHP

 

Toute commande PHP se termine par un point-virgule!

Tout code PHP doit être inclus dans une balise <?php ... ?>

Exemple :

  <?php       echo "Ici commence notre apprentissage de PHP !" ;
?>

 

Interaction avec XHTML

 

Il y a deux façon de procéder pour mélanger du PHP et du (X)HTML :

  • Soit insérer du PHP dans du HTML
  <html>
   [...]
    <body>
     <p> Blablabla</p>
     <?php echo "Tiens, du PHP ..."; ?>
     <p> Bliblibli</p>
    </body>
  </html>

 

  • Soit insérer du HTML dans du PHP

 

  <?php
    echo "<html>\n";
    echo "  <body>\n";
    echo "    <p> Je fais du HTML avec du PHP !</p>\n";
    echo "  </body>\n";
    echo "</html>\n";
  ?>

 

Commenter en PHP

 

Pour insérer des commentaires dans votre code, vous devez suivre une des syntaxes suivantes :

    /* Votre commentaire sur plusieurs lignes .... */
    //  Votre commentaire
 
 

  <?php
    /* Je fais du HTML avec du PHP */
    echo "<html>\n";
    echo "  <body>\n";
    echo "    <p> Je fais du HTML avec du PHP !</p>\n";
    echo "  </body>\n";
    echo "</html>\n";
  ?>

 

Les variables

 

Une variable commence par un dollar : $.
Les noms de variables sont sensibles à la casse !
$variable et $Variable sont deux variables différentes.

Les chaînes de caractères doivent être insérées dans des guillemets.

Exemple : Imprimer le contenu d'une variable à l'écran
 

  <?php
    $prenom = "Jean" ;
    echo "<p> Je m'appelle" .$prenom. "</p>\n";

  ?>

 

Les caractères spéciaux

 

Par contre, si vous insérez du HTML dans du PHP, vous devez déspécialiser tous les caractères spéciaux si vous voulez que PHP ne les interprète pas.
Pour ce faire, vous placez l'opérateur \ (anti-slash) devant les guillemets et autre caractères qui posent problème. C'est la même chose avec les apostrophes.
 

  <?php
    echo "<html>
     <body>
       <table border= \ "1 \ "> " ;
 
  ?>

 

La concaténation

 

L'opérateur utilisé pour la concaténation de chaînes de caractères est le point.
 

<?php
     $nom = "Pierre" ;
     $prenom = "Jean" ;
    echo "Mon nom est" . $prenom . " " . $nom ;
  ?>

Ce qui aura comme résultat : Mon nom est Jean Pierre.

 

Les tableaux

 

On distingue deux types de tableaux en PHP : les tableaux indicés et les tableaux associatifs.

  • Tableaux indicés

Un tableau indicé est un tableau où chaque élément correspond à un indice en fonction de sa position dans le tableau.

Par exemple, si je crée un tableau contenant des fruits :
 

  <?php
     $fruits = array ('banane', 'cerise', 'poire', 'pomme') ;
  ?>

 

Pour avoir accès aux éléments, je dois faire appel à eux par leur indice. Il faut savoir qu'un tableau indicé commence toujours à 0 !

 

  <?php
 echo  $fruits[0] ;    # affichera banane     echo $fruits[3];      # affichera pomme
  ?>

 

Structures de contrôle : boucles et tests

 

  • La boucle foreach

Les boucles permettent d'effectuer des opérations d'itération. On distingue essentiellement les commandes while et foreach.
La boucle foreach va vous permettre de parcourir un tableau.
 

  <?php
    foreach ($fruits as$un_fruit)
     {
        echo "Fruit : " . $un_fruit . "<br/>" ;
     }
  ?>

 

Ce qui nous donnera :   

  banane
  cerise
  poire
  pomme

 

  • Les tests

La struture d'un test est la suivante :
 

   if (condition) {
         instruction à effectuer si la condition est vraie
   }

   elseif (condition) {

         instruction à effectuer si la condition est vraie

   }
   else {
         instruction à effectuer si les conditions précédentes n'ont

         pas été vérifiées
   }

 

Le else est optionnel, et vous pouvez imbriquer des if à l'intérieur d'autres if.
Il est aussi possible d'avoir plus de conditions, que vous pouvez exprimer avec elseif.

 

Gestion de la date

 

Ajouter la date (fonction prédéfinie)

  • $date = date("d/m/y") ; // Date du jour
  • $heure = date("H:i") ; // et l'heure

 

Les méthodes de transmission de variables

 

  • GET

La méthode GET permet d'envoyer les éléments du formulaire au travers de l'URL du script, en ajoutant l'ensemble des paires nom/valeur à l'URL du script, séparé de celui-ci par un point d'interrogation, ce qui donne un URL du type :
http://nom_du_serveur/test/exo.php?champ1=valeur1&champ2=valeur2...

  • POST

Le méthode POST permet d'envoyer les éléments du formulaire ; elle cache les informations transmises (qui transiteraient par l'URL dans le cas de la méthode GET). Elle permet d'envoyer des données importantes en taille (la méthode GET se limite à 255 caractères) et assure la gestion de l'envoi de fichiers.

 

Récupérer les variables transmises

 

Dans les deux cas, pour récupérer les variables transmises :

<?php
  $ma_variable_get = $_GET['nom_de_la_variable'] ;
  $ma_variable_post = $_POST['nom_de_la_variable'] ;
?>

 

Vérification des variables

 

  • empty($variable): vérifie si la variable est vide
  • isset($variable): vérifie si la variable existe

 

Boucles IF

if(condition) {

}

elseif(condition){

}

else {

}

 

Pour tester la valeur d'une variable :

// $valeur contient la chaîne de caractères "pomme"

$valeur == 'pomme'

//$valeur est différent de la chaîne de caractères "pomme"

$valeur != "pomme"

// $valeur est inférieur ou égal à "3"

$valeur <= 3

// $valeur est supérieur ou égal à "10"

$valeur >= 10

 

Création d'un tableau :

$tab = array() ;

array_push('ma valeur) ;

 

Création d'un tableau associatif

$tab = array(

'cle' => 'valeur',

'cle2' => 'valeur2'

) ;

 

Parcourir un tableau

foreach($tab as $val) {

echo $val ;

}

Parcourir un tableau associatif

foreach($tab as $cle=>$valeur) {

echo $cle ." : ".$valeur ;

}

 

Lien vers le TP