Création de Pages Web Dynamiques

Slides:



Advertisements
Présentations similaires
Novembre 2005 – Michel Desconnets PHP : théorie Objectif : introduire les concepts globaux permettant d'aborder la programmation en PHP.
Advertisements

LE LANGAGE JAVASCRIPT LES FENETRES.
GESTION D’IMPRISSION SOUS WINDOWS & LINUX
Conception de Site Webs dynamiques Cours 5
Algorithmes et structures de données avancées Partie Conception de Sites Web dynamiques Cours 9 Patrick Reuter.
Algorithmes et structures de données avancées Partie Conception de Sites Web dynamiques Cours 8 Patrick Reuter.
Interactivé: L'Action Script.
Algorithmique Résume.
GEF 243B Programmation informatique appliquée Boucles §
GEF 243B Programmation informatique appliquée
Cours n°2M2. IST-IE (S. Sidhom) UE 303 Promo. M2 IST-IE 2005/06 Conception dun système d'information multimédia Architecture trois-tiers : PHP/MySQL &
TP n°1 PHP LES BASES Premier programme Affichage
Personal Home Page / Hypertext Processor (PHP)
Révision Avant lintra – Architecture de lordinateur, les composants, le fonctionnement, codage – Système dexploitation: organisation des données (fichier),
Les bases de l’Algorithmique
Points importants de la semaine Les commentaires. Les variables. Les instructions conditionnelles. Les instructions itératives (les boucles).
CPI/BTS 2 Programmation Web Introduction au PHP
HELHA informatique de gestion
Structures de données linéaires
44 Contrôle du déroulement du programme. 4-2 Objectifs A la fin de ce cours, vous serez capables de : Utiliser les constructions de prise de décision.
RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données
Les instructions PHP pour l'accès à une base de données MySql
Programmation multimédia 3
Introduction au langage PHP Réfs : Chap 3 p 49. Présentation PHP (Hypertext PreProcessor) est un langage de développement Web créé en 1994 par Rasmus.
FICHIERS : Définition : Algorithme général:
Le langage Javascript pour le web
Manipulation de formulaires en Javascript
Les Fonctions. Définir une fonction Sections de code indépendantes que lon peut appeler à nimporte quel moment et dans nimporte quel ordre. Bout de code.
Introduction à la programmation I Fonctions Structures de contrôle Structures de données (arrays simples et indexés) Variables locales et globales.
IFT 6800 Atelier en Technologies d’information
Web dynamique PhP + MySQL AYARI Mejdi 2006
LIFI-Java 2004 Séance du Jeudi 9 sept. Cours 1. La notion de langage Décrire une tâche à effectuer –programme Écrire à un haut niveau –facile pour lutilisateur.
PhP-MySQL Pagora 2012/2013 CTD 1 - Presentation de moi ^^
Formulaires, CGI et PHP David Gross-Amblard (CNAM-Vertigo/Cédric) Transparents originaux : Philippe Rigaux Projet 3I
Les Opérateurs Ils régissent toutes les opérations ou transformations sur les valeurs des variables. Opérateur d'affectation Opérateurs arithmétiques Opérateurs.
PHP 2° PARTIE : FONCTIONS ET FORMULAIRE
Animateur : Med HAIJOUBI
Javascript 1° PARTIE : LES BASES
PHP & My SQL.
Introduction au langage PHP Licence Pro Cours Internet / Intranet Utilité Historique Exemples Fonctions PHP Classes.
Département Technologie de l’Information et de la Communication
Algorithmique Les structures Rappel L'enchaînement séquentiel
PHP 5° PARTIE : LES COOKIES
JavaScript.
Scripts shell intro Un script bash est un fichier contenant une suite de commandes shell, exécutables par l'interpréteur (ici le programme /bin/bash),
Un survol du language C.
T ECHNOLOGIES WEB CHAPITRE IV : L E LANGAGE PHP 1 Mme Amani JARRAYA & Mohamed MOHSEN.
 Syntaxe du langage PHP
