1 PHP CHAPITRE 3
INTRODUCTION 2 PHP est un langage de programmation qui s'intègre dans vos pages HTML. Il permet entre autres de rendre automatiques des tâches répétitives, notamment grâce à la communication avec une base de données (utilisation la plus courante de PHP). Intégration d’un script dans une page :  Les pages web sont au format HTML. Les pages web dynamiques générées avec PHP sont au format PHP. Le code source PHP est directement insérer dans le fichier html entre cette syntaxe : <?php … ?> 1.Variables Les identificateurs de variable sont précédés du symbole « $ ». Exemple : $toto.
3  Les variables peuvent être de type entier (integer), réel (double), chaîne de caractères (string), tableau (array), objet (object), booléen (boolean). 2.1 Constant L’utilisateur peut définir des constantes dont la valeur est fixée une fois pour toute. Les constantes ne portent pas le symbole $ (dollars) en début d’identificateur et ne sont pas modifiables. define(‘’var’’,valeur) : définit la constante var (sans $) de valeur valeur Exemple : define(’’author’’,’’Djama’’); echo author; // affiche Djama 2.TYPE D’ ENTIER
4 Opérateurs arithmétiques : + (addition), - (soustraction), * (multiplié), / (divisé), % (modulo), ++ (incrément), -- (décrément). Ces deux derniers peuvent être pré ou post fixés Opérateurs d’assignement : = (affectation), *= ($x*=$y équivalent à $x=$x*$y), /=, +=, -=, %= Opérateurs logiques : and, && (et), or, || (ou), xor (ou exclusif), ! (non) Opérateurs de comparaison : == (égalité), < (inférieur strict), <= (inférieur large), >, >=, != (différence) Opérateurs de concaténation : 4.Affichage Les fonctions d’affichage : echo() : écriture dans le navigateur ou print() : écriture dans le navigateur Exemple : <?php echo 'Bonjour le monde !' ; ?> ou < ?php print 'Bonjour le monde !' ; ?> 3.OPERATEUR
5 o Structures conditionnelles if(condition1) { # instructions à exécuter si la condition1 est vraie... } elseif (condition2) { instructions à exécuter si la condition2 est vraie... } elseif (condition3) { instructions à exécuter si la condition3 est vraie... } else { instructions à exécuter si aucune des conditions n’est vraie... } 5. STRUCTURE DE CONTROLE (1/2) switch(expression) { case resultat1 : # instructions à exécuter si l’expression vaut resultat1... break ; case resultat2 : # instructions à exécuter si l’expression vaut resultat2... break ; ………… default : # instructions à exécuter en dernier recours... }
6 o Structures de boucles for(expression1 ; condition ; expression2) { # instructions à exécuter tant que la condition est vraie... } Exemple : compter jusqu’à 10 for ($i = 1 ; $i <= 10 ; $i++) { echo "$i " ; } Affiche 1 2 3 4 5 6 7 8 9 10. While (condition){ # instructions à exécuter tant que la condition est vraie... } Exemple : compter jusqu’à 10 $i = 1 ; while ($i <= 10) { echo "$i " ; $i++ ; } Affiche 1 2 3 4 5 6 7 8 9 10. 5. STRUCTURE DE CONTROLE (2/2) do { # instructions à exécuter tant que la condition est vraie... } while(condition); Exemple : compter jusqu’à 10 $i = 1 ; do { echo "$i " ; $i++ ; } while ($i <= 10) ; Affiche 1 2 3 4 5 6 7 8 9 10.
7  Une variable tableau est de type array. Un tableau accepte des éléments de tout type.  Exemple :  $tab_colors = array(‘red’, ’yellow’, ’blue’, ‘white’);  $tab = array(‘djama’, 2002, 20.5, $name);  Indice initiale d’un tableau est 0  Parcours d’un tableau :  Exemple 1 : $i=0; while($i <count($tab)) { // count() retourne le nombre d’éléments echo $tab[$i].’n’; $i++; }  Exemple 2 : foreach($tab as $elem) { echo $elem.’’n’’; }  La variable $elem prend pour valeurs successives tous les éléments du tableau $tab. 6. TABLEAU (1/2)
8  Quelques fonctions utiles:  count($tab) : retournent le nombre d’éléments du tableau  foreach($tab as $elem): permet a la variable $elem de prendre pour valeurs successives tous les éléments du tableau $tab.  in_array($var,$tab) : dit si la valeur de $var existe dans le tableau $tab  list($var1,$var2…) : transforme une liste de variables en tableau  sort($tab) : trie alphanumérique les éléments du tableau TABLEAU (2/2)
7. FONCTION  Les fonctions peuvent prendre des arguments dont il n’est pas besoin de spécifier le type. Elles peuvent de façon optionnelle retourner une valeur. Exemple : <?php function calculerSomme() { // Déclaration de la variable locale $a=4; $b=5; $somme = $a + $b; // Affichage du résultat echo 'La somme vaut ', $somme; } calculerSomme(); ?> 9
10  On peut inclure dans un script php le contenu d’un autre fichier.  include évalue et insert à chaque appel (même dans une boucle) le contenu du fichier passé en argument.  Exemple :  include(‘’fichier.php’’);  require insert dans le code le contenu du fichier spécifié même si ce n’est pas du code php. Est équivalent au préprocesseur #include du C.  Exemple :  require(‘’fichier.php’’); 8. INCLUSION
11 • <?php header(‘’Location: home2.php’’); exit(); • ?>  Ce script effectue une redirection vers une autre page. C’est-à-dire que le navigateur du client en voyant cet entête Location va charger directement la page indiquée sans regarder la suite du script. La fonction exit est là pour parer au cas impossible où le script continuerait son exécution. 9. REDIRECTION
MYSQL 12
 MySQL est une base de données implémentant le langage de requête SQL un langage relationnel très connu.  Il existe un outil libre et gratuit développé par la communauté des programmeurs libres : phpMyAdmin qui permet l’administration aisée des bases de données MySQL avec php. Il est disponible sur : http://sourceforge.net/projects/phpmyadmin/ et http://www.phpmyadmin.net INTRODUCTION 13
1.Presentation  L’outil phpMyAdmin est développé en PHP et offre une interface intuitive pour l’administration des base de données du serveur.  Cet outil permet de :  créer de nouvelles bases  créer/modifier/supprimer des tables  afficher/ajouter/modifier/supprimer des tupes dans des tables  effectuer des sauvegarde de la structure et/ou des données  effectuer n’importe quelle requête  gérer les privilèges des utilisateurs 14
2.Création/sélection d’une base de données  Avant de manipuler des données, il faut créer une ou des bases de données. ETAPE 1 : Écrivez le nom de la base de donnée à créer. Puis cliquez sur « Créer » ETAPE 2 : sélectionnez le nom de la base à manipuler (le nombre de tables de la base apparaît entre parenthèses) 15
3. Gestion de la base de données  Choix d’une table à gérer en particulier Écrire une requête MySQL à exécuter Exécuter une requête MySQL contenue dans un fichier Actions sur les tables : afficher leur contenu intégral, faire une sélection sur critères, ajouter des données, gérer ses propriété intrinsèques, supprimer, vider. 16
4.Affichage d’une table Rappel de la base, de la table et du serveurRappel de la requête Liste des enregistrements de la table par pages de X lignes Colonnes = noms des attributs de la table Insertion d’un nouvel enregistrement Permet de naviguer dans les pages de résultats Afficher par page de X lignes Accès au formulaire de modification d’un enregistrement Supprimer un enregistrement 17
PHD/MYSQL 18
1.CONNEXION  Pour se connecter à une base depuis PHP, il faut spécifier un nom de serveur, un nom d’utilisateur, un mot de passe et un nom de base.  Les fonctions de connexion :  mysql_pconnect($server,$user,$password) : permet de se connecter au serveur $server en tant qu’utilisateur $user avec le mot de passe $password, retourne l’identifiant de connexion si succès, FALSE sinon  mysql_select_db($base) : permet de choisir la base $base, retourne TRUE en cas de succès, sinon FALSE 19
Exemple : CONNEXION <html> <head> </head> <title> exemple d’application sur php </title> <?php $serveur = "localhost"; $utilisateur = "root"; $motDePasse = ""; $base = "mesn"; $sum=mysql_pconnect($serveur, $utilisateur , $motDePasse) or die("Impossible de se connecter au serveur de bases de données."); mysql_select_db($base) or die("Base de données non trouvée."); 20
2.ENVOI DES DONNEES  Pour envoyer des données dans une base de donnée, il existe la fonction mysql_query($str) qui prend pour paramètre une chaîne de caractères qui contient la requête écrite en SQL et retourne un identificateur de résultat ou FALSE si échec. Exemple : /* récupération des données envoyés par le formulaire */ $email = $_POST["email_visiteur"]; $avis = $_POST["avis_visiteur"]; /* Création de la requête */ $result=mysql_query("INSERT INTO commentaire ( mail,opinion) VALUES ('$email','$avis')"); ?> 21
 Pour récupérer des données à partir d’ une base de donnée, il existe la fonction mysql_fetch_row($result) qui retourne une ligne de résultat sous la forme d’un tableau. Les éléments du tableau étant les valeurs des attributs de la ligne. Retourne FALSE s’il n’y a plus aucune ligne. Exemple : /* affichage de la requête */ $requet = "SELECT * FROM commentaire"; $result = mysql_query($requet); while($ligne = mysql_fetch_row($result)) { $email = $ligne[0]; $avis = $ligne[1]; echo "$email, $avis <br />"; } ?>  Ici, on accède aux valeurs de la ligne par leur indice dans le tableau. 3.RECUPERATION DES DONNEES 22

Php1

  • 1.
  • 2.
    INTRODUCTION 2 PHP est unlangage de programmation qui s'intègre dans vos pages HTML. Il permet entre autres de rendre automatiques des tâches répétitives, notamment grâce à la communication avec une base de données (utilisation la plus courante de PHP). Intégration d’un script dans une page :  Les pages web sont au format HTML. Les pages web dynamiques générées avec PHP sont au format PHP. Le code source PHP est directement insérer dans le fichier html entre cette syntaxe : <?php … ?> 1.Variables Les identificateurs de variable sont précédés du symbole « $ ». Exemple : $toto.
  • 3.
    3  Les variablespeuvent être de type entier (integer), réel (double), chaîne de caractères (string), tableau (array), objet (object), booléen (boolean). 2.1 Constant L’utilisateur peut définir des constantes dont la valeur est fixée une fois pour toute. Les constantes ne portent pas le symbole $ (dollars) en début d’identificateur et ne sont pas modifiables. define(‘’var’’,valeur) : définit la constante var (sans $) de valeur valeur Exemple : define(’’author’’,’’Djama’’); echo author; // affiche Djama 2.TYPE D’ ENTIER
  • 4.
    4 Opérateurs arithmétiques : +(addition), - (soustraction), * (multiplié), / (divisé), % (modulo), ++ (incrément), -- (décrément). Ces deux derniers peuvent être pré ou post fixés Opérateurs d’assignement : = (affectation), *= ($x*=$y équivalent à $x=$x*$y), /=, +=, -=, %= Opérateurs logiques : and, && (et), or, || (ou), xor (ou exclusif), ! (non) Opérateurs de comparaison : == (égalité), < (inférieur strict), <= (inférieur large), >, >=, != (différence) Opérateurs de concaténation : 4.Affichage Les fonctions d’affichage : echo() : écriture dans le navigateur ou print() : écriture dans le navigateur Exemple : <?php echo 'Bonjour le monde !' ; ?> ou < ?php print 'Bonjour le monde !' ; ?> 3.OPERATEUR
  • 5.
    5 o Structures conditionnelles if(condition1){ # instructions à exécuter si la condition1 est vraie... } elseif (condition2) { instructions à exécuter si la condition2 est vraie... } elseif (condition3) { instructions à exécuter si la condition3 est vraie... } else { instructions à exécuter si aucune des conditions n’est vraie... } 5. STRUCTURE DE CONTROLE (1/2) switch(expression) { case resultat1 : # instructions à exécuter si l’expression vaut resultat1... break ; case resultat2 : # instructions à exécuter si l’expression vaut resultat2... break ; ………… default : # instructions à exécuter en dernier recours... }
  • 6.
    6 o Structures deboucles for(expression1 ; condition ; expression2) { # instructions à exécuter tant que la condition est vraie... } Exemple : compter jusqu’à 10 for ($i = 1 ; $i <= 10 ; $i++) { echo "$i " ; } Affiche 1 2 3 4 5 6 7 8 9 10. While (condition){ # instructions à exécuter tant que la condition est vraie... } Exemple : compter jusqu’à 10 $i = 1 ; while ($i <= 10) { echo "$i " ; $i++ ; } Affiche 1 2 3 4 5 6 7 8 9 10. 5. STRUCTURE DE CONTROLE (2/2) do { # instructions à exécuter tant que la condition est vraie... } while(condition); Exemple : compter jusqu’à 10 $i = 1 ; do { echo "$i " ; $i++ ; } while ($i <= 10) ; Affiche 1 2 3 4 5 6 7 8 9 10.
  • 7.
    7  Une variabletableau est de type array. Un tableau accepte des éléments de tout type.  Exemple :  $tab_colors = array(‘red’, ’yellow’, ’blue’, ‘white’);  $tab = array(‘djama’, 2002, 20.5, $name);  Indice initiale d’un tableau est 0  Parcours d’un tableau :  Exemple 1 : $i=0; while($i <count($tab)) { // count() retourne le nombre d’éléments echo $tab[$i].’n’; $i++; }  Exemple 2 : foreach($tab as $elem) { echo $elem.’’n’’; }  La variable $elem prend pour valeurs successives tous les éléments du tableau $tab. 6. TABLEAU (1/2)
  • 8.
    8  Quelques fonctionsutiles:  count($tab) : retournent le nombre d’éléments du tableau  foreach($tab as $elem): permet a la variable $elem de prendre pour valeurs successives tous les éléments du tableau $tab.  in_array($var,$tab) : dit si la valeur de $var existe dans le tableau $tab  list($var1,$var2…) : transforme une liste de variables en tableau  sort($tab) : trie alphanumérique les éléments du tableau TABLEAU (2/2)
  • 9.
    7. FONCTION  Lesfonctions peuvent prendre des arguments dont il n’est pas besoin de spécifier le type. Elles peuvent de façon optionnelle retourner une valeur. Exemple : <?php function calculerSomme() { // Déclaration de la variable locale $a=4; $b=5; $somme = $a + $b; // Affichage du résultat echo 'La somme vaut ', $somme; } calculerSomme(); ?> 9
  • 10.
    10  On peutinclure dans un script php le contenu d’un autre fichier.  include évalue et insert à chaque appel (même dans une boucle) le contenu du fichier passé en argument.  Exemple :  include(‘’fichier.php’’);  require insert dans le code le contenu du fichier spécifié même si ce n’est pas du code php. Est équivalent au préprocesseur #include du C.  Exemple :  require(‘’fichier.php’’); 8. INCLUSION
  • 11.
    11 • <?php header(‘’Location: home2.php’’); exit(); •?>  Ce script effectue une redirection vers une autre page. C’est-à-dire que le navigateur du client en voyant cet entête Location va charger directement la page indiquée sans regarder la suite du script. La fonction exit est là pour parer au cas impossible où le script continuerait son exécution. 9. REDIRECTION
  • 12.
  • 13.
     MySQL estune base de données implémentant le langage de requête SQL un langage relationnel très connu.  Il existe un outil libre et gratuit développé par la communauté des programmeurs libres : phpMyAdmin qui permet l’administration aisée des bases de données MySQL avec php. Il est disponible sur : http://sourceforge.net/projects/phpmyadmin/ et http://www.phpmyadmin.net INTRODUCTION 13
  • 14.
    1.Presentation  L’outil phpMyAdminest développé en PHP et offre une interface intuitive pour l’administration des base de données du serveur.  Cet outil permet de :  créer de nouvelles bases  créer/modifier/supprimer des tables  afficher/ajouter/modifier/supprimer des tupes dans des tables  effectuer des sauvegarde de la structure et/ou des données  effectuer n’importe quelle requête  gérer les privilèges des utilisateurs 14
  • 15.
    2.Création/sélection d’une basede données  Avant de manipuler des données, il faut créer une ou des bases de données. ETAPE 1 : Écrivez le nom de la base de donnée à créer. Puis cliquez sur « Créer » ETAPE 2 : sélectionnez le nom de la base à manipuler (le nombre de tables de la base apparaît entre parenthèses) 15
  • 16.
    3. Gestion dela base de données  Choix d’une table à gérer en particulier Écrire une requête MySQL à exécuter Exécuter une requête MySQL contenue dans un fichier Actions sur les tables : afficher leur contenu intégral, faire une sélection sur critères, ajouter des données, gérer ses propriété intrinsèques, supprimer, vider. 16
  • 17.
    4.Affichage d’une table Rappelde la base, de la table et du serveurRappel de la requête Liste des enregistrements de la table par pages de X lignes Colonnes = noms des attributs de la table Insertion d’un nouvel enregistrement Permet de naviguer dans les pages de résultats Afficher par page de X lignes Accès au formulaire de modification d’un enregistrement Supprimer un enregistrement 17
  • 18.
  • 19.
    1.CONNEXION  Pour seconnecter à une base depuis PHP, il faut spécifier un nom de serveur, un nom d’utilisateur, un mot de passe et un nom de base.  Les fonctions de connexion :  mysql_pconnect($server,$user,$password) : permet de se connecter au serveur $server en tant qu’utilisateur $user avec le mot de passe $password, retourne l’identifiant de connexion si succès, FALSE sinon  mysql_select_db($base) : permet de choisir la base $base, retourne TRUE en cas de succès, sinon FALSE 19
  • 20.
    Exemple : CONNEXION <html> <head> </head> <title> exempled’application sur php </title> <?php $serveur = "localhost"; $utilisateur = "root"; $motDePasse = ""; $base = "mesn"; $sum=mysql_pconnect($serveur, $utilisateur , $motDePasse) or die("Impossible de se connecter au serveur de bases de données."); mysql_select_db($base) or die("Base de données non trouvée."); 20
  • 21.
    2.ENVOI DES DONNEES Pour envoyer des données dans une base de donnée, il existe la fonction mysql_query($str) qui prend pour paramètre une chaîne de caractères qui contient la requête écrite en SQL et retourne un identificateur de résultat ou FALSE si échec. Exemple : /* récupération des données envoyés par le formulaire */ $email = $_POST["email_visiteur"]; $avis = $_POST["avis_visiteur"]; /* Création de la requête */ $result=mysql_query("INSERT INTO commentaire ( mail,opinion) VALUES ('$email','$avis')"); ?> 21
  • 22.
     Pour récupérerdes données à partir d’ une base de donnée, il existe la fonction mysql_fetch_row($result) qui retourne une ligne de résultat sous la forme d’un tableau. Les éléments du tableau étant les valeurs des attributs de la ligne. Retourne FALSE s’il n’y a plus aucune ligne. Exemple : /* affichage de la requête */ $requet = "SELECT * FROM commentaire"; $result = mysql_query($requet); while($ligne = mysql_fetch_row($result)) { $email = $ligne[0]; $avis = $ligne[1]; echo "$email, $avis <br />"; } ?>  Ici, on accède aux valeurs de la ligne par leur indice dans le tableau. 3.RECUPERATION DES DONNEES 22