280 likes | 397 Views
Module : Pages Web Dynamiques ( Production Électronique Avancée ). Objectif: Créer des pages Web dynamiques en utilisant le langage PHP. PLAN. I- Introduction : 1. Qu’est ce qu’un Site Web dynamique? 2. Principe de Fonctionnement II- Le Langage Php: 1. Présentation
E N D
Module : Pages Web Dynamiques (Production Électronique Avancée) Objectif: Créer des pages Web dynamiques en utilisant le langage PHP
PLAN • I- Introduction : 1. Qu’est ce qu’un Site Web dynamique? 2. Principe de Fonctionnement • II- Le Langage Php: 1. Présentation 2. Environnement de développement 3. Syntaxe de base du langage Php 4. Les structures de données 5. Les types de données structurés en Php 6. Les structures de contrôle 7.Les fonctions en Php 8. Utiliser MySQL avec Php Exercices Recommandation
I- Introduction : • I-1. Qu’est ce qu’un Site Web dynamique? Un site web dynamique est un site dont les pages peuvent être générées à «la volée» (dynamiquement) en fonction d’une demande d’un utilisateur.
I- Introduction : • I-2. Principe de Fonctionnement Consultation d’une page html statique
I-2. Principe de Fonctionnement Consultation d’une page qui contient du code Php
II- Le Langage Php: • II-1. Présentation À sa création, en 1994, PHP signifiait Personal Home Page. Maintenant il traduit une désignation plus générale : PHP Hypertext Preprocessor. Spécialement conçu pour le développement d'application Web. Il peut être intégré facilement au HTML. PHP est un langage de scripts et non un langage de programmation, car il est conçu pour faire quelque chose à la suite un événement ou lorsqu'un utilisateur soumet un formulaire à un serveur Web.
II-2. Environnement de développement Il existe un utilitaire très pratique (EasyPhP) qui installera Apache, Php, MySQL et aussi phpMyAdmin (une interface conviviale gratuite pour la gestion des bases de données MySQL). Lancer l'exécution de easyphp1-8_setup.exe. Un dossier EasyPHP sera créé dans Program Files.
Au démarrage d'EasyPHP, une icône apparaît à côté de l'heure. testez le fonctionnement du serveur web Supprimer le fichier index.php du dossier www
NB.Configurer le navigateur afin de« ne pas utiliser le Proxy pour les adresses locales » démarrer « Internet explorer », menu « outils », « options Internet », onglet «Connections », bouton « Paramètre réseau.
II-3. Syntaxe de base du langage Php <html> <head> <title>ma première page en php</title> </head> <body> <? echo ("<b>Bienvenue au langage PHP</b>"); // echo permet d’afficher un message $x=255; echo ("<center> la valeur de x est $x</center>"); ?> </body></html> NB.Le fichier contenant le code Php doit avoir l’extension .php Le script Php contenu dans le code HTML doit être délimité par les balises <? Et ?> Le fichier Php doit être enregistré dans le dossier www Pour commenter une seule ligne on utilise une double barre oblique (//)
II-4. Les structures de données II-4-a. Les constantes <? define("SOCIETE","Société internationale d’import Export"); echo ("<b>je travaille à la Société:".SOCIETE."</b>"); define("max",100); $min=5; echo ("<b>la valeur de min est $min</b>"); echo ("<b>la valeur de max est".max</b>"); ?> NB.Pour définir une constante, on fait appel à la fonction definie(). L’opérateur « . » permet la concaténation des contenus des objets.
II-4-b. Les variables NB.Les variables sont représentées par le signe dollar $ suivi du nom de la variable. Le nom est sensible à la casse ($x<>$X). Un nom de variable doit commencer par une lettre ou le caractère (_). Activité : <html> <head><title> Les variables en PHP</title></head> <body> <? // utilisation des variables $libp="disque dur " ; $pu=158.5; $descp= " "; Echo (gettype($libp). "<br>".gettype($pu). "<br>"); //Convertion de types echo ("la variable pu est de type:".gettype($pu)." et contenant la valeur : $pu <br>"); Settype($pu, "integer"); echo ("la variable pu est de type:".gettype($pu)." et contenant la valeur : $pu <br>"); $pu=(string)$pu; echo ("la variable pu est de type:".gettype($pu)." et contenant la valeur : $pu <br>"); // Test d'existence de variables echo ("lib variable non définie $lib<br>"); echo ("test1 :".isset($pu)."<br>"); //retourne 1, pu est une variable définie echo ("test2 :".isset($lib)."<br>"); //retourne 0, lib est une variable non définie ?> </body></html> activité exercice n°5 page 139
II-4-c. Les opérateurs : Les opérateurs de calcul : (+,-,*, /,%,=) % Opérateur Modulo $x=18%4 donne 2 = Opérateur d’affectation $y=2.3; Les opérateurs de comparaison : (==,<,<=,>,>=,!=) if ($x==3) {…….} if ($x!=3) {…….} Les opérateurs logiques : (OR ou ||, AND ou &&, XOR, !) ! Est le NON logique.
II-5. Les Entrées/Sorties Les entrées en Php :Pour récupérer des données à partir d’une page Php, deux solutions Possibles : Récupérer des informations à travers les objets graphiques des formulaires : on utilise $_GET[‘nomobjet’] ou $_POST[‘nomobjet‘], dépendamment de la valeur de la propriété METHOD de la balise FORM. Activité 1 : Créer le formulaire suivant En cliquant sur envoyer le message suivant s'affiche Bienvenue « votre nom » Récupérer des informations envoyées en paramètres à un fichier Php. L’envoi des données se fait à travers la syntaxe: http://localhost/nomfichier.php? var1=val1 &var2=val2… la récupération au niveau du fichier nomfichier.php se fait grâce à la syntaxe: $var1=$_GET[‘var1’]Activité 2 : passez le paramètre nom dans l’url et afficher : Bienvenue « nom » Activité 3 : faire l’activité 5 du livre page 126 Activité 4 : faire l’application du livre page 128 Les sortie en Php: echo
II-6. Les structures de contrôles • II-6-a Les structures conditionnelles
II-7. Les types de données Structurées en Php II-7-a. Les Tableaux • Un tableau est composé d’un certain nombre d’éléments possédant chacun une valeur propre ainsi q’une clé ou indice. • En Php, deux types de tableaux sont utilisés et deux méthodes de déclarations: exemples de déclarations. Le tableau $tab est un tableau à indices de type entier. Un tableau peut être à indices de type chaîne. Exemples
$vect=array("nom"=>"Belhassen","prenom"=>"ali","profession"=>"enseignant");$vect=array("nom"=>"Belhassen","prenom"=>"ali","profession"=>"enseignant"); • $r=array("animal"=>"chien","fruit"=>"orange","mineral"=>"crystal"); • NB. $v=$vect; // permet de recopier un tableau • Le parcours d’un tableau: exemples <?$vente_hebdo=array("lu"=>1742,"mar"=>1562,"mer"=>1920,"jeu"=>1239,"ve"=>2012,"sa"=>720) ; $vente_totale = 0; reset($vente_hebdo); // la fonction reset() remet le pointeur au début du tableau while (list($k, $v) =each($vente_hebdo)) // le deux fonctions each() et list() peuvent { // être utilisées conjointement afin echo ("<BR> Vente de $k : $v unités\n"); //de parcourir un tableau $vente_totale += $v; } echo "<BR>Vente sur la semaine : $vente_totale unités<BR>"; ?>
Tri d’un tableau : deux types Tri par valeur sort(nomt) et rsort(nomt) et tri par indice ksort(nomt) et krsort(nomt) <? $t=array("fruit"=>"orange","animal"=>"chien","mineral"=>"crystal"); … Reset($t); sort($t); // le tableau devient ("animal"=>"chien","mineral"=>"crystal", "fruit"=>"orange"); …. Reset($t); rsort($t); // le tableau devient ("fruit"=>"orange", "mineral"=>"crystal","animal"=>"chien"); … Reset($t); ksort($t); // le tableau devient ("animal"=>"chien", "fruit"=>"orange","mineral"=>"crystal"); …… Activité : Afficher le tableau après chaque tri?
II-7-a. Les chaînes de caractères: <? echo(substr("informatique",-3)."<br>");// la chaîne que sera affiché echo(substr("informatique",-7,3)."<br>"); // la chaîne mat sera affiché echo(substr("informatique",1,3)."<br>"); // la chaîne nfo sera affiché (le 1èr indice est 0) echo(substr("informatique",0,3)."<br>"); // la chaîne inf sera affiché echo(substr("informatique",2)."<br>"); // la chaîne formatique sera affiché echo("les"." Ordinateurs "."P"); // la chaîne les ordinateurs P sera affiché echo("les".trim(" Ordinateurs ")."P"); //la chaîne lesordinateursP sera affiché //la fonction trim retire les espaces blancs de début et de fin de la chaîne. echo(strlen("informatique")."<br>"); // la longueur 12 sera affiché $ch="informatique"; $ch=str_replace("i","*",$ch); echo("$ch <br>"); la chaîne *nformat*que sera affiché ( i sera remplacer par *) ?>
Fonction Explode(séparateur,Chaîne) et implode(séparateur,tableau) <? $ch="45|65|96|12|13|40|25|89|10|62|23"; $tab=explode("|",$ch); // la fonction explode retourne un tableau qui contient les éléments de la chaîne $ch $vect=array("orange","chien","crystal"); $ch=implode("|",$vect); Echo ("<br> $ch"); // la chaîne orange|chien|crystal sera affiché // la fonction implode retourne une chaîne constituée de tous les éléments du tableau // séparés par le séparateur "|" Activité :écrivez un formulaire qui permet de saisir une chaîne formée par des chiffres et d’afficher la plus grand chaîne formé par tous les chiffres de la chaîne initiale. Exemple (voir activitexplode.php) Si la chaîne initiale = "26598549" la chaîne "99865542" sera affiché
II-8. Les fonctions en Php • Syntaxe • <? Function nomFonction($arg1,$arg2,…,$arg3) • { corps de la fonction..; • [return $valeur_de_retour;]}…… • nomfonction($p1,$p2,….,$pn); //appel de la fonction • echo nomfonction($p1,$p2,….,$pn); //si la fonction retourne une valeur • ?> • Exemple : <? • function affiche($x) • { echo ("la valeur de x est $x"); } • function multiplier($a,$b) • { $p=$a*$b; • return $p;} • ……. • affiche(5); // appel de la fonction affiche • Echo multiplier(4,8); // 32 sera affiché • ?> • NB: en Php toute fonction doit être préalablement définie avant d’être utilisée.
II-9. Utiliser MySQL avec Php • MySQL est un Système de Gestion de bases de données relationnelles basé sur le langage d’interrogation SQL(Structured Query Language). • L’utilisation de MySQL avec Php s’effectue en quatre étapes : • 1èreétape : Connexion au serveur de données : • Mysql_Connect("Localhost", "root",""); • la fonction Mysql_Connect() retourne un entier permettant • de vérifier la connexion. • 2èmeétape :Sélection de la base de données : • Mysql_select_db(database_name); • la fonction Mysql_select_db() retourne true ou false selon • que l’opération réussit ou non • Exemple : soit la base de donnée Gclasse contenant une table eleve ayant la structure suivante : Code_el, Nom_el, Classe, Moy_ann. • Mysql_select_db(gclasse);
3èmeétape :Exécution d’une requête SQL: Mysql_Query(requête); requête est une chaîne de caractères représentant une requête SQL : Exemples : $rq="Select * from eleve"; $resultat= Mysql_Query($rq);// les données se trouvent maintenant //dans la mémoire dans la variable $resultat 4èmeétape :Exploitation des résultats: La fonction Mysql_fetch_array() permet la lecture du résultat enregistrement par enregistrement. Elle met l’enregistrement sous forme d’un tableau associatif : exemple : $enreg est un tableau associatif d’indices les nom de colonnes du table eleve. Tantque la fonction Mysql_fetch_array dans le tableau $enreg echo $enreg["code_el"]; echo $enreg["nom_el"]; echo $enreg["classe"]; echo $enreg["moy_ann]; Fin Tantque
Activité : Utilisé PhpMyadmin pour créer la base de données gclasse. Bouton droite sur Option « Administration » Choisir «Gestion BDD» Nommer la base et valider nommer la table eleve et mettez le nombre de champs 4 et valider nommer le champs et les paramètres (taille de champs de type varchar, clé primaire …) et valider en cliquant sur le bouton « sauvegarder » choisir le menu « Insérer » pour insérer les enregistrements.