420-B63 Programmation Web Avancée Auteur : Frédéric Thériault 1.
Cours LCS N°4 Présenté par Mr: LALLALI
PHP 6° PARTIE : LES SESSIONS 1.Introduction 2.Identificateur de session 3.Variables de session 4.Client / Serveur 5.Principe 6.Ouverture de session 7.Enregistrement.
Module : Pages Web Dynamiques (Production Électronique Avancée)
 Formulaires HTML : traiter les entrées utilisateur
1 PHP 5 Notions fondamentales (niveau 1 – cours #2) Formation continue – Cégep de Sainte-Foy.
Initiation au JavaScript
Introduction au langage C : Structures de contrôle 1 ère année Génie Informatique Dr Daouda Traoré Université de Ségou
Cours de :.
Initiation au web dynamique Licence Professionnelle.
Function cas(uneNoteCCouCF){ laCellule.align="center"; uneNoteCCouCF=Number(uneNoteCCouCF); if(isNaN(uneNoteCCouCF)){ return "-"; } else { if(uneNoteCCouCF>=0){return.
Cours de PHP.
Module 133 Développer des applications Web Introduction à PHP.
Scripts et fonctions Instructions de contrôle
Scénario Les scénarios permettent de modifier la position, taille … des calques au cours du temps. Son fonctionnement est très proche de celui de Macromedia.
** Flash séance 2 Action script. ** Action Script Ajoute de l’interactivité Permet de contrôler les clips  Langage de programmation orienté objet.
Les calques Les Template (modèles) Les Comportements Les scénarios Les formulaires Les CSS Le serveur Web de l’UTC Présentation.
FLASH Séance 2 Xiaoliang Liang Morgane Le Nan SI28 P05.
PhP 2. Tableaux et structures de contrôle. Les tableaux Définition –Rassemblement d’un ensemble de valeurs portant le même nom de variable –Types de tableaux.
APP-TSWD Apprentissage Par Problèmes Techniques des Sites Web Dynamiques Licence Professionnelle FNEPI Valérie Bellynck, Benjamin Brichet-Billet, Mazen.
Transcription de la présentation:

Création de Pages Web Dynamiques Pro : Mehdi Rjiba A.S: 2007/2008

Sommaire Introduction Comparatif PHP / JavaScript Installation d’ EasyPHP Syntaxe de base du langage PHP Les structures de données Les structures de contrôle Les fichiers et les répertoires Communication entre page Web et un script PHP PHP et MySQL Quelques fonctions PHP (voir Annexes)

I- Introduction 1- Qu'est-ce qu’une page web dynamique ? : Une page web dynamique est une page web qui est générer et modifier en fonction de la demande d’un utilisateur. Exemple : les sites des news, de commerce électronique,… 2- Qu'est-ce que PHP ? : PHP est un langage de scripts et non un langage de programmation, car il est conçu pour faire un traitement à la suite d’un événement ou lorsqu'un utilisateur soumet un formulaire à un serveur Web. Les scripts PHP sont insérer dans le code HTML.

II- Différence entre HTML et PHP : La différence entre le HTML et le PHP réside dans la relation client- serveur . Client : Tous les visiteurs d'un site web sont des clients. Serveur : Le serveur, est un gros ordinateur tout le temps connecté à Internet. Il contient votre site web sur son disque dur, et dès qu'un client demande à voir une page web, il la lui envoie. Avec HTML : Il y a 2 étapes : Le client (c'est vous, le visiteur) demande à voir une page web. Il va donc faire une demande au serveur : "S'il te plaît, envoie-moi la page vacances.html". Le serveur lui répond en lui envoyant la page vacances.html : "Tiens, voici la page que tu m'as demandée".

Avec HTML : Le client demande à voir une page PHP. Pour lui il n'y a aucune différence. Il demande la page au serveur, toujours aussi poliment : "S'il te plaît, envoie-moi la page vacances.php". Mais là, il y a une étape très importante, qui fait toute la différence en PHP. Le serveur n'envoie pas de suite la page au client. Il la génère. En effet, le client n'est pas capable de lire une page PHP (seul le serveur sait faire ça). Le client ne peut lire que des pages HTML. Ce que fait le serveur est simple : il va transformer la page PHP en page HTML, pour que le client puisse la lire. Enfin, une fois que la page est générée, elle ne contient plus que du code HTML. Le serveur peut l'envoyer au client : "Tiens, voici la page que tu as demandée".

Seul le serveur peut lire le PHP Seul le serveur peut lire le PHP. Le client (c'est-à-dire vous), ne peut pas lire le PHP. Comment on pourra vérifier si notre travail en PHP fonctionne ? Il va donc falloir trouver un moyen pour "apprendre" le PHP à votre ordinateur. Vous pourrez alors travailler dessus pour réaliser votre site en PHP. D’où on a besoin d’un utilitaire (easyphp) contenant une gamme de programmes permettant de créer des pages web dynamiques et de les tester que ce soit du côté client ou serveur.Ces programmes sont : Apache : c'est le programme qu'utilisent les serveurs. Il permet au serveur de distribuer des pages web... mais il ne connaît que le HTML ! PHP : PHP est comme un "plugin" de Apache. Il a besoin d'Apache pour fonctionner, et grâce à lui Apache saura travailler sur des pages PHP. En clair, Apache + PHP = un serveur PHP MySQL : permet d'utiliser des bases de données. phpMyAdmin : cela vous permettra de gérer vos bases de données

III- Installation de EasyPHP Lancer l'exécution de easyphp1-8_setup.exe. Un dossier EasyPHP sera créé dans Program Files.

test.php Au démarrage d'EasyPHP, une icône apparaît à côté de l'heure. Pour automatiser le lancement au démarrage de Windows, double-cliquez sur l'icône de la barre des taches (ou lancez d'abord EasyPHP) et activez l'option "Démarrer EasyPHP en même temps que Windows" puis appliquez avant de fermer la boîte : Configurer le navigateur afin de « ne pas utiliser le Proxy pour les adresses locales » test.php

Pour vérifier le fonctionnement, relancez Windows. A l'aide d'un éditeur de texte (ConTEXT) tapez la ligne : <? php phpinfo(); ?> Enregistrez dans le dossier EasyPHP\www sous le nom test.php ; Lancez un navigateur ; Tapez l'adresse : http://localhost/test.php Ainsi, vous pourrez naviguer dans ce répertoire à partir d’un navigateur en tapant http://localhost/ ou http://127.0.0.1/ ou même http://nomposte/

IV-syntaxe de base du langage PHP Activité 2 page 122. Pour que le script PHP soit interpréter par le serveur on a : L’extension du fichier contenant le code PHP est « .php » Un script php doit être délimiter par <? ?> Le fichier php pour être exécuter doit être sauvegarder dans le dossier «c:/program files/easyphp/www » L’affichage d’un message en php se fait par la fonction echo (‘message’) ou print (‘message’) On peut afficher un message en utilisant des balises html Pour insérer un commentaire : Sur une seule ligne // commentaire Sur plusieurs lignes /* */ Pour afficher un guillemet on le précède par un back slash \ <?php echo "Celle-ci a été écrite \"uniquement\" en PHP."; ?>

V- Les structures de données en PHP 1- les constantes : Une constante est définit par la fonction define avec la syntaxe: define (‘nom cste’ , ‘valeur cste’); L’opérateur de concaténation des contenus des objets est le « . » activité 3 page 123. 2 – les variables : La déclaration d’une variable se fait avec la syntaxe : $nom_variable = valeur_variable; Une variable peut être de type texte, nombre, booléen. Pour afficher la valeur d’une variable echo ($nom_variable) Fonction de conversion de type Settype($nom_variable, type); : affecte un type à une variable; elle renvoie TRUE si la conversion est réussite sinon FALSE. En précédent une variable à convertir par les clauses (type) Exemple : $var = 15.6; $var =(int) $var;

Fonctions de manipulation de variables Gettype($nom_variable); : renvoie le type d’une variable Isset ($nomvariable); : retourne TRUE si la variable posséde une valeur sinon FALSE. On peut connaitre le type d’une variable avec l’utilisation des fonctions booléennes Is_long(),is_double(),is_string(),is_array(),is_object(); 3 – les opérateurs: voir tableau page 125, 126 4 – les entrées/sorties: Pour récupérer les informations saisies à travers des objets de formulaires $_get[‘nomobjet’] ou $_post[‘nomobjet’]

VI- LES STRUCTURES DE CONTRÔLE EN PHP 1- les structures de contrôle conditionnelles : If(condition) {expression vrai} else {expression faux} Switch(expression) { case res1 : traitement1; break; ……………………………. Case res n : traitement n ; break; Default : } 1- les structures de contrôle itératives : While(cdt) { …………..;} Do {……………..;} while(cdt); For(expr1;expr2;expr3) {………. ;}

Les conditions La structure if => if ($temps=="ensoléillé") { echo 'il fait beau'; } else { echo 'il ne fait pas beau'; } La structure if => Il est possible d'enchaîner plusieurs structures If sans avoir à les imbriquer, à l'aide de elseif if ($nombre > 1) {   echo "\$nombre est supérieur à 1"; } elseif ($nombre < 1) {  echo "\$nombre est inférieur à 1"; } else {  echo "\$nombre est égal à 1"; }

L'opérateur ternaire => echo ($nombre == 1) ? "\$nombre est égal à 1" : "\$nombre n'est pas égal à 1"; La condition doit obligatoirement se trouver entre parenthèses. Si la condition est vérifiée, la valeur de gauche est retournée, sinon, c'est celle de droite.

L'instruction switch => switch ($nombre) { case 1: echo "\$nombre est égal à 1"; break; case 2: echo "\$nombre est égal à 2"; case 3: echo "\$nombre est égal à 3"; default: echo "\$nombre est inférieur à 1 ou supérieur à 3"; break; }

Les boucles La structure for => La structure while=> Syntaxe : Exemple : for (compteur; condition; compteur) { liste d'instructions } for ( $i = 1; $i <= 10 ; $i++ ) { echo "$i "; } La structure while=> Syntaxe : Exemple : while (condition) { liste d'instructions } $i = 1; while ( $i <= 10 ) { echo "$i "; $i++; }

La structure do…while => Syntaxe : do { liste d'instructions } while ( condition); Exemple : PGCD pgcd.php <?php function pgcd($a, $b) { if ($a < $b) list ($a, $b) = array ($b, $a); //Permutation do { $r = $a % $b; if ($r == 0) return $b ; $a = $b; $b = $r; } while ($r > 0); } $n1 = 98; $n2 = 70; $pgcd = pgcd($n1, $n2); echo "Le PGCD de $n1 et $n2 est $pgcd<hr>"; ?>

V- Les Types de Données Structurés : 1- les Tableaux : Il existe deux types de tableaux : Tableaux a indices de type entier (indice du premier élément est 0) Tableaux associatifs à indices de type chaîne Remarque : En PHP il ya une possibilité de stocker dans un tableau des éléments de types différents Initialisation d’un tableau : En affectant une valeur à une variable (case du tableau) [ exemple : $tab[0] = ‘b’;] En utilisant la fonction array array(clé => valeur, clé => valeur,…) clé est soit un entier ou une chaîne. : [ exemple : $tab = array (‘p’,2) ; ] Parcours d’un tableau : Tableau possède un pointeur interne qui conserve l’indice et la valeur de l’élément actif. On peut déterminer la valeur de l’élément actif à l’aide de la fonction current($nom_tableau); On peut déterminer l’indice de l’élément actif à l’aide de la fonction key($nom_tableau);

$ar=array(5=>12,14=>3); <?php $ar=array(5=>12,14=>3); $ar[]=-6; //revient à assigner –6 à l'élément 15 $ar["e"]=23; //revient à assigner 23 à l'élément "e" unset($ar[5]); //efface l'élément 5 unset($ar); //efface tout le tableau ?> On peut connaître la taille d'un tableau à l'aide de la fonction count() ou sizeof() $x=array(3=>"r",6=>5); Count($x); //vaudra 2

Déplacement du pointeur Action Déplacement du pointeur reset() Recale le pointeur au début du tableau et renvoie le 1er élément du tableau end() Recale le pointeur à la fin du tableau et renvoie le dernier élément du tableau current() ou pos() Renvoie l'élément courant du tableau next() Fait avancer le pointeur courant de façon qu'il pointe l'élément suivant dont elle renvoie la valeur prev() Fait reculer le pointeur courant de façon qu'il pointe l'élément précédent dont elle renvoie la valeur key() Renvoie l'indic de l'élément courant du tableau each() Extrait l'élément courant et fait avancer le pointeur d'une unité list($indice,$valeur) Associée à each(), elle affecte indice et valeur de l'élément courant à 2 variables qcq foreach() Permet de traiter tout un tableau sans avoir recours au structures itératives. Elle renvoie l'indice et la valeur de l'éléments courant et avance d'un cran Tri d’un tableau : On peut trier un tableau en utilisant les fonctions sort() et rsort() pour tri croissant et décroissant. Comme on peut le trier par indice en utilisant de la même manière les fonctions ksort() et krsort()

balayer_tab02.php Exemple : parcourir un tableau <?php $vente_hebdo = array("lundi"=>1742,"mardi"=>1562,"mercredi"=>1920,"jeudi"=>1239,"vendredi"=>2012,"samedi"=>720) ; $vente_totale = 0; reset($vente_hebdo); while (list($key, $value) =each($vente_hebdo)) { echo "<BR> Vente de $key : $value unités\n"; $vente_totale += $value; } echo "<BR>Vente sur la semaine : $vente_totale unités\n"; ?>

ip_inverse.php Exemple : Afficher une adresse IP dans un ordre inverse <?php // recuperation de l'adresse ip $ip =getenv("REMOTE_ADDR"); echo $ip; // inversion $array = explode(".",$ip); //explose une chaîne selon le séparateur indiqué end($array); // on se place à la fin while (key($array)!=0) // tant qu'on est pas arrivé au début { $iip = $iip.pos($array)."."; // mise à jour de la variable prev($array); // on revient en arrière d'un élément } $iip = $iip.pos($array); echo"<hr>$iip"; // premier élément ?>

array ("informatique" => Tableau à 2 dimensions : Exemple : déclaration deuxdim.php <?php $livres = array ("informatique" => array("PHP", "Java", "Internet", "Architecture"), "dictionnaires" => array("Médical", "Automobiles"), "cuisine" => array("tunisienne", "française", "asiatique") ); ../..

../.. Manipulation echo "<b>Contenu du tableau \$livres :</b><br>"; while (list($k, $v) = each($livres)) { echo "<br>$k => "; while (list($kk, $vv) = each($v)) { echo "$vv "; } } echo "<br>"; reset($livres); for ($i=0; $i<count($livres); $i++) { list($k,$v) = each($livres); echo "<br>$k => "; for ($j=0; $j<count($v); $j++) { echo $livres[$k][$j]." "; } } ../..

for ($i=0; $i<count($livres); $i++) { list($k,$v) = each($livres); ../.. echo "<p>"; reset($livres); for ($i=0; $i<count($livres); $i++) { list($k,$v) = each($livres); echo "Le tableau \"$k\" a ".count($v)." éléments<br>"; } ?> Contenu du tableau $livres : informatique => PHP Java Internet Architecture dictionnaires => Médical Automobiles cuisine => tunisienne française asiatique informatique => PHP Java Internet Architecture dictionnaires => Médical Automobiles cuisine => tunisienne française asiatique Le tableau "informatique" a 4 éléments Le tableau "dictionnaires" a 2 éléments Le tableau "cuisine" a 3 éléments

2- les chaines de caractères : Les fonctions sur les chaines de caractères : string substr (string source, int debut, int[taille]) : renvoie une portion d’une chaine, a partir du début et d’une largeur(taille) ; si taille < 0 : en renvoie une chaine qui se termine à cette distance de la fin de la chaine source. String trim (string chaine) : fonction qui supprime les espace blancs de début et de fin de chaine Int strlen ( string chaine) : retourne la longueur d’une chaine String implode (string seperateur, array tableau): retourne une chaine constitué par tous les éléments d’un tableau , dans l’ordre, concaténer et séparés par un séparateur spécifier. Array explode(string seperateur, string chaine) : retourne un tableau contenant les éléments de la chaine séparés par un séparateur indiqué. String str_replace ( modèle , remplacement, chaine) : remplace toutes les occurrence de modèle par remplacement dans une chaine donnée