Historique PHP. Pourquoi Php? Logiciel libre et gratuit. Principe de fonctionnement. PHP sur son ordi

Dimension: px
Commencer à balayer dès la page:

Download "Historique PHP. Pourquoi Php? Logiciel libre et gratuit. Principe de fonctionnement. PHP sur son ordi"

Transcription

1 Historique PHP S. Lanquetin LE2I Aile sciences de l'ingénieur Bureau G206 l De Personnal Home Page Crée en 1994 par Rasmus Lerdorf (réécrit 3 fois) l Version stable (dec2013) PHP 4 n'est plus maintenu depuis fin 2007 PHP 6 abandonné mars 2010 (PHP 5.4) l A Php Hypertext Preprocessor Un acronyme récursif calqué sur le principe Gnu's not Unix l Doc officielle en français 2 Pourquoi Php? Ø Nombreux outils Ø Alternatives : Asp, JSP / Servlets, Cfm, CGI, Perl,... Logiciel libre et gratuit l Langage de script coté serveur disponible dans plusieurs environnements l Développé en C l Soutenu par la Apache Fundation Software ("édité" par Zend technologies l Site officiel Ressources en français: Ressources en anglais 3 4 Principe de fonctionnement PHP sur son ordi 5 l Traitement coté serveur Demande de page Navigateur Serveur http Page résultante Page PHP? Résultat du traitement Schéma simplifié du déroulement d une requête mettant en jeu une page PHP Interprète le code PHP (généralement génère une page HTML) PHP Résultat requête Requête BD? Base de données 6 l Pourquoi? Pour tester ses scripts en local l Programmes : Apache : Serveur Web (site statique) Php : plug-in pour Apache (site dynamique) MySql : gestion de base de données l Packs : WAMP (mise à jour régulière), MAMP, XAMPP 1

2 PHP sur son ordi PHP salle machine l Télécharger WampServer Apache PHP MySQL l Installer en laissant les options par défaut l Lancer WampServer l Changer la langue (clic droit sur l icône) l Lancer la page d accueil de Wamp (clic gauche puis LocalHost) l Projets c:/wamp/www l Déposer vos fichiers dans public_html chmod 755 (lecture et exécution pour tt le monde) Lire vos pages depuis : l l (kundera) l Wamp sur clé usb? En bref 9 l Seul le code HTML est disponible coté utilisateur echo '<h1> Cours de PHP </h1>'; Résultat dans le navigateur Page PHP (sur serveur) Page générée et transmise 10 l Pages web : format html l Pages web dynamiques générées avec PHP : format php. l Directement intégré dans les pages HTML grâce au conteneur de la norme XML : l Autres notations rencontrées : <? (mauvais) <% %> <script language="php"> </script> Structure type Syntaxe l Très proche du C, C++, Java l ; en fin d'instruction l echo pour afficher du code à l'écran echo 'Cours de PHP'; l Autre écriture : print Print 'Cours de PHP';

3 Syntaxe Caractères spéciaux l HTML dans PHP echo '<h1> Cours de PHP </h1>'; l ' ' plus rapide que " " l Problème : chaîne contenant ' echo 'J\'apprends PHP'; echo 'J'apprends PHP'; l Ajout d'une image echo '<h1> Cours de PHP </h1>'; echo '<img src="images/coccinelle.gif" alt="image" />'; l Tabulation : \t l Retour chariot : \r l Nouvelle ligne : \n echo 'Texte'. "\n"; echo "Passage ligne dans code HTML \n"; Passage à la ligne Les variables echo "Pas de passage ligne "; echo "Passage ligne dans code HTML \n"; echo "Passage ligne dans page HTML et code HTML <br /> \n"; echo "Suite"; l Pas de déclaration de type l identificateurs de variable : "$" (dollars). $ma_variable = 12; $ma_variable = "texte"; l Type d'une variable défini par la valeur affectée à sa création : Booléen, entier (integer), décimal (double) Chaîne de caractères (string) Tableau (array) Objet (object) NULL Convention Nom de variable Quelques fonctions l Minuscule l _ entre les mots l Sens (éviter abréviations, initiales, i ) l empty($var) : renvoie vrai si la variable est vide l isset($var) : renvoie vrai si la variable existe l unset($var) : détruit une variable l gettype($var) : retourne le type de la variable l settype($var, type ) : convertit la variable en type type (cast) l Descriptif : $couleur_texte, $couleur_fond l is_long(), is_double(), is_string(), is_array(), is_object(), is_bool(), is_float(), is_numeric(), is_integer(), is_int()

4 Test d existence Test variable vide if( isset($var)) { //$var existe else { //$var n'existe pas if(empty($var)) { //$var vide else { //$var non vide Destruction Les variables unset($var); l Une variable peut avoir pour identificateur la valeur d une autre variable. Syntaxe : ${$var = valeur; $var = "variable"; ${$var = 2007; echo $variable; // Portée d'une variable Portée d'une variable l Script php $ma_variable = "valable tout le script"; l Globale global $var; pour accéder à $var dans une fonction l Locale (fonction, boucle ) function fonction() { $var = "valable toute la fonction"; for ($i=0 ; $i<10 ; $i++) { l Super-globale variable globale automatique Pas global $var; pour accéder à $var dans une fonction

5 Variables superglobales l Accessibles de n importe où $GLOBALS : Ensemble des variables globales du script. $_SERVER : Variables de serveur et d'exécution $_GET : Variables provenant de l'url $_POST : Variables envoyées par formulaire $_FILE : Fichiers envoyés par formulaire $_COOKIE : Variables transmises avec cookies par le navigateur $_SESSION : Variables de session $_REQUEST : Variables de requête http (ne pas faire confiance à leur contenu) $_ENV : Variables d'environnement (système d'exploitation) Eléments de $_SERVER phpinfo() affiche variables d environnement et autres informations sur la configuration du serveur Apache Quelques variables : l 'PHP_SELF' : nom du script en cours l 'HTTP_ACCEPT ': liste des types MIME supportés par le client l 'HTTP_USER_AGENT ': signature du navigateur du client l 'REMOTE_ADDR' : adresse IP du client l 'HTTP_REFERER' : URL de la source ayant renvoyée le client sur la page en cours l $nom_script=$_server['php_self'] Références Constantes l Référence à une variable grâce à l opérateur & $toto = 100; // $toto est initialisée à 100 $var = &$toto; // $var fait référence à $toto $toto++; // modification de $toto echo $var; // modification répercutée sur $var qui vaut alors 101 Valeur d'une constante fixée une fois pour toute. Pas de symbole $ (dollars) Pas modifiable Sensible à la casse par défaut (3 ème param pour non) define("var",valeur) : définit la constante var (sans $) de valeur valeur define("auteur","moi"); echo auteur; // affiche Moi define("prix",30); echo PRIX; // affiche 30 Opérateurs Tableaux (I) l Opérateurs arithmétiques : +, -, *, /, %, ++, -- l Opérateurs d assignement : =, *=, /=, +=, -=, %= l Opérateurs logiques : and, &&, or,, xor,! $x*=$y; $x=$x*$y; l Tableau : variable de type array. éléments de tout type. éléments séparés d une virgule éléments de types différents l Un tableau peut être initialisé avec la syntaxe array $couleurs = array('red', 'yellow', 'blue', 'white'); red yellow blue white 29 l Opérateurs de comparaison : ==, <, <=, >, >=,!= ou <> 30 $var="contenu"; $tab = array('texte', 5, 2.5, $var); texte contenu 5

