Développement Web 

Initiation en PHP & MySQL

 

Crée par @ Mohamed IDBRAHIM

Introduction / Un peu d'histoire

  • PHP a été inventé en 1994 par Rasmus Lerdrof (Danois).  il a crée ce langage pour avoir les statistiques de consultation de son CV.
  • 1995 Rasmus Lerdrof publie son code pour le grand publique. PHP s'appelait alors PHP/FI (pour Personal Home Page Tools/Form Interpreter).
  • 1997 deux étudiants israéliens Andi Gustmans et Zeev Suraski redéveloppement le cœur de PHP.  - Php 3 est né et devient PHP: HyperText Preprocessor, ils réécrivent le code du moteur de PHP et lance Zend Engine, Zend et la contraction de ZEev et aNDi, ce nouveau moteur servira de base à PHP 4 qui restera OpenSource mais sera activement Développé par la socièté ZEND
  • 2004 Sortie de PHP 5 basé sur le moteur Zend Engine, le début du modèle objet
  • Déc 2007 Abandon de la maintenance de la version 4.4x.
  • Déc 2010 Abandon de la maintenance de la version 5.2, PHP 5.3.x est recommandé.
  • PHP 5.6 est en cours de développement. 

Introduction / Qu'est ce qu'un site dynamique ?

  • En opposition aux pages statiques, une page dynamique va présenter un contenu qui va varier en fonction de l'action du visiteur.

- La page statique sera toujours telle qu'elle à été conçue par le WEBMASTER.

- Le contenu d'une page statique ne sera jamais variable.

  • Un site dynamique permet la création de page à la "volée", il devient donc plus aisé de réaliser un site avec des milliers de pages. EX: Site E-commerce, Blogs, Forums, Réservation en ligne, etc...
  • Un site dynamique va utiliser des langages serveurs tels que PHP, ASP, JSP, etc... , il utilisera également une ou plusieurs base de données: MySQL, SQLlite, Oracle etc... 

L’environnement de développement 

A quoi un site dynamique PHP/MySQL a t-il besoin pour fonctionner ? 

  • Un serveur web Apache (Serveur HTTP)

- Permet de délivrer  les pages web aux visiteurs, Attention, seules des pages statiques sont nativement gérées par Apache.

       - Il faut lui ajouter le plugin PHP pour qu'il puisse traiter des pages dynamiques.

  • PHP

Il s'agit du plugin pour Apache qui lui permet de traiter des pages dynamiques en PHP. il est vivement recommandé d'utiliser PHP 5.3+

  • MySQL

(Serveur de Base de données)

Un système de gestion de base de données (SGBD), il permet de stocker des données. 

Serveur HTTP

Comment fonctionne un serveur HTTP avec un site dynamique ?

Un serveur HTTP est un logiciel servant des requêtes respectant le protocole de communication "Client Serveur" HyperText Transfer Protocole, développer par l'organisme.

Préparer son environnement de développement locale

WAMP : Windows Apache MySQL PHP

SublimeText : Editeur de Texte

HeidiSQL : Gestionnaire de base de données

Premier code PHP

"Salam les Développeur"


 <!DOCTYPE html>
 <html>
 <head>
	<title>Formation de développement Web</title>
 </head>
 <body>
	<?php
             echo "Salam les développeurs";
	?>
 </body>
 </html>

Commentaires

  • Commenter 1 ligne

  <?php  
        //Affiche le message Salam les développeurs
        echo "Salam les développeurs"; 
  ?>
  • Commenter Plusieurs lignes
 <?php  
        /*
          Affiche le message 
          Salam les développeurs
        */
        echo "Salam les développeurs"; 
  ?>

Variables

  • Une variable est la représentation symbolique d'une valeur.
  • Ce sont les variables qui rendent le site dynamique.
  • Ce sont le coeur de PHP

Conventions de nommage

  1. Chaque variable doit être précédée du signe $
  2. Le nom d'une variable doit commencer par une lettre.
  3. Le nom d'une variable ne peut contenir que caractères Alpha-Numérique et Underscore [A-z, 0-9, _]
  4. Une variable ne peut pas contenir d'espace.
  5. Le nom d'une variable est sensible à la case.

Variables

 
  <?php
       
       //Valeur sous forme d'une chaîne de caractères 
       $nomVariable = "Valeur";
       
       //Valeur sous forme d'un numéro ou un nombre
       $nomVariable = Valeur;

       //Valeur sous forme de code HTML
       $nomVariable = "<h1>Salam les développeurs Marocains.</h1>";

  ?>

Chaîne de caractères

Nombres

  1. Les entiers
  2. Les opérateurs de calculs
  3. Les nombres à virgules
  4. Conversion

Nombres

<?php
   
   //Affiche un nombre
   echo 3;

   //Initialiser des variables 
   $Nombre1 = 25;
   $Nombre2 = 4;
   $Nombre3 = 1;

   //Calcul la somme des deux nombres
   echo $Nombre1 + $Nombre2;

   //Calcul la soustraction des deux nombres
   echo $Nombre1 - $Nombre2;
   
   //Calcul la multiplication des deux nombres
   echo $Nombre1 * $Nombre2;

   //Calcul la division des deux nombres
   echo $Nombre1 / $Nombre2;

   //Opérateur de calcul rapide += -= *= /=

    $nombre3 += $Nombre1;
    $nombre3 += $Nombre2;
    echo $Nombre3;

    //Opérateur d'incrémentation ++ et décrémentation --

    $Nombre1++;
    $Nombre2--;