6 Tableaux (II) l Mais il peut aussi être initialisé au fur et à mesure. Exemples : $villes[0] = "Dijon"; $villes[1] = "Chalon"; Dijon Chalon Auxerre $villes[2] = "Auxerre"; $prenoms[ ] = "Julien"; $prenoms[ ] = "Clément"; $prenoms[ ] = "Armand"; Julien Clément Armand Tableaux (III) l Parcours d un tableau. l Exemple 1 : $i=0; while($i < count($tab)) { echo $tab[$i]."\n"; $i++; $tab = array('dijon', 'Chalon', 'Auxerre'); // count() retourne le nombre d éléments 31 l L appel d un élément du tableau se fait à partir de son indice (dont l origine est zéro comme en C). echo $tab[2]; // pour afficher le 3ème élément 32 l Exemple 2 : foreach($tab as $elem) { echo $elem."\n"; // $elem prend successivement les valeurs de $tab Tableaux (IV) Tableaux (IV) 33 l Quelques fonctions: count($tab) [sizeof ($tab)] : retournent le nombre d éléments du tableau 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 range($i,$j) : retourne un tableau contenant un intervalle de valeurs shuffle($tab) : mélange les éléments d un tableau sort($tab) : trie alphanumérique les éléments du tableau 34 l Quelques fonctions : rsort($tab) : trie alphanumérique inverse les éléments du tableau implode($str,$tab) [join] : retournent une chaîne de caractères contenant les éléments du tableau $tab joints par la chaîne de jointure $str explode($delim,$str) : retourne un tableau dont les éléments résultent du hachage de la chaîne $str par le délimiteur $delim array_merge($tab1,$tab2,$tab3 ) : concatène les tableaux passés en arguments array_rand($tab) : retourne un élément du tableau au hasard Tableaux associatifs (I) Tableaux associatifs (II) l Tableau associatif : dictionnaire ou hashtable. Une clé est associée à chacun des éléments Sa valeur est de type chaîne de caractères. l L initialisation d un tableau associatif est similaire à celle d un tableau normal. $nbre = array(0=>"zero", "un","deux", "dix-sept"=>17); l Parcours d un tableau associatif. accès direct aux éléments sans passer par les clés foreach($nbre as $valeur) { echo "Valeur : $valeur <br />\n"; accès simultané aux clés et aux éléments. 35 $ nbre[0] = "zero"; $ nbre["dix-sept"] = 17; la clé 0 est associée la valeur "zero" la clé "dix-sept" est associée la valeur foreach ($nbre as $cle => $valeur) { echo "Cle : $cle; Valeur : $valeur <br />\n"; 6

7 Tableaux associatifs (III) Tableaux associatifs (IV) l Quelques fonctions : array_count_values($tab) : retourne un tableau contenant les valeurs du tableau $tab comme clés et leur fréquence comme valeur (redondances) array_keys($tab) : retourne un tableau contenant les clés du tableau associatif $tab array_values($tab) : retourne un tableau contenant les valeurs du tableau associatif $tab array_search($val,$tab) : retourne la clé associée à la valeur $val l L élément d un tableau peut être un autre tableau. l Les tableaux associatifs permettent de préserver une structure de données. l Quelques fonctions alternatives pour le parcours de tableaux (normaux ou associatifs) : reset($tab) : place le pointeur sur le premier élément current($tab) : retourne la valeur de l élément courant next($tab) : place le pointeur sur l élément suivant prev($tab) : place le pointeur sur l élément précédant each($tab) : retourne la paire clé/valeur courante et avance le pointeur Tableaux associatifs (IV) Tableau à deux dimensions l Exemple l 2 dimensions : $tab[][] $couleurs = array("rouge", "Vert", "Bleu"); $nbr = count($couleurs); reset($couleurs); for($i=1; $i<=$nbr; $i++) { echo current($couleurs)."<br />"; next($couleurs); $tableau[0][0] = 1; Tests : if... then... else Tests : switch... case... default 41 syntaxe : if ( condition1 ) { Instruction 1; //changement de condition avec elseif elseif ( condition2 ) { Instruction 2; else { Instruction 3; if ($a==$b) { echo "A est égal à B"; elseif ($a > $b) { echo "A est supérieur à B"; else { echo "A est inférieur à B"; 42 l Conditions successives sur la valeur d'une variable, 'switch' remplace le test 'if... elseif... Else'. l 'break' sinon toutes les conditions seront vérifiées et exécutées. switch (variable) { case valeur1: Instruction1; break; case valeur2 : Instruction2; break; default: InstructionN; break; switch ($a) { case $b: echo "A est égal à B"; break; default: echo "A est différent de B"; break; 7

8 Boucles Break;Continue 43 3 boucles différentes : while ( condition ) { Instruction; do { Instruction; while (condition); for (expr1; expr2; expr3) { Instruction; $i=1; while ($i <= 10) { echo "$i " ; $i++; $i=1; do { echo "$i "; $i++; while ($i <= 10) for ($i = 1; $i <= 10; $i++) { echo "$i "; 44 break : sort d'une boucle. continue : passe à l'itération suivante sans exécuter le code contenu dans la boucle. for ($i=1; $i<=10; $i++) { if ($i==3) { echo "$i+ "; continue; if ($i<=5) { echo $i; else { break; echo "- "; Fonctions each() et list() Fonctions each() et list() each(..) : l retourne la combinaison clé-valeur courante du tableau passé en paramètre, l puis se positionne sur l'élément suivant, l du premier au dernier indice. l fin du tableau, each( ) retourne la valeur faux (false). list(..) : l souvent associée à la fonction each l permet de récupérer l'ensemble clé, valeur d'un tableau. $tableau = array("val1","val2","val3","val4"); while ($var = each($tableau)) { echo "$var[0] : $var[1]"; $tableau = array("val1","val2","val3","val4"); while (list($cle, $valeur)= each($tableau)) { echo "$cle : $valeur"; Formulaires (I) Formulaires (II) Permet à l'utilisateur de saisir des données libres Interactivité l Page «interface» Formulaire HTML classique Les variables reçues porteront le nom des champs Mise en oeuvre facile Développement Compatibilité <form name="saisie" id="saisie" action="script.php" method="post"> <label for="nom">nom : </label> <input type="text" name="nom" id="nom" /><br/> <label for="prenom"> Prenom : </label> <input type="text" name="prenom" id="prenom" /><br/> <input type="submit" value="valider" /> <input type="reset" value="effacer" /> </form>

9 Formulaires (III) l Page "réception" $_GET pour method="get" $_POST pour method="post" Exemple $nom = $_POST[ nom']; $prenom = $_POST['prenom']; if (!isset ($_POST['nom'])){ echo "formulaire pas reçu correctement"; else{ echo 'Bonjour '.$_POST['nom']; Rque : Tester l'ensemble des valeurs attendues pour des raisons de sécurité Dates et heures (I) Dates et heures (II) 51 Quelques fonctions : l date("$format") : retourne une chaîne de caractères contenant la date et/ou l heure locale au format spécifié echo "Nous sommes le ".date(d/m/y H:i:s); echo "Nous sommes le ".date(d/m/y)." et il est ".date(h:i:s); l checkdate($month, $day, $year) if(checkdate(13, 32,2007)) echo "Cette date est valide"; else echo "Cette date n'est pas valide"; //le 32/13/2007 n'existe pas!!!! 52 Les formats pour date : l d -> [01..31] j -> [1 31] l l -> Monday Sunday l D -> Mon Sun l w -> [0..6] (0: dimanche) l z -> [0..365] l m -> [01..12] n -> [1..12] l F ->January December l M ->Jan Dec l Y ->2009 y ->09 Dates et heures (III) Dates et heures (IV) Les formats pour heure : l h ->[01..12] g ->[1..12] l H -> [00..23] G -> [0..23] l i -> Minutes [00..59] s -> Secondes [00.59] l a am ou pm A AM ou PM l L Booléen année bisextile (1) ou pas (0) l S Suffixe ordinal anglais d'un nombre (ex: nd pour 2) l t Nombre de jour dans le mois donné [28..31] l U Secondes depuis une époque l Z Décalage horaire en secondes [ ] Quelques fonctions : l getdate() : retourne un tableau associatif contenant la date et l heure $aujourdhui = getdate(); $mois = $aujourdhui['mon']; $jour = $aujourdhui['mday']; $annee = $aujourdhui['year']; echo ''$jour/$mois/$annee''; // affiche 14/2/2007 l mktime ($hour, $minute, $second, $month,$day, $year) : retourne le timestamp UNIX correspondant aux arguments fournis c est-à-dire le nombre de secondes entre le début de l'époque UNIX (1er Janvier 1970) et le temps spécifié l time() : retourne le timestamp UNIX de l heure locale

10 Dates et heures (V) Entêtes HTTP (I) l Les clés du tableau associatif retourné par getdate seconds : secondes minutes : minutes hours : heures mday : jour du mois wday : jour de la semaine, numérique mon : mois de l'année, numérique year : année, numérique yday : jour de l'année, numérique weekday : jour de la semaine, textuel complet en anglais month : mois, textuel complet en anglais l header : Envoi des entêtes particuliers du protocole HTTP Syntaxe : header($str); Exemples : header("content-type: image/gif"); // spécifie le type d image gif header("location: ailleurs.php"); // redirection vers une autre page header("last-modified: ".date("d, d M Y H:i:s")." GMT"); Envoi des entêtes AVANT affichage de tout caractère dans la page en cours l headers_sent() : Retourne TRUE si les entêtes ont déjà été envoyées, FALSE sinon. Entêtes HTTP (II) Inclusions Exemple header("location: home2.php"); // redirection vers une autre page exit(); // au cas où On peut inclure dans un script php le contenu d un autre fichier. l require génère une erreur et interrompt le script. Pour fichier nécessaire au fonctionnement de l'application require "fichier.php"; l Rque: format d un entête en général Champ: valeur Sans espace entre champ et : l include génère un avertissement et poursuit l'exécution. Gérer le cas où le script n'existe pas include "fichier.php"; Arrêt prématuré Fonctions (I) l exit arrête prématurément un script l die est un allias l Exemples : function sortir() { exit(); function sortir() { die(); l arguments sans spécification du type. l Non respect du prototypage (nbre de paramètres) et de la casse. function mafonction($nom="inconnu") { echo "Verif nom : ".$nom."<br/>"; $message = "Salut ".$nom; return $message; $msg = MaFonction("toto"); //majuscules!!! echo "message : ".$msg."<br/>"; $msg = mafonction(); Stoppe tout le script, pas seulement le bloc en cours

11 Fonctions (II) Fonctions (III) l Même sans paramètre, parenthèses ( ) l Arguments séparés par une virgule, l Corps de la fonction délimité par des accolades { Exemples : l global : variable de portée globale au programme. global $var; l $GLOBALS tableau associatif pour accéder aux variables globales du script $GLOBALS["var"] //accès à $var 61 function afficher($str1, $str2) { // passage de deux paramètres echo "$str1, $str2"; function bonjour() { // passage d aucun paramètre echo "Bonjour"; function GetColor() { // retour d une variable de type chaîne return "black"; 62 function change() { global $var; // définit $var comme globale $GLOBALS["toto"] ++; // incrémente la variable globale $toto $var++; // répercuté dans le programme l static permet de conserver la valeur d une variable locale à une fonction. function change() { static $var; // définit $var comme statique $var++; // valeur conservée jusqu au prochain appel Fonctions (III) Fonctions (IV) l global : variable de portée globale au programme. global $var; l Passage par référence 63 l $GLOBALS tableau associatif $GLOBALS["var"] //accès à $var $toto=0; function change() { global $var; // définit $var comme globale $var=2; $GLOBALS["toto"] ++; // incrémente la variable globale $toto $var++; // répercuté dans le programme echo "avant <br/> toto= ".$toto."<br/>"; change(); echo "après <br/> toto=".$toto." var=".$var; 64 $var=0; toto($var) // appel fonction function toto(&$param) // déclaration fonction { // passage par référence $param++; Fonctions (V) Fonctions (VI) l Une fonction peut être définie après son appel function avant() { // définition de la fonction avant(); apres(); function apres() { // définition de la fonction l Une fonction peut retourner plusieurs valeurs tableau list() function trigo($nbr) { // retour d un tableau return array(sin($nbr), cos($nbr), tan($nbr)); $r = ; /* affectation aux variables $a,$b et $c des éléments du tableau retourné par la fonction trigo */ list($a, $b, $c) = trigo($r); // affichage des variables echo "sin($r)=$a, cos($r)=$b, tan($r)=$c";

12 Chargement de fichiers (I) Transmission d'un fichier vers le serveur. l <input type="file" /> l enctype = "multipart/form-data" l Méthode POST l Taille de fichier limite, paramètre MAX_FILE_SIZE en octet <form method="post" enctype="multipart/form-data" action="upload.php"> <p> <input type="hidden" name="max_file_size" value=" " /> <input type="file" name="fichier" size="30" /><br/> <input type="submit" name="upload" value="envoyer" /> </p> </form> Chargement de fichiers (II) Pour récupérer le fichier l Contenu du tableau $_FILES : $_FILES['fichier']['name'] //nom du fichier sur la machine client $_FILES['fichier']['type'] //type MIME du fichier $_FILES['fichier']['size'] //taille en octet du fichier téléchargé $_FILES['fichier']['tmp_name'] //nom temporaire du fichier chargé sur le serveur $_FILES['fichier']['error'] //code d'erreur associé au téléchargement Chargement de fichiers (III) l Exemple du cas du chargement de ce qui doit être une image GIF de moins de octets $ext_img = array('.gif', '.GIF'); // tableau des extensions autorisées if (isset($_files[$nom_fichier]['name'])) { $ext = strrchr($_files[$nom_fichier]['name'], '.'); // extraction du nom du fichier temporaire sur le serveur : $fichier = basename($_files[$nom_fichier]['name']); $taille = filesize($_files[$nom_fichier]['tmp_name']); //Si l'extension est dans le tab extensions et verif taille if($_files[$nom_fichier]['size'] <= && in_array ($ext, $ext_img)) { // nouveau nom, emplacement et extension du fichier : $file_def = $dir.'/'.$name.'.'.$ext; //à définir // copie du fichier temporaire dans son nouvel emplacement copy($file_tmp, $file_def); // ou move_uploaded_file else {... else { Chargement de fichiers (IV) Exemple 1 : // vérification fichier bien envoyé par la méthode POST if (is_uploaded_file($mon_fichier)) { // déplace le fichier dans le répertoire de sauvegarde copy($userfile, $dest_dir); // ou move_uploaded_file($userfile, $dest_dir); Exemple 2 : /* déplacement du fichier dans le répertoire de sauvegarde en faisant les vérifications nécessaires */ move_uploaded_file($mon_fichier, $dest_dir); Cookie / Session l Durée de vie des variables limitée au script Cookie / Session l Durée de vie des variables limitée au script Script A Script B Script A Script B Variables de A Variables de A Variables de B Enregistrement des Variables de A Récupération des Variables de A Cookie Coté client Coté serveur Session

13 73 Cookies(I) l setcookie() : définit un cookie envoyé avec entêtes ; true/false Nom Valeur Temps avant expiration depuis 1/1/1970 Æ time()+nbsecondes Chemin où il est disponible : '/' Æ sur le domaine, '/rep/' Æ dans rep Domaine.adresse.fr secure: true Æ positionné ssi connexion sécurisée (https) $_SERVER["HTTPS"] httponly : true Æ pas accessibles aux langages de scripts A indiquer avant tout code HTML bool setcookie ( string $name [, string $value [, int $expire = 0 [, string $path [, string $domain [, bool $secure = false [, bool $httponly = false ]]]]]] ) l accessible dans $_COOKIE l valeurs de cookies aussi dans $_REQUEST 74 Cookies(II) l Envoi d'un Cookie $value = 'test'; setcookie("testcookie", $value, time()+3600); //expire dans 1 heure l Afficher un Cookie echo $_COOKIE["TestCookie"]; l Effacer un Cookie setcookie("testcookie", $value, time()-3600); Sessions (I) Sessions (II) l Moyen de sauvegarder et de modifier des variables l session_start() : démarre une session 75 l Permet de sécuriser un site, d espionner le visiteur l Informations de sessions conservées en local sur le serveur Identifiant de session (cookie, URL) l $_SESSION : tableau associatif des valeurs stockées dans les sessions l Lancer la session avant tout code HTML 76 session_start(); if (!isset($_session['compteur'])) { $_SESSION['compteur'] = 0; else { $_SESSION['compteur']++; l unset() : détruit la ou les variables dont le nom est passé en param session_start(); unset($_session['compteur']); Sessions (III) Sessions (IV) l session_destroy() : détruit les données de session et ferme la session Ne détruit pas les variables globales ni le cookie de session Avant : effacer l'identifiant de session et l'éventuel cookie de session l session_write_close() : ferme une session sans la détruire l session_name('nom') : donne un nom à une session 1 seule session à la fois! session_start(); $_SESSION = array(); // Détruit toutes les variables de session // Si vous voulez détruire complètement la session, effacez égal ement le cookie de session session_destroy(); // Finalement, on détruit la session session_name('utilisateur'); session_start(); session_write_close(); // Fermeture de la session session_name('administrateur'); session_start(); // Accès en lecture à $SESSION de la session utilisateur

14 Fichiers (I) Fichiers (II) 79 l fopen($file,$mode) : ouverture du fichier, retourne un identificateur $fp Les modes d ouverture : 'r' (lecture seule), 'r+' (lecture et écriture), 'w' (création et écriture seule), 'w+ (création et lecture/écriture), 'a (création et écriture seule ; place le pointeur de fichier à la fin du fichier), 'a+' (création et lecture/écriture ; place le pointeur de fichier à la fin du fichier) $fp = fopen("../docs/faq.txt", "r"); $fp = fopen("http://www.php.net/","r"); $fp = "w"); 80 Quelques fonctions: l fclose($fp) : ferme le fichier identifié par le $fp l fgets($fp[, $length]) : lit une ligne de $length caractères au maximum l fwrite($fp, $str) : écrit la chaîne $str dans le fichier identifié par $fp l fgetc($fp) : lit un caractère l feof($fp) : teste la fin du fichier l file_exists($file) : indique si le fichier $file existe l filesize($file) : retourne la taille du fichier $file l filetype($file) : retourne le type du fichier $file l unlink($file) : détruit le fichier $file l copy($source, $dest) : copie le fichier $source vers $dest l readfile($file) : affiche le fichier $file l rename($old, $new) : renomme le fichier $old en $new Fichiers (III) Accès aux dossiers (I) 81 l Exemple typique d affichage du contenu d un fichier : $file = "fichier.txt" ; $str=""; if( $fd = fopen($file, "r")) { // ouverture du fichier en lecture while (! feof($fd) ) { // teste la fin de fichier $str.= fgets($fd, 1024); /* lecture jusqu à fin de ligne où des 1024 premiers caractères */ fclose ($fd); // fermeture du fichier echo $str; // affichage else { exit("ouverture du fichier <strong>$file</strong> impossible."); 82 Quelques fonctions : l chdir($str) : Change le dossier courant en $str. Retourne TRUE si succès, sinon FALSE. l getcwd() : Retourne le nom du dossier courant (en format chaîne de caractères). // dossier courant echo getcwd(). "\n"; chdir('cvs'); // dossier courant echo getcwd(). "\n"; Accès aux dossiers (I) Quelques fonctions : l opendir($str) : Ouvre le dossier $str, et récupère un pointeur $d dessus si succès, FALSE sinon l closedir($d) : Ferme le pointeur de dossier $d. l readdir($d) : Lit une entrée du dossier identifié par $d ou bien retourne FALSE s il n y a plus de fichier. Accès aux dossiers (III) l if ($dir = opendir('.')) { // ouverture du dossier while(false!==($file = readdir($dir))) { // lecture d une entrée echo "$file<br />"; // affichage du nom de fichier closedir($dir); // fermeture du dossier 83 l rewinddir($d) : Retourne à la première entrée du dossier identifié par $d

15 URL (I) URL (II) l URL (Uniform Ressource Location) Exemple par l URL : l Exemples d URL: <a href="index.php?imprim=yes&user_id=75">version imprimable</a> l 2 variables transmises au script index.php l Pas d'espace l? => séparation paramètres et nom de fichier. l lettres, chiffres - _. 85 l Autres caractères codés :%xx. xx code hexadécimal. 86 l = sépare nom de paramètre et valeur transmise. l & sépare deux paramètres. URL (III) URL (IV) 87 l urlencode($str) : code la chaîne $str. Caractères interdits remplacés par leur code hexadécimal. et espace remplacé par + Exemple 1 : echo" <a href=\"$_server['php_self']?toto=".urlencode($toto)."\"> Toto</a>"; l rawurlencode($str) : code la chaîne $str. Caractères interdits remplacés par leur code hexadécimal. et espace remplacé par %20 Exemple 2 : echo "<a href=\"$_server['php_self']?toto=".rawurlencode($toto)."\"> Toto</a>"; l Décoder avec la fonction réciproque adéquate 88 Quelques fonctions de codage sur l URL : Codage de base : l urlencode : Encode une chaîne en URL. l urldecode : Décode une chaîne encodée URL. Codage complet : l rawurlencode : Encode une chaîne en URL, selon la RFC3986. l rawurldecode : Décode une chaîne URL, selon la RFC3986. Codage plus évolué : l base64_encode : Encode une chaîne en MIME base64. l base64_decode : Décode une chaîne en MIME base64 URL (V) URL (VII) l parse_url($str) : retourne un tableau associatif contenant les différents éléments de l URL passée en paramètre. $tab = parse_url("http://www.cia.gov:8080/form.php?var=val"); l parse_str($str[,$tab]) : analyse la chaîne $str comme si c était une URL et en extrait les variables et valeurs respectives qui seront alors connues dans la suite du script l Possibilité de stocker les variables sous forme d'inex de tab Champ Valeur scheme http host port 8080 path form.php $str = //sans le paramètre $tab parse_str($str); echo $nom."<br/>".$ [0]."<br/>".$ [1]; //avec le paramètre $tab parse_str($str,$tab); echo $tab['nom']."<br/>". $tab[' '] [0]."<br/>". $tab[' '][1]; 89 query var=val 90 15

16 Expressions régulières Expressions régulières l Objectif : traitements complexes sur les chaînes de caractères 92 l Exemples d'applications : vérifier la validité des chaînes de caractères ( , entrée chiffrée, entrée texte, etc...) extraire des parties bien précises d'une chaîne, d'un texte, d'une page, etc... rendre des s et url cliquables dans vos textes gérer des éléments spécifiques placés entre vos balises perso, mise en forme, style spécial,... Expressions régulières Exemples l Expression rationnelle = Expression décrivant un langage pouvant être obtenu à partir des mots et des opérations de produit d'ensembles, d'itération et d'union. l Expression régulière (Regular expression = REGEXP) = la même chose avec beaucoup plus de fonctionnalités (mais même puissance) l p(ai i)n barre verticale = alternative Tout ce qui s'écrit pain ou pin Les parenthèses délimitent la portée de l'alternative l Au lieu de langage, on parle de motif (pattern) l Éléments de base pour définir un motif littéraux : a, toto, : alternative entre deux motifs * : 0, 1 ou plusieurs occurrences de ce qui précède l a(ba)* ca* tous les mots a ou aba ou abababa...ba ou c ou ca ou caaa...a Expressions régulières Expressions régulières l Symboles quantificateurs * : 0, 1 ou plusieurs occurrences de ce qui précède + : 1 ou plusieurs occurrences de ce qui précède? : 0 ou 1 occurrence de ce qui précède l Autres symboles ^ : début de chaîne $ : fin de chaîne. : n'importe quel caractère (une seule fois) l Intervalles de reconnaissance a{3 : aaa a{2, : minimum deux a consécutifs aa, aaa, a{2,4 : aa, aaa, aaaa l Exemple ^(De Tout ce qui commence par ou N'importe quel caractère 0 ou 1 fois

17 Classes de caractères Classes complémentée l [...] : choix entre les caractères indiqués entre crochets. a[rm]e : are ou ame, <h[123456]> : balises de titre <h1> <h2> <h3>, etc... l [^...] : tout sauf ce qui est énuméré ensuite [^1] : tout sauf le chiffre 1 [^1-6] : tout sauf les chiffres de 1 à 6 ^[^0-9] : tout ce qui ne commence pas par un chiffre l [ ] : tiret = intervalle à l'intérieur de la classe (métacaractère) <h[1-6]> : <h[123456]> [a-za-z] : caractères minuscules et majuscules [-0-9] : tiret ou chiffres de 0 à Classes prédéfinies Classes abrégées 99 Il existe des séquences types : l [[:alnum:]] : [A-Za-z0-9] caractères alphanumériques l [[:alpha:]] : [A-Za-z] caractères alphabétiques l [[:digit:]] : [0-9] caractères numériques l [[:blank:]] : espaces ou tabulation l [[:xdigit:]] : [0-9a-fA-F] caractères hexadécimaux l [[:graph:]] : caractères affichables et imprimables l [[:lower:]] : [a-z] caractères minuscules l [[:upper:]] : [A-Z] caractères majuscules l [[:punct:]] : caractères de ponctuation l [[:space:]] : tout type d espace l [[:cntrl:]] : caractères d échappement l [[:print:]] : caractères imprimables sauf ceux de contrôle 100 Classe abrégée Correspondance \d [0-9] \D [^0-9] \w [a-za-z0-9_] \W [^a-za-z0-9_] \t Tabulation \n Nouvelle ligne \r Retour chariot \s Espace blanc (correspond à \t \n \r) \S Ce qui n'est PAS un espace blanc (\t \n \r). Tout (Classe universelle) l 2 types de regex : POSIX PCRE (perl plus rapide) l À utiliser avec les fonctions preg_... l Délimiteurs autour de la regex (#) l Création de variables $1 $2 avec des () dans la regex pour réutiliser des morceaux de chaines dans le remplacement $0 = chaine entière l L'option la plus utilisée : i pour ne pas faire de différence entre minuscule et majuscule l (' délimiteur motif délimiteur, options ') l Échappement des métacaractères \ #! ^ $ ( ) [ ] {? + *. \

18 Résumé PREG 103 Les motifs peuvent être très complexes et contenir des caractères spéciaux. l [abcdef] : liste de caractères autorisés l [a-f] : plage de caractères l [^0-9] : exclusion des caractères de 0 à 9 l ^ : le motif suivant doit apparaître en début de chaîne l \^ : recherche du caractère ^ que l on déspécialise par l antislash \ l. : remplace un caractère l? : rend facultatif le caractère qu il précède l : occurrence de l'élément situé à gauche de cet opérateur ou de celui situé à droite l + : indique que le caractère précédent peut apparaître une ou plusieurs fois l * : pareil que + Mais le caractère précédent peut ne pas apparaître du tout l {i,j : retrouve une chaîne contenant entre au minimum i et au maximum j fois le motif qu il précède l {i, : idem mais pas de limite maximum l {i : retrouve une séquence d exactement i fois le motif qu il précède l $ : chaîne finissant par 104 Fonctions : l preg_match($motif, $str) : occurrence de $motif dans la chaîne $str : renvoi un entier (0 ou 1) l preg_match_all($motif, $str) : nbre d'occurrences de $motif dans la chaîne $str : renvoi un entier l preg_replace($motif, $newstr, $str) : remplace les occurrences de $motif dans $str par la chaîne $newstr l preg_split($motif, $str) : retourne un tableau des souschaînes de $str délimitées par les occurrences de $motif Exemple Mail l Exemples de motifs PCRE : "#[A-Z]#" : recherche toutes les majuscules "#[a-za-z]#" : recherche toutes les lettres de l alphabet minuscules ou majuscules "#[^aeyuio]#" : exclu les voyelles "#^Le# " : toute chaîne commençant par le mot "Le" suivi d un espace "#\.com$#" : toute chaîne se terminant par ".com" (déspécialise le point) l Exemples : if ( $ ) ) { echo "Vous êtes chez Wanadoo."; l La fonction mail envoie un message électronique. Syntaxe : mail($to, $subject, $message[, $headers, $params]); $message ="votre message"; "cours PHP", $message); l Retourne true si mail accepté pour livraison false sinon $ = $ ); l Arguments obligatoires :destinataire, sujet du message et message. Entêtes et paramètres additionnels facultatifs (attention : spam). 105 l Ce dernier exemple remplace en 106 l Note: programme de messagerie électronique («mailer») installé sur le serveur. Attention Exemple l Windows : accès direct de PHP à un serveur SMTP. en début de ligne supprimé. remplacez. par un double.. $text = str_replace("\n.", "\n..", $text); // Le message $message = "Line 1\nLine 2\nLine 3"; // lignes avec plus de 70 caractères découpées en utilisant wordwrap() $message = wordwrap($message, 70); // Envoi du mail 'Mon Sujet', $message);

19 109 Exemple avec entête $to = $subject = 'le sujet'; $message = 'Bonjour!'; $headers = 'From: "\r\n". 'Reply-To: "\r\n". 'X-Mailer: PHP/'. phpversion(); mail($to, $subject, $message, $headers); Exemple mail html // Plusieurs destinataires $to = ', '; // notez la virgule $to.= ; // Sujet $subject = 'Calendrier des anniversaires pour Août ; // message $message = file_get_contents("entete.php"). '<h1>du code html</h1>'. file_get_contents("pied.php"); // Pour envoyer un mail HTML, l'entête Content-type doit être définie $headers = 'MIME-Version: 1.0'. "\r\n"; $headers.= 'Content-type: text/html; charset=iso '. "\r\n"; // En-têtes additionnels $headers.= 'To: Tata "\r\n"; $headers.= 'From: Moi "\r\n"; $headers.= 'Cc: "\r\n"; $headers.= 'Bcc: "\r\n"; // Envoi mail($to, $subject, $message, $headers); 110 Mail html l Pour envoyer des mails HTML plus complexes, il est recommandé d'utiliser le paquet PEAR PEAR::Mail_Mime Débogage l Fonctions d affichage echo $x : Affichage de la valeur print $x : Affichage de la valeur var_export($x) : Affichage de la représentation PHP print_r($x) : Affichage du contenu var_dump($x) : Affichage du type et du contenu php.ini Configuration de PHP l Fichier dans le répertoire PHP l Modification avec un éditeur de texte l Permet de configurer PHP et ses extensions Directives booléen : on/off ou 0/1 numérique : temps en s, parfois K, M, G chaine : " " Valeurs l Modifications avec httpd.conf,.htaccess, ini_set()

20 Recommandations l short_open_tag = Off (<? ) l safe_mode = Off l error_reporting = E_ALL (niveau d'erreur filtré) l display_errors = On dev Off prod affichage des erreurs dans la page l log_errors = On l register_globals = Off ($nom=$_post['nom']) l magic_quotes_* =Off Les classes 115 Qu est ce qu une classe Une classe représente un objet, avec des variables et des méthodes associées Définition d une Classe class chien{ public $nom; public function aboyer() { echo Woof! ; Définition de la classe chien. Objet chien : 1 attribut : nom 1 action : aboyer Définition d une Classe Définition d une Classe class chien{ public $nom; public function aboyer() { echo Ouaf! ; Nom de la classe. class chien{ public $nom; public function aboyer() { echo Ouaf! ; 1 Attribut de l objet : nom du chien. 20

PHP. virginie.sans@irisa.fr http://perso.univ-rennes1.fr/virginie.sans/pwb. Internet et HTML

PHP. virginie.sans@irisa.fr http://perso.univ-rennes1.fr/virginie.sans/pwb. Internet et HTML PHP virginie.sans@irisa.fr http://perso.univ-rennes1.fr/virginie.sans/ BUR Internet et HTML PHP, qu'est-ce que c'est? Un langage pour la programmation du serveur Permet d'inclure des parties programmées

Plus en détail

Le langage PHP. Walid Belkhir Université de Provence belkhir@cmi.univ-mrs.fr http://www.lif.univ-mrs.fr/ belkhir/

Le langage PHP. Walid Belkhir Université de Provence belkhir@cmi.univ-mrs.fr http://www.lif.univ-mrs.fr/ belkhir/ Le langage PHP Walid Belkhir Université de Provence belkhir@cmi.univ-mrs.fr http://www.lif.univ-mrs.fr/ belkhir/ 1 / 38 Plan 1 Introduction au langage PHP 2 2 / 38 Qu est ce que PHP? langage interprété

Plus en détail

Apprendre à développer un site web avec PHP et MySQL Exercices pratiques et corrigés (2ième édition)

Apprendre à développer un site web avec PHP et MySQL Exercices pratiques et corrigés (2ième édition) Introduction 1. Objectif de l'ouvrage 13 2. Fonctionnement d un site web 13 Installation 1. Introduction 17 2. Installation d'easyphp 13.1 18 Les bases du langage PHP 1. Les balises 23 1.1 Syntaxe de base

Plus en détail

Programmation Web en PHP. Structures de base

Programmation Web en PHP. Structures de base Programmation Web en PHP Structures de base 1 Introduction Définition Personal Home Page ou (Hypertext PreProcessor) Un langage de scripts évolué pour la conception de sites entiers : s intègre à HTML

Plus en détail

Apprendre à développer un site web

Apprendre à développer un site web Ce livre s adresse à un public de développeurs débutants connaissant déjà le HTML et les CSS et qui souhaitent bien comprendre le fonctionnement d une application web pour créer leurs propres sites web

Plus en détail

PHP/MySQL. École Nationale Supérieure des Mines de Nancy 2nde Année

PHP/MySQL. École Nationale Supérieure des Mines de Nancy 2nde Année Bases de Données et Ingénierie des Systèmes d Information 1 PHP/MySQL École Nationale Supérieure des Mines de Nancy 2nde Année Table des matières I PHP 2 1 Les bases 2 1.1 Introduction........................................

Plus en détail

Programmation Web : Cours. IUT de Villetaneuse.

Programmation Web : Cours. IUT de Villetaneuse. Programmation Web : Cours 2 ème année IUT de Villetaneuse. Mathieu Lacroix 1 3 septembre 2015 1. E-mail : mathieu.lacroix@iutv.univ-paris13.fr, Page Web : http://www.lipn.univ-paris13.fr/~lacroix/ I.U.T.

Plus en détail

Systèmes d'informations

Systèmes d'informations Systèmes d'informations C'est un ensemble d'outils pour stocker / gérer / diffuser des informations / des données Le stockage : Bases de données + SGDBR La gestion : Saisie, Mise à jour, Contrôle La diffusion

Plus en détail

Mémento Site Dynamique / PHP

Mémento Site Dynamique / PHP Mémento Site Dynamique / PHP Pour faire fonctionner site statique : Navigateur Éditeur de texte Apache/PHP/MySQL (qu'on peut retrouver dans WampServer (uniquement Windows)) Inclure les portions de page

Plus en détail

Le langage php. Serveur http est automatiquement lancé.

Le langage php. Serveur http est automatiquement lancé. Le langage php 1. Introduction aux langages serveurs : Il y a deux modes d exécution d une page HTML : Local : en cliquant sur le fichier, le navigateur Serveur http est automatiquement lancé. Navigateur

Plus en détail

Réalisation des SI : Technologie Internet. Figure 2. Réponse d un serveur à la demande d une page Web dynamique

Réalisation des SI : Technologie Internet. Figure 2. Réponse d un serveur à la demande d une page Web dynamique Chapitre 4 : PHP Partie I : Les bases de PHP I. Introduction & historique - Il a été créé en 1994 par Rasmus Lerdorf pour les besoins des pages web personnelles (livre d or, compteurs, etc.). A l époque,

Plus en détail

Headers, cookies et sessions

Headers, cookies et sessions Headers, cookies et sessions Chargement de fichiers (upload) Entêtes HTTP et redirections Gestion des cookies et des sessions de connexions Authentification Validation des données Programmation avancée

Plus en détail

CREATION WEB DYNAMIQUE

CREATION WEB DYNAMIQUE CREATION WEB DYNAMIQUE III ) Programmation php III-1 ) Introduction Le PHP est un langage de script qui permet de dynamiser les sites web et générer des pages html selon des informations généralement stockées

Plus en détail

Introduction aux expressions rationnelles et régulières avec PHP. Application à la vérification de formulaire Ph. Declerck

Introduction aux expressions rationnelles et régulières avec PHP. Application à la vérification de formulaire Ph. Declerck Introduction aux expressions rationnelles et régulières avec PHP. Application à la vérification de formulaire Ph. Declerck 0. Plan I. Introduction II Motif A. Littéraux B. Regroupement C. Métacaractères

Plus en détail

Programmation Web. Thierry Hamon

Programmation Web. Thierry Hamon 1/27 Programmation Web Thierry Hamon Bureau H202 - Institut Galilée Tél. : 33 1.48.38.35.53 Bureau 150 LIM&BIO EA 3969 Université Paris 13 - UFR Léonard de Vinci 74, rue Marcel Cachin, F-93017 Bobigny

Plus en détail

Programmation du Web : Présentation et description du langage PHP

Programmation du Web : Présentation et description du langage PHP Programmation du Web : Présentation et description du langage PHP Jean-Baptiste Vioix (jean-baptiste.vioix@iut-dijon.u-bourgogne.fr) IUT de Dijon-Auxerre - LE2I http://jb.vioix.free.fr 1-36 Présentation

Plus en détail

Présentation PHP : un langage de programmation Communiquer avec l'extérieur. Formation web. Corum, Alastor ECP. 19 février 2010

Présentation PHP : un langage de programmation Communiquer avec l'extérieur. Formation web. Corum, Alastor ECP. 19 février 2010 Formation web Corum Alastor ECP 19 février 2010 Pré-requis Formation HTML/CSS Bases du cours d'algorithmique/programmation De vagues souvenirs du cours de modélisation de données Pourquoi PHP Objectif

Plus en détail

PHP PHP PHP PHP. Récupération des données d'un formulaire. Syntaxe

PHP PHP PHP PHP. Récupération des données d'un formulaire. Syntaxe Lionel Seinturier Programme s'exécutant côté serveur Web du code embarqué dans une page HTML entre les balises extension.php pour les pages les fichiers.php sont stockés sur le serveur (comme des

Plus en détail

P H P. 10 minutes pour comprendre

P H P. 10 minutes pour comprendre 10 minutes pour comprendre Eléments de syntaxe - Traitement de formulaires Accès bases de données - Cookies Adaptation au navigateur Exemple de la vraie vie Conseils de programmation http://campus.ec-lyon.fr/options/tic/php.pdf

Plus en détail

Introduction Web. 1ère année, cours - 5/5. Marcel Bosc 2011-2012

Introduction Web. 1ère année, cours - 5/5. Marcel Bosc 2011-2012 Introduction Web 1ère année, cours - 5/5 Marcel Bosc 2011-2012 Département informatique IUT de Villetaneuse Université Paris-13 table des matières Types en PHP Classes et objets Organisation code PHP CMS

Plus en détail

PHP. Introduction à la programmation web serveur. Université Nice Sophia-Antipolis. Découverte et pratique avec PHP. Fabien Givors

PHP. Introduction à la programmation web serveur. Université Nice Sophia-Antipolis. Découverte et pratique avec PHP. Fabien Givors Introduction à la programmation web serveur Découverte et pratique avec PHP Fabien Givors d après les cours de Philippe Renevier Gonin Université Nice Sophia-Antipolis Année universitaire 2014-2015 PHP

Plus en détail

Bases de données et Sites Web. Li345

Bases de données et Sites Web. Li345 Bases de données et Sites Web. Li345 Remerciements à: Stéphane Gançarski et Philippe Rigaux. Ces transparents sont fortement inspirés du très bon livre : Pratique de MySQL et PHP, troisième édition Philippe

Plus en détail

TD 1 - Programmation Web avec PHP (1)

TD 1 - Programmation Web avec PHP (1) TD 1 - Programmation Web avec PHP (1) CORRIGE DU TD 1 Objectif : créer des scripts du côté serveur avec PHP, utiliser quelques fonctionnalités Internet de PHP Attention : si vous recréez des pages PHP

Plus en détail

Cet ouvrage a bénéficié des relectures attentives des zcorrecteurs.

Cet ouvrage a bénéficié des relectures attentives des zcorrecteurs. Cet ouvrage a bénéficié des relectures attentives des zcorrecteurs. Sauf mention contraire, le contenu de cet ouvrage est publié sous la licence : Creative Commons BY-NC-SA 2.0 La copie de cet ouvrage

Plus en détail

L envoi d un formulaire par courriel. Configuration requise... 236 Mail Texte... 237 Mail HTML... 242 Check-list... 248

L envoi d un formulaire par courriel. Configuration requise... 236 Mail Texte... 237 Mail HTML... 242 Check-list... 248 L envoi d un formulaire par courriel Configuration requise... 236 Mail Texte... 237 Mail HTML... 242 Check-list... 248 Chapitre 9 L envoi d un formulaire par courriel L envoi par courriel d informations

Plus en détail

TP JAVASCRIPT OMI4 TP5 SRC1 2011-2012

TP JAVASCRIPT OMI4 TP5 SRC1 2011-2012 TP JAVASCRIPT OMI4 TP5 SRC1 2011-2012 FORMULAIRE DE CONTACT POUR PORTFOLIO PRINCIPE GENERAL Nous souhaitons réaliser un formulaire de contact comprenant les champs suivants : NOM PRENOM ADRESSE MAIL MESSAGE

Plus en détail

TD3 : PHP «avancé» V2.4.0

TD3 : PHP «avancé» V2.4.0 TD3 : PHP «avancé» V2.4.0 Cette œuvre est mise à disposition selon les termes de la licence Creative Commons Attribution Pas d'utilisation Commerciale Partage à l'identique 3.0 non transposé. Document

Plus en détail

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

INTRODUCTION A JAVA. Fichier en langage machine Exécutable INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du

Plus en détail

Configuration/Sécurité et performances avec PHP

Configuration/Sécurité et performances avec PHP Configuration/Sécurité et performances avec PHP Deux installations pour PHP apache Comme un module CGI Chaque invocation d'un script php entraine le démarrage d'un processus Un binaire PHP est exécuté

Plus en détail

Le langage PHP permet donc de construire des sites web dynamiques, contrairement au langage HTML, qui donnera toujours la même page web.

Le langage PHP permet donc de construire des sites web dynamiques, contrairement au langage HTML, qui donnera toujours la même page web. Document 1 : client et serveur Les ordinateurs sur lesquels sont stockés les sites web sont appelés des serveurs. Ce sont des machines qui sont dédiées à cet effet : elles sont souvent sans écran et sans

Plus en détail

Programmation Web. Sites dynamiques et bases de données. Mathieu Lacroix. I.U.T. de Villetaneuse. Année 2015-2016

Programmation Web. Sites dynamiques et bases de données. Mathieu Lacroix. I.U.T. de Villetaneuse. Année 2015-2016 Programmation Web Sites dynamiques et bases de données Mathieu Lacroix I.U.T. de Villetaneuse Année 2015-2016 E-mail : mathieu.lacroix@iutv.univ-paris13.fr Page Web : http: // www-lipn. univ-paris13. fr/

Plus en détail

Programmation Web. Introduction Les langages de programmation Web Les outils

Programmation Web. Introduction Les langages de programmation Web Les outils Programmation Web Introduction Les langages de programmation Web Les outils Page statique HTML (HyperText Markup Language) Considérons le code HTML suivant : essai 1 : une page statique

Plus en détail

Pages Web dynamiques et bases de données

Pages Web dynamiques et bases de données Cours 2 Pages Web dynamiques et bases de données Une page Web dynamique est générée automatiquement grâce à l exécution d un script (PHP par exemple). C est le résultat de l exécution de ce script (code

Plus en détail

Cours PHP 1 Sébastien LELEU - Cours disponible sur www.webfusion.fr/#!/pageformation. Sébastien LELEU. Formateur web. www.webfusion.

Cours PHP 1 Sébastien LELEU - Cours disponible sur www.webfusion.fr/#!/pageformation. Sébastien LELEU. Formateur web. www.webfusion. Sébastien LELEU Formateur web www.webfusion.fr Support de cours PHP / Partie 1 Technologies de l'information et de la Communication Tous droits réservés Sébastien LELEU Page 1 / 60 Sommaire Présentation...

Plus en détail

Introduction à PHP. Programmation objet. 15 mars 2015. IUT de Fontainebleau. Classes Héritage Interface Objet avancé Accès bases de données avec PDO

Introduction à PHP. Programmation objet. 15 mars 2015. IUT de Fontainebleau. Classes Héritage Interface Objet avancé Accès bases de données avec PDO Programmation objet IUT de Fontainebleau 15 mars 2015 Sommaire 1 Attributs et méthodes Constructeur Référence et copie 2 Classe abstraite Classe Finale 3 Définition 4 5 Sommaire Attributs et méthodes Constructeur

Plus en détail

Initiation PHP-MySQL : HTML, HTTP, URL, PHP Vocabulaire, principes et premiers pas

Initiation PHP-MySQL : HTML, HTTP, URL, PHP Vocabulaire, principes et premiers pas Initiation PHP-MySQL : HTML, HTTP, URL, PHP Vocabulaire, principes et premiers pas Olivier BOEBION 12/02/2004 1 Le point de départ 1.1 Et la lumière fut... A la fin des années 1980, Tim Berners-Lee travaillant

Plus en détail

Web (Persistance) Andrea G. B. Tettamanzi. Université de Nice Sophia Antipolis Département Informatique andrea.tettamanzi@unice.fr

Web (Persistance) Andrea G. B. Tettamanzi. Université de Nice Sophia Antipolis Département Informatique andrea.tettamanzi@unice.fr Web (Persistance) Andrea G. B. Tettamanzi Université de Nice Sophia Antipolis Département Informatique andrea.tettamanzi@unice.fr Andrea G. B. Tettamanzi, 2014 1 CM - Séance 5 Introduction à PHP Andrea

Plus en détail

Bases de données (INF225), TELECOM ParisTech. TP PHP & MySQL

Bases de données (INF225), TELECOM ParisTech. TP PHP & MySQL Bases de données (INF225), TELECOM ParisTech TP PHP & MySQL Pierre Senellart (pierre.senellart@telecom-paristech.fr) Bogdan Cautis (bogdan.cautis@telecom-paristech.fr) Ioana Ileana (ioana.ileana@telecom-paristech.fr)

Plus en détail

ISN Premiers pas en php 17/10/2011

ISN Premiers pas en php 17/10/2011 ISN Premiers pas en php 17/10/2011 Qu'est-ce que PHP? PHP est un langage de programmation qui s'intègre dans vos pages HTML. Mais, avant de continuer, il est bon d'expliquer comment se déroule une requête

Plus en détail

PHP et MySQL : notions de sécurité

PHP et MySQL : notions de sécurité PHP et MySQL : notions de sécurité Jean-Baptiste.Vioix@u-bourgogne.fr Dans ces quelques lignes des notions de sécurité élémentaires vont être présentées. Elles sont insuffisantes pour toute application

Plus en détail

NFA017 2010. Guide de survie: PHP. CNAM le 22 mars 2010 O. Pons S. Rosmorduc

NFA017 2010. Guide de survie: PHP. CNAM le 22 mars 2010 O. Pons S. Rosmorduc NFA017 2010 Guide de survie: PHP CNAM le 22 mars 2010 O. Pons S. Rosmorduc 1 / 46 Quelques documents de references sur PHP Le manuel php : http://www.php.net/manual/fr/index.php Un tutoriel "pour grands

Plus en détail

PHP/MySQL. avec Flash 8. Jean-Marie Defrance

PHP/MySQL. avec Flash 8. Jean-Marie Defrance PHP/MySQL avec Flash 8 Jean-Marie Defrance 11 Interfaçage Flash-PHP-Txt Utiliser une interface Flash en interaction avec des scripts PHP permet de réaliser de nombreuses applications qui exploitent à la

Plus en détail

PHP 5.4 Développez un site web dynamique et interactif

PHP 5.4 Développez un site web dynamique et interactif Editions ENI PHP 5.4 Développez un site web dynamique et interactif Collection Ressources Informatiques Extrait 183 Chapitre 7 Gérer les formulaires 1. Vue d'ensemble Gérer les formulaires 1.1 Petit rappel

Plus en détail

Légende. Conception de Sites Web dynamiques 2015. Résumé. Programme. Fonctionnement, p.ex. Règles du jeu 11/03/2015. Cours 5+6

Légende. Conception de Sites Web dynamiques 2015. Résumé. Programme. Fonctionnement, p.ex. Règles du jeu 11/03/2015. Cours 5+6 Légende Conception de Sites Web dynamiques 2015 Cours 5+6 Patrick Reuter http://www.labri.fr/perso/preuter/cswd2015 Titre de la page h1, h2, h3 color: red; $a = 3; SELECT * FROM commentaires; HTML CSS

Plus en détail

Sécurite Web. Xavier Tannier xavier.tannier@limsi.fr. Yann Jacob yann.jacob@lip6.fr

Sécurite Web. Xavier Tannier xavier.tannier@limsi.fr. Yann Jacob yann.jacob@lip6.fr Sécurite Web Xavier Tannier xavier.tannier@limsi.fr Yann Jacob yann.jacob@lip6.fr Généralités 80 % des sites contiennent au moins une faille de sécurité 24 familles de failles différentes : on ne présente

Plus en détail

Eléments du langage. Eléments du langage PHP. Variables. Variables

Eléments du langage. Eléments du langage PHP. Variables. Variables Eléments du langage Eléments du langage PHP Séparation des instructions Comme en C, C++, Perl, les instructions doivent être séparées par un point virgule. Les commentaires // Ceci est un commentaire sur

Plus en détail

Architecture applicative de l application Web

Architecture applicative de l application Web Architecture applicative de l application Web Principes d organisation de l application PHP Gsb-AppliFrais Les principes d'organisation de l'application s'inspirent des travaux réalisés autour du contexte

Plus en détail

Secteur Tertiaire Informatique Filière étude - développement. Développer des composants d interface Créer des formulaires de saisie

Secteur Tertiaire Informatique Filière étude - développement. Développer des composants d interface Créer des formulaires de saisie Secteur Tertiaire Informatique Filière étude - développement. Développer des composants d interface Créer des formulaires de saisie JAVASCRIPT JS08-Gestion des cookies-consignes Accueil Apprentissage Période

Plus en détail

Introduction 2 Environnement de travail... 2 Groupement de commandes... 2 Caractères spéciaux... 2

Introduction 2 Environnement de travail... 2 Groupement de commandes... 2 Caractères spéciaux... 2 TP OS n 5 2012 tv - v.1.0 Sommaire Introduction 2 Environnement de travail....................................... 2 Groupement de commandes..................................... 2 Caractères

Plus en détail

APP-TSWD Apprentissage Par Problèmes Techniques des Sites Web Dynamiques Licence Professionnelle FNEPI

APP-TSWD Apprentissage Par Problèmes Techniques des Sites Web Dynamiques Licence Professionnelle FNEPI APP-TSWD Apprentissage Par Problèmes Techniques des Sites Web Dynamiques Licence Professionnelle FNEPI Cours en Réponse à questions, n 1 Valérie Bellynck, Benjamin Brichet-Billet, Mazen Mahrous Grenoble

Plus en détail

Eléments de syntaxe du langage Java

Eléments de syntaxe du langage Java c jan. 2014, v3.0 Java Eléments de syntaxe du langage Java Sébastien Jean Le but de ce document est de présenter es éléments de syntaxe du langage Java : les types primitifs, les opérateurs arithmétiques

Plus en détail

COURS DE PROGRAMMATION DE SITE WEB 3 (Base de données web)

COURS DE PROGRAMMATION DE SITE WEB 3 (Base de données web) COURS DE PROGRAMMATION DE SITE WEB 3 (Base de données web) Chapitre 1 INTRODUCTION À PHP PLAN DU COURS 1.1 Les sites statiques et dynamiques 1.2 Fonctionnement d un site internet 1.3 Les langages du Web

Plus en détail

PHP 5.4 Développez un site web dynamique et interactif

PHP 5.4 Développez un site web dynamique et interactif Editions ENI PHP 5.4 Développez un site web dynamique et interactif Collection Ressources Informatiques Table des matières Table des matières 1 Chapitre 1 Introduction 1. Objectif de l'ouvrage.............................................

Plus en détail

Stockage du fichier dans une table mysql:

Stockage du fichier dans une table mysql: Stockage de fichiers dans des tables MYSQL avec PHP Rédacteur: Alain Messin CNRS UMS 2202 Admin06 30/06/2006 Le but de ce document est de donner les principes de manipulation de fichiers dans une table

Plus en détail

Upload de fichiers en PHP

Upload de fichiers en PHP Upload de fichiers en PHP par HERAULT Antoine Date de publication : 1er décembre 2006 Dernière mise à jour : 1er décembre 2006 Vous avez envie de permettre aux visiteurs de votre site d'uploader des fichiers

Plus en détail

Java et Objet. Amélie Lambert 2014-2015. Amélie Lambert 2014-2015 1 / 52

Java et Objet. Amélie Lambert 2014-2015. Amélie Lambert 2014-2015 1 / 52 Java et Objet Amélie Lambert 2014-2015 Amélie Lambert 2014-2015 1 / 52 Chapitre 10 Le langage JavaServer Pages (JSP) et le modèle de composants Java (Java beans) Amélie Lambert 2014-2015 2 / 52 Plan du

Plus en détail

Fonctionnement du Site Web Dynamique:

Fonctionnement du Site Web Dynamique: Fonctionnement du Site Web Dynamique: Site Web Dynamique: Un site Web dynamique est en faite un site Web dont les pages qu'il contient peuvent être générées dynamiquement, c'est à dire à la demande de

Plus en détail

TP 1. Prise en main du langage Python

TP 1. Prise en main du langage Python TP. Prise en main du langage Python Cette année nous travaillerons avec le langage Python version 3. ; nous utiliserons l environnement de développement IDLE. Étape 0. Dans votre espace personnel, créer

Plus en détail

L1 Option Programmation Web côté Serveur - Contrôle continu n 1

L1 Option Programmation Web côté Serveur - Contrôle continu n 1 L Option Programmation Web côté Serveur - Contrôle continu n Veuillez noircir les cases correspondantes à votre numéro d étudiant ( case/colonne). Si votre N est, il faut noircir le dans la ère colonne,

Plus en détail

Introduction. PHP = Personal Home Pages ou PHP Hypertext Preprocessor. Langage de script interprété (non compilé)

Introduction. PHP = Personal Home Pages ou PHP Hypertext Preprocessor. Langage de script interprété (non compilé) Introduction PHP = Personal Home Pages ou PHP Hypertext Preprocessor Langage de script interprété (non compilé) Plan Avantages Fonctionnement interne Bases du langage Formulaires Envoi d un email Avantages

Plus en détail

PHP & BD. PHP & Bases de données. Logiciels & matériels utilisés. Bases de données et Web

PHP & BD. PHP & Bases de données. Logiciels & matériels utilisés. Bases de données et Web PHP & Bases de données La quantité de données utilisée par certains sites web nécessite l'utilisation d'une base de données Il faut donc disposer d'un SGBD (mysql, postgresql, oracle, ) installé sur un

Plus en détail

T. HSU Sécurité des programmes PHP

T. HSU Sécurité des programmes PHP Sécurité des programmes PHP T. HSU IUT de LENS, Département informatique November 13, 2012 Part I Introduction à PHP Fonctionnement 1 : Requète PHP 2 : Aller chercher la page MySQL Page PHP Moteur PHP

Plus en détail

Fonctionnement du serveur Z39.50

Fonctionnement du serveur Z39.50 Fonctionnement du serveur Z39.50 Table des matières 1 Configuration du serveur...2 1.1 Comportement du serveur...2 1.2 Configuration de la traduction z39.50 -> base de données...2 1.3 Configuration du

Plus en détail

Inf340 Systèmes d information. Deuxième site : approche MVC

Inf340 Systèmes d information. Deuxième site : approche MVC Inf340 Systèmes d information Deuxième site : approche MVC Objectifs Objectif : Reprendre le site précédent en utilisant le patron de conception Modèle Vue Contrôleur. Comprendre l apport d un framework

Plus en détail

Technologies Web. Farah Benamara Zitoune Maître de conférences IRIT-UPS benamara@irit.fr

Technologies Web. Farah Benamara Zitoune Maître de conférences IRIT-UPS benamara@irit.fr Technologies Web Farah Benamara Zitoune Maître de conférences IRIT-UPS benamara@irit.fr Plan du cours Cours 1 : Introduction HTML/CSS Cours 2 : Introduction programmation web + javascirpt Cours 3 : Introduction

Plus en détail

Introduction à PHP. Formulaires HTML et PHP, interactions avec le client. monnerat@u-pec.fr. 6 avril 2015. IUT de Fontainebleau. Introduction à PHP

Introduction à PHP. Formulaires HTML et PHP, interactions avec le client. monnerat@u-pec.fr. 6 avril 2015. IUT de Fontainebleau. Introduction à PHP Formulaires HTML et PHP, interactions avec le client IUT de Fontainebleau 6 avril 2015 1 Formlaire et traitement 2 Texte Cases à cocher Listes Upload de fichiers Sommaire Formlaire et traitement 1 Formlaire

Plus en détail

08/01/2013 www.toubkalit.ma

08/01/2013 www.toubkalit.ma 1 1 - La déclaration des chaînes 2 - Les opérations sur les chaînes 3 - Des exemples utiles 2 Pour déclarer une chaîne de caractères, vous pouvez utiliser les guillemets (") ou l'apostrophe ('). var chaine1="bonjour";

Plus en détail

Gilles.Roussel univ-mlv.fr HTTP/1.1 RFC 2068

Gilles.Roussel univ-mlv.fr HTTP/1.1 RFC 2068 HTTP/1.1 RFC 2068 1 Caractéristiques Niveau application Sans état Tout transfert de données Au dessus du protocole TCP Largement utilisé dans le World Wide Web Utilise les normes : URI (Uniform Resource

Plus en détail

TD2-1 : Application client-serveur V2.3.0

TD2-1 : Application client-serveur V2.3.0 TD2-1 : Application client-serveur V2.3.0 Cette œuvre est mise à disposition selon les termes de la licence Creative Commons Attribution Pas d'utilisation Commerciale Partage à l'identique 3.0 non transposé.

Plus en détail

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr)

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Programmer en JAVA par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Plan 1. Présentation de Java 2. Les bases du langage 3. Concepts avancés 4. Documentation 5. Index des mots-clés 6. Les erreurs fréquentes

Plus en détail

Java et Objet. Amélie Lambert 2014-2015. Amélie Lambert 2014-2015 1 / 42

Java et Objet. Amélie Lambert 2014-2015. Amélie Lambert 2014-2015 1 / 42 Java et Objet Amélie Lambert 2014-2015 Amélie Lambert 2014-2015 1 / 42 Chapitre 8 Développement d applications Web Amélie Lambert 2014-2015 2 / 42 Plan du cours Typologie des applications Web Architecture

Plus en détail

Sécurité PHP et MySQL

Sécurité PHP et MySQL Sécurité PHP et MySQL Ce document est extrait du travail de diplôme de M. DIZON dans l état.. Sécurité PHP et MySQL...1 1 Introduction...1 2 Sécurisation des scripts PHP...2 2.1 Introduction...2 2.2 Filtrage

Plus en détail

1 Introduction... 17. 2 Ma première page PHP... 25. 3 Les clefs du PHP... 53

1 Introduction... 17. 2 Ma première page PHP... 25. 3 Les clefs du PHP... 53 1 Introduction... 17 1.1. Naissance de ce langage... 18 1.2. Evolution du langage... 18 1.3. Intérêt de ce langage... 19 La liberté... 19 La portabilité... 20 La facilité... 21 Un peu d histoire... 21

Plus en détail

Plan. Environnement Client/Serveur. Cours 7 JavaServer Pages (1) JSP. Programmation Web coté serveur

Plan. Environnement Client/Serveur. Cours 7 JavaServer Pages (1) JSP. Programmation Web coté serveur Plan Environnement Client/Serveur Cours 7 JavaServer Pages (1) kn@lri.fr 7.1 Principe 7.2 Rappels HTTP 7.3 Le serveur web Tomcat Programmation Web coté serveur JSP 2/28 (rappel) génération de pages-web

Plus en détail

Conception de sites Web TP n o 5

Conception de sites Web TP n o 5 Conception de sites Web TP n o 5 Objectif : Dans ce TP, vous mettrez en œuvre le langage PHP afin de gérer, entre autres, un compteur de visites, le formulaire que vous avez intégré à votre blog ainsi

Plus en détail

BTS S.I.O. 2012-2013 PHP OBJET. Module SLAM4. Nom du fichier : PHPRévisionObjetV2.odt Auteur : Pierre Barais

BTS S.I.O. 2012-2013 PHP OBJET. Module SLAM4. Nom du fichier : PHPRévisionObjetV2.odt Auteur : Pierre Barais BTS S.I.O. 2012-2013 PHP OBJET Module SLAM4 Nom du fichier : PHPRévisionObjetV2.odt Auteur : Pierre Barais Table des matières 1 But... 3 2 Les bases :... 3 3 Utilisation d'une classe : Instanciation...3

Plus en détail

Principales failles de sécurité des applications Web Principes, parades et bonnes pratiques de développement

Principales failles de sécurité des applications Web Principes, parades et bonnes pratiques de développement Guillaume HARRY l Contenu sous licence Creative Commons CC-BY-NC-ND Principales failles de sécurité des applications Web Principes, parades et bonnes pratiques de développement P. 2 1. Introduction 2.

Plus en détail

Internet et applications dans l entreprise (4) PHP

Internet et applications dans l entreprise (4) PHP Licence professionnelle «Management des organisations» Option «Systèmes d information et Réseaux» Internet et applications dans l entreprise (4) PHP 2009-2010 PHP... 3 Balises PHP... 3 Variables, formatage

Plus en détail

Utilisations pratiques de Php

Utilisations pratiques de Php UTILISATIONS PRATIQUES DE PHP 1. TRAITEMENT DES FORMULAIRES Utilisations pratiques de Php 1.1. LISTE DES DONNÉES DE FORMULAIRE 1.2. ENREGISTREMENT DES DONNÉES DE FORMULAIRE DANS UN FICHIER 2. UTILISATION

Plus en détail

Formation PHP/MySQL. Pierre PATTARD. Avril 2005

Formation PHP/MySQL. Pierre PATTARD. Avril 2005 Formation PHP/MySQL Pierre PATTARD Julien BENOIT Avril 2005 Le PHP Langage interprété, côté serveur pages interprétées par le serveur web pas de compilation, code éditable avec un bloc notes. aucune différences

Plus en détail

PHP 5.4 Développez un site web dynamique et interactif

PHP 5.4 Développez un site web dynamique et interactif Editions ENI PHP 5.4 Développez un site web dynamique et interactif Collection Ressources Informatiques Table des matières Table des matières 1 Chapitre 1 Introduction 1. Objectif de l'ouvrage.............................................

Plus en détail

La sécurisation d applications

La sécurisation d applications Université Toulouse 1 Sciences Sociales 10 mars 2008 Les firewalls ne suffisent plus Mais ont-ils jamais été suffisants? La protection à 100% n existe pas. De plus certains protocoles doivent absolument

Plus en détail

Web et présentation d information spatiale

Web et présentation d information spatiale Université de La Rochelle LUP-SIG 2004-2005 Programmation SIG et Internet Cartographique Web et présentation d information spatiale Moteurs de recherche et formulaires HTML Jean-Michel FOLLIN jmfollin@univ-lr.fr

Plus en détail

II. EXCEL/QUERY ET SQL

II. EXCEL/QUERY ET SQL I. AU TRAVAIL, SQL! 1. Qu est-ce que SQL?... 19 2. SQL est un indépendant... 19 3. Comment est structuré le SQL?... 20 4. Base, table et champ... 21 5. Quelle est la syntaxe générale des instructions SQL?...

Plus en détail

Formation Python. Sandra Dèrozier & Franck Samson 29 Mars 2013

Formation Python. Sandra Dèrozier & Franck Samson 29 Mars 2013 Formation Python Sandra Dèrozier & Franck Samson 29 Mars 2013 Programme Présentation de Python Présentation d Eclipse Caractéristiques d un programme Python Variables Python Structures de contrôle et Boucles

Plus en détail

Techniques Internet de Base 2006-2007

Techniques Internet de Base 2006-2007 Techniques Internet de Base 2006-2007 Licence 2 (Info, Maths, PC/PA) Université Jean Monnet Ruggero G. PENSA ruggero.pensa@univ-st-etienne.fr PHP Le langage PHP PHP (venant de l'acronyme récursif PHP:

Plus en détail

Phortail, le mini CMS qui vous ouvre de grandes portes! V2.0.5

Phortail, le mini CMS qui vous ouvre de grandes portes! V2.0.5 Phortail, le mini CMS qui vous ouvre de grandes portes! V2.0.5 Avant de lire ce document, sachez définir avec exactitude vos besoins et vos buts. Plusieurs liens vous sont donnés à la dernière page afin

Plus en détail

Algorithmie ISI301 TP 1 : Python et premiers algorithmes

Algorithmie ISI301 TP 1 : Python et premiers algorithmes Algorithmie ISI301 TP 1 : Python et premiers algorithmes 1 Python : apprentissage Pour avoir une vision plus large des différentes possibilités du langage Python, nous ne pouvons que vous conseiller d

Plus en détail

TP HTML n 3 : Les formulaires et le PHP

TP HTML n 3 : Les formulaires et le PHP TP HTML n 3 : Les formulaires et le PHP 1 ) Qu'est-ce qu'un formulaire? En HTML, un formulaire est un espace de saisie dans une page web, pouvant comporter plusieurs zones, ou champs : on peut y saisir

Plus en détail

12. JavaScript. Cours Web. JavaScript. 12. JavaScript. 12. JavaScript. JavaScript. Lionel Seinturier. Université Pierre & Marie Curie.

12. JavaScript. Cours Web. JavaScript. 12. JavaScript. 12. JavaScript. JavaScript. Lionel Seinturier. Université Pierre & Marie Curie. Cours Web Lionel Seinturier Université Pierre & Marie Curie Lionel.Seinturier@lip6.fr 11/7/02 Programme Java s'exécutant côté client Web (ie dans le navigateur) applet prog. "autonome" stocké dans un fichier.class

Plus en détail

6. JSP. Cours Web. Java Server Pages (JSP) 6. JSP 6. JSP. Java Server Pages (JSP) Lionel Seinturier. Université Pierre & Marie Curie

6. JSP. Cours Web. Java Server Pages (JSP) 6. JSP 6. JSP. Java Server Pages (JSP) Lionel Seinturier. Université Pierre & Marie Curie Cours Web Java Server Pages (JSP) Lionel Seinturier Université Pierre & Marie Curie Lionel.Seinturier@lip6.fr 11/7/02 Java Server Pages (JSP) Programme Java s'exécutant côté serveur Web servlet prog. "autonome"

Plus en détail

xkcd Le langage Python La GUI tkinter Christian Nguyen Département d informatique Université de Toulon et du Var 2012-2013

xkcd Le langage Python La GUI tkinter Christian Nguyen Département d informatique Université de Toulon et du Var 2012-2013 La GUI tkinter Département d informatique Université de Toulon et du Var 2012-2013 Présentation Python est né en 1990, son concepteur est De Guido Van Rossum(Pays Bas). Il présente les caractéristiques

Plus en détail

Failles XSS : Principes, Catégories Démonstrations, Contre mesures

Failles XSS : Principes, Catégories Démonstrations, Contre mesures HERVÉ SCHAUER CONSULTANTS Cabinet de Consultants en Sécurité Informatique depuis 1989 Spécialisé sur Unix, Windows, TCP/IP et Internet Séminaire 15 ans HSC Failles XSS : Principes, Catégories Démonstrations,

Plus en détail

Qu'est-ce que PHP? Langage interprété exécuté du côté serveur. Principaux atouts :

Qu'est-ce que PHP? Langage interprété exécuté du côté serveur. Principaux atouts : Qu'est-ce que PHP? Langage interprété exécuté du côté serveur Principaux atouts : - disponibilité du code source (distribué sous licence GNU GPL) - simplicité d'écriture de scripts - possibilité d'inclure

Plus en détail

Licence ST Université Claude Bernard Lyon I LIF1 : Algorithmique et Programmation C Bases du langage C 1 Conclusion de la dernière fois Introduction de l algorithmique générale pour permettre de traiter

Plus en détail

Introduction à l algorithmique et à la programmation 2013-2014. Cyril Nicaud Cyril.Nicaud@univ-mlv.fr. Cours 1 / 5

Introduction à l algorithmique et à la programmation 2013-2014. Cyril Nicaud Cyril.Nicaud@univ-mlv.fr. Cours 1 / 5 Introduction à l algorithmique et à la programmation IUT 1ère année 2013-2014 Cyril Nicaud Cyril.Nicaud@univ-mlv.fr Cours 1 / 5 Déroulement du cours Organisation : 5 séances de 2h de cours 10 séances de

Plus en détail

1. Manipulation des formulaires avec PHP. 2. Transmission d'arguments entre pages : méthodes GET et POST. 3. Manipulation du JavaScript avec le PHP.

1. Manipulation des formulaires avec PHP. 2. Transmission d'arguments entre pages : méthodes GET et POST. 3. Manipulation du JavaScript avec le PHP. TP5: LES FORMULAIRES OBJECTIFS : 1. Manipulation des formulaires avec PHP. 2. Transmission d'arguments entre pages : méthodes GET et POST. 3. Manipulation du JavaScript avec le PHP. PARTIE 1: Formulaire

Plus en détail

PHP/MYSQL. Web Dynamique. ENSG Septembre 2009

PHP/MYSQL. Web Dynamique. ENSG Septembre 2009 PHP/MYSQL Web Dynamique ENSG Septembre 2009 Ces 6 jours de formation Jour 1 : présentations, attentes, principes, HTML Jour 2 : HTML, CSS, PHP Jour 3 : formulaires, connexion à la base de données Jour

Plus en détail