?>

Tableaux

Tableaux numériques

Pour récupérer les valeurs d'un tableaux numérique, il faut savoir à quel indice du tableau se trouve l'information que l'on souhaite.

Tableaux associatifs

Pour récupérer les valeurs d'un tableaux associatifs, il faut savoir à quelle clé/label du tableau se trouve l'information que l'on souhaite.

Booléens

  • Un type booléen peut avoir une valeur TRUE ou FALSE.
  • Quelques fonctions qui retournent des valeurs booléennes.
  
    <?php
   
     isset(var)       //Retourne un True si la variable var est existe sinon False
     empty(var)       //Retourne un True si la variable var est vide sinon False
     is_bool(var)     //Retourne un True si la variable var est de type booléen sinon False
     is_string(var)   //Retourne un True si la variable var est de type chaine de caractères sinon False
     is_numeric(var)  //Retourne un True si la variable var est numerique sinon False
     is_float(var)    //Retourne un True si la variable var est de type flottant sinon False
     is_array(var)    //Retourne un True si la variable var est un tableau sinon False
     is_object(var)   //Retourne un True si la variable var est de un objet sinon False
     is_null(var)     //Retourne un True si la variable var est nulle sinon False
  
    ?>

Transtypage

Constantes

Une constante est un identifiant (un nom) qui représente une valeur simple.

Comme son nom le suggère, cette valeur ne peut être modifiée durant l’exécution du script ou du programme.

 

par convention, les constantes sont toujours  en majuscules.

<?php
    
   define('EMAIL', "idbrahimdev@gmail.com");

    echo EMAIL;   

?>

Structures de contrôle

Expressions logiques

  • Opérateurs de comparaisons
  • Opérateurs logiques
  • if, else, elseif
  • Ternaire
  • Switch

Expressions logiques

  • for
  • foreach
  • while
  • do while

Structures de contrôle

    ==    // Opérateur égal
    !=    // Différent que
    >=    // Supérieur ou égal
    <=    // Inférieur ou égal
    >     // Supérieur strictement
    <     // Inférieur strictement 

Opérateurs de comparaison

    &&  // if((a == b) && (a == c))
    ||  // if((a == b) || (a == c))
    AND // if((a == b) AND (a == c))
    OR  // if((a == b) OR (a == c)) 

Opérateurs logique

Structures de contrôle

    
    <?php
       
         if (condition) {

    	     # code...

         } else {

    	     # code...
         }
       
    ?>
   
  <?php
       
     (condition) ? resultat1 : resultat2; 
       
  ?>
<?php

    switch (variable) {
    	case 'value':
    		# code...
    		break;
    	
    	default:
    		# code...
    		break;
    }
?>

Structures de contrôle

  
   <?php

    for ($i=0; $i < ; $i++) { 
    	# code...
    }


    foreach ($variable as $key => $value) {
    	# code...
    }

  ?>

for et foreach

 
  <?php

    while (codition) {
    	# code...
    }


    $i = 0;
    do {
          # code...
       } while ($i > 0);

?>

while et do while

Interagir avec le visiteur

Interagir avec le visiteur

  • $_GET : récupérer les données grâce aux Urls.
  • $_POST : récupérer les données grâce aux formulaires.
  • $_SERVER : variables du serveur.
  • Les sessions : transmettre les informations tout au long d'une visite.
  • Les cookies : stocker des informations côté client. 

Base de données

Base de données

Connexion à un serveur MySQL 

<?php

$link = mysql_connect("localhost", "mysql_user", "mysql_password")

    or die("Impossible de se connecter : " . mysql_error());

echo 'Connexion réussie';

mysql_close($link);

?>

Base de données

Sélectionner une base de données 

  <?php
     
     bool mysql_select_db ( string $database_name [, resource $link_identifier = NULL ] )

     //Exemple
     mysql_select_db($db_database,$link));

  ?>

  <?php
    
      mixed mysql_query ( string $query [, resource $link_identifier = NULL ] )

      //Exemple
     $result = mysql_query('SELECT * WHERE 1=1');
     
      if (!$result) {
         die('Requête invalide : ' . mysql_error());
     }

  ?>

Envoyer une requête à un serveur MySQL

Base de données

Retourne une ligne de résultat MySQL

Base de données

  <?php

    array mysql_fetch_array ( resource $result [, int $result_type = MYSQL_BOTH ] )

    //Exemple complet

	  mysql_connect("localhost", "mysql_user", "mysql_password") or
	     die("Impossible de se connecter : " . mysql_error());

	  mysql_select_db("mydb");

      $result = mysql_query("SELECT id, name FROM mytable");

      while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
          printf("ID : %s  Nom : %s", $row[0], $row[1]);
      }

      mysql_free_result($result);

  ?>

Base de données

CRUD

On va réaliser une application qui nous permet d'enregistrer, de lire, de modifier et de supprimer des données depuis notre base de données

Conclusion

Merci pour votre Attention

Initiation en PHP et MySQL

By Mohamed IDBRAHIM

Initiation en PHP et MySQL

Apprendre les fondamentaux de développement web, avec PHP et MySQL.

  • 705