APP-TSWD Apprentissage Par Problèmes Techniques des Sites Web Dynamiques Licence Professionnelle FNEPI Valérie Bellynck, Benjamin Brichet-Billet, Mazen.

Slides:



Advertisements
Présentations similaires
La boucle for : init7.c et init71.c
Advertisements

Algorithmique (suite)
Conception de Site Webs dynamiques Cours 5
1 Bases de donn é es relationnelles. 2 Introduction au mod è le relationnel les donn é es sont repr é sent é es par des tables, sans pr é juger de la.
Création de Pages Web Dynamiques
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 &
C.
Personal Home Page / Hypertext Processor (PHP)
PHP mySQL Extension php_mysql. Connexion à une base de données Établir une connexion mysql_connect(string server, string username, string password) –permet.
Algorithme et programmation
Cours n°3 Les formulaires
Révision Avant lintra – Architecture de lordinateur, les composants, le fonctionnement, codage – Système dexploitation: organisation des données (fichier),
CPI/BTS 2 Programmation Web Introduction au PHP
HELHA informatique de gestion
RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données
Les instructions PHP pour l'accès à une base de données MySql
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.
1 PHP 1.Langage PHP 1.1. Types de base, variables et constantes 1.2. Opérateurs et expressions 1.3. Instructions 1.4. Fonctions 2.Accès aux bases de données:
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 2. Première balise -Plusieurs types de balise - - … -Partout !
PHP 2° PARTIE : FONCTIONS ET FORMULAIRE
Animateur : Med HAIJOUBI
PHP 1° PARTIE : LES BASES © BTS IRIS 2002 [tv] Présentation Historique
PHP & My SQL.
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),
 Syntaxe du langage PHP
 Requêtes MySQL en PHP Introduction
420-B63 Programmation Web Avancée Auteur : Frédéric Thériault 1.
Tutorat en bio-informatique Le 14 novembre Au programme… Les objets –Propriétés (attributs) –Constructeurs –Méthodes.
Cours n°4 Les tableaux associatifs
 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 web dynamique Licence Professionnelle.
Function cas(uneNoteCCouCF){ laCellule.align="center"; uneNoteCCouCF=Number(uneNoteCCouCF); if(isNaN(uneNoteCCouCF)){ return "-"; } else { if(uneNoteCCouCF>=0){return.
Les bases de l’algorithmique
Scripts et fonctions Instructions de contrôle
1 PHP 5 Notions fondamentales (niveau 1 cours #3) Formation continue – Cégep de Sainte-Foy François G Couillard.
Principes et variables
Philippe Gandy – 10 novembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
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.
Variables : notion Une variable permet de stocker/manipuler une donnée dans un programme avec un nom explicite Caractériser par son type (entier, flottant,...)
APP-TSWD Apprentissage Par Problèmes Techniques des Sites Web Dynamiques Licence Professionnelle FNEPI Valérie Bellynck, Benjamin Brichet-Billet, Mazen.
1 Initiation aux bases de données et à la programmation événementielle VBA sous ACCESS Cours N° 5 Support de cours rédigé par Bernard COFFIN Université.
Étapes pour la Programmation du 68HC11 I. Écriture du programme dans un fichier *.a11 II. Le programme est compilé (traduit en langage machine) III. Le.
UNIX AVANCE Yves PAGNOTTE – Janvier – QUELQUES RAPPELS SUR LES SYSTEMES D’EXPLOITATION 1.
APP-TSWD Apprentissage Par Problèmes Techniques des Sites Web Dynamiques Licence Professionnelle FNEPI Valérie Bellynck, Benjamin Brichet-Billet, Mazen.
1 Les bases de données Séance 7 Les fonctions avancées : Opérateurs ensemblistes, Sous-requêtes et transactions.
Introduction à la programmation
APP-TSWD Apprentissage Par Problèmes Techniques des Sites Web Dynamiques Licence Professionnelle FNEPI Valérie Bellynck, Benjamin Brichet-Billet, Mazen.
1 Initiation aux bases de données et à la programmation événementielle VBA sous ACCESS Cours N° 1 Support de cours rédigé par Bernard COFFIN Université.
La création des données d’exemplaire pour un exemplarisateur Sudoc.
Introduction à la Programmation Orientée Objet H.GATI.
1 Initiation aux bases de données et à la programmation événementielle VBA sous ACCESS Cours N° 7 Support de cours rédigé par Bernard COFFIN Université.
APP-TSWD Apprentissage Par Problèmes Techniques des Sites Web Dynamiques Licence Professionnelle FNEPI Valérie Bellynck, Benjamin Brichet-Billet, Mazen.
Informatique 1A Langage C 6 ème séance 1. Objectifs de la séance 6  Allocation dynamique de mémoire  Application à la création de tableaux 2.
Informatique 2A Langage C 3 ème séance.
IFT359 – Programmation fonctionnelle Thème #8 Création de nouvelles formes syntaxiques 1.
Cours de Langage C Les structures
FORMATIONENT/SVT Saint Orens Vendredi 15 novembre 2013.
Informatique 2A Langage C 4ème séance
INSCRIPTIONS SPORTIVES
1 Initiation aux bases de données et à la programmation événementielle Construction d’un état Support de TD rédigé par Bernard COFFIN Université Paris.
Les Fichiers M me DJEBOURI. D. Faculté de Médecine salle informatique Année universitaire الجمهورية الجزائرية.
UE2 - M22 Licence acoustique
LES TABLEAUX EN JAVA.
Concepts de base de la programmation
Python Nicolas THIBAULT
Transcription de la présentation:

APP-TSWD Apprentissage Par Problèmes Techniques des Sites Web Dynamiques Licence Professionnelle FNEPI Valérie Bellynck, Benjamin Brichet-Billet, Mazen Mahrous Grenoble INP – Pagora 10 novembre 2014 Cours en Réponse à questions, n° 2

Groupe : ? Autres groupes ? ? Profs Comment lire la doc. de référence de PHP, php.net ? Qu’est-ce que le code « !== FALSE » trouvé dans l’exemple de fgetcsv() ? Petites révisions des structures de contrôle de boucle : while, for et foreach… Quelle est la différence entre != et !== ? Qu’est vraiment un tableau associatif ? Différence entre tableau indexé et tableau associatif ? Questions reçues

Description de la « déclaration » Le «manuel de référence » de PHP type de ce qui est « rendu » type des paramètres crochet pour marquet que le « contenu » est facultatif

Description des paramètres Le «manuel de référence » de PHP ce qui est « rendu » paramètres NULL si échec

Valeur de retour Le «manuel de référence » de PHP Notes !! FALSE si fin de fichier NULL si échec

Un exemple du manuel traitement d’une ligne appel de la fonction Si l’affectation « rend » FALSE, on sort de la boucle fermeture du fichier Le fichier doit d’abord être ouvert ouverture du ficher Après chaque instruction, la tête de lecture est positionné pour la prochaine lecture

L’affectation qui « rend » FALSE ou NULL if ( ($handle = fopen("test.csv", "r") ) !== FALSE) {... while ( ($data = fgetcsv($handle, 1000, ",") ) !== FALSE) {… affectation comparaison Et pourquoi pas != ?

Opérateurs d'affectation Opérateurs d’affectation <?php $a = ($b = 4) + 5; echo "a=$a, b=$b \n"; ?> <?php $a = 3; $a += 5; $b = "Bonjour "; $b.= " tout le monde!"; ?> affecte la valeur 8 à la variable $a correspond à l'instruction '$a = $a + 5'; affecte la valeur "Bonjour tout le monde!" à la variable $b : identique à $b = $b." tout le monde!"; $a est maintenant égal à 9, et $b vaut 4

Le type booléen : FALSE, TRUE

La valeur spéciale NULL

(=,) ==, !=, ===, !== : opérateurs de comparaison Opérateurs d'affectation : = Opérateurs de comparaison : ==, !=, ===, !== ExempleNomRésultat $a == $bEgalTRUE si $a est égal à $b après le transtypage. $a === $bIdentiqueTRUE si $a est égal à $b et qu'ils sont de même type. $a != $bDifférentTRUE si $a est différent de $b après le transtypage. $a <> $bDifférentTRUE si $a est différent de $b après le transtypage. $a !== $bDifférentTRUE si $a est différent de $b ou bien s'ils ne sont pas du même type. $a < $bPlus petit queTRUE si $a est strictement plus petit que $b. $a > $bPlus grandTRUE si $a est strictement plus grand que $b. $a <= $bInférieur ou égalTRUE si $a est plus petit ou égal à $b. $a >= $bSupérieur ou égalTRUE si $a est plus grand ou égal à $b.

Comparaison d’égalité avec == ou === Comparaison de types en PHP == TRUEFALSE 10 NULL array()"php""" TRUE FALSETRUEFALSE TRUEFALSE TRUEFALSETRUE FALSETRUE 1 FALSETRUEFALSE 0 TRUEFALSETRUE FALSETRUE === TRUEFALSE 10 NULL array()"php""" TRUE FALSE TRUEFALSE 1 TRUEFALSE 0 TRUEFALSE $a == $bEgalTRUE si $a est égal à $b après le transtypage. $a === $bIdentiqueTRUE si $a est égal à $b et qu'ils sont de même type. $a != $bDifférentTRUE si $a est différent de $b après le transtypage. $a <> $bDifférentTRUE si $a est différent de $b après le transtypage. $a !== $bDifférentTRUE si $a est différent de $b ou bien s'ils ne sont pas du même type.

L’affectation qui « rend » FALSE ou NULL if (($handle = fopen("test.csv", "r")) !== FALSE) {... while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {… Le manuel de référence de PHP dit que fopen() « Retourne une ressource représentant le pointeur de fichier, ou FALSE si une erreur survient. » Donc en cas d’erreur, $handle vaut FALSE. Pour comparer « explicitement » à FALSE, on utilise === et !==. Ici, on ne veut traiter que s’il n’y a pas eu d’erreur. Le manuel de référence de PHP dit que fopen() « fgetcsv() retourne NULL si un paramètre handle invalide est fourni ou FALSE en cas d'autres erreurs, y compris la fin du fichier. » Donc en cas d’erreur, $handle vaut FALSE. Pour comparer « explicitement » à FALSE, on utilise === et !==. Ici, on ne veut traiter que s’il n’y a pas eu d’erreur.

empty(), is_null(), isset(), if($x) Comparaison de types en PHP Après l’affectation de $x, définie par l’expression de la colonne 1, le type de al variable est fourni en résultat de la fonction gettype($x) dans la colonne 2 puis les résultats de empty($x), is_null($x), isset($x) dans les colonnes 3 à 5, et la dernière colonne donne le résultat du test fi($x). Expression gettype()empty()is_null()isset()boolean : if($x) $x = ""; chaîne de caractères TRUEFALSETRUEFALSE $x = null; NULL TRUE FALSE var $x; NULL TRUE FALSE $x est indéfini NULL TRUE FALSE $x = array(); array TRUEFALSETRUEFALSE $x = false; boolean TRUEFALSETRUEFALSE $x = true; boolean FALSE TRUE $x = 1; entier FALSE TRUE $x = 42; entier FALSE TRUE $x = 0; entier TRUEFALSETRUEFALSE $x = -1; entier FALSE TRUE $x = "1"; chaîne de caractères FALSE TRUE $x = "0"; chaîne de caractères TRUEFALSETRUEFALSE $x = "-1"; chaîne de caractères FALSE TRUE $x = "php"; chaîne de caractères FALSE TRUE $x = "true"; chaîne de caractères FALSE TRUE $x = "false"; string FALSE TRUE

Boucle while incrément du compteur fin de la boucle initialisation du compteur condition de sortie de la boucle corps de la boucle récupération de la borne instruction while

Lire : Ce sont des « tableaux associatifs » : ils associent des clés à des valeurs. Référencement par index numérique ou textuel Faire afficher les valeurs d’un tableau Tableau en PHP $data['nom'] $data['prenom'] $data[0] $data[1] echo "\n La première valeur est ".$data[0]; echo "\n La deuxième valeur est $data[1]"; echo "\n La deuxième valeur est ${data[1]}"; print( "\n La valeur du tableau à l’index « nom » est ".$data['nom'] ); echo "\n Toutes les valeurs du tableau \$data sont "; print_r($data);

Lire : Tableau en PHP

Explictement par le constructeur PHP $entete = array( 'nom', 'prenom', ); Valeur par valeur, indice implicite $entete[] = 'nom'; $entete[] = ’prenom’; Implicitement comme résultat d’une fonction $entete = fgetcsv($pointeTeteFic); Valeur par valeur avec l’indice $entete[0] = 'nom'; $entete[1] = 'prenom'; Déclaration d’un Tableau en PHP Valeur par valeur avec un indice textuel $ligne[‘nom’] = ’De Penguern De Trisigondi’; $ligne[‘prenom’] = ’Pierre-Antoine'; $ligne[$entete[0]] = ’De Penguern De Trisigondi’; $ligne[$entete[1]] = ’Pierre-Antoine’;

Avec l’instruction for : Exemple de fgetcsv() Parcours d’un Tableau en PHP : for incrément du compteur récupération de la borne comparaison du compteur pour sortir initialisation d’un compteur $num champs à la ligne $row: \n"; $row++; for ($c=0; $c \n"; } } fclose($handle); } ?> contenu de la boucle

Parcours d’un Tableau en PHP : foreach Avec l’instruction foreach : Amélioration de l’exemple de fgetcsv() instancie la valeur associée Plus besoin de récupérer la borne instancie la clé de chaque valeur spécifie le tableau $num champs à la ligne $row: \n"; $row++; foreach ($data as $k => $v) { echo "data[$k] = ". $data[$k]. "= ${data[$k]} = $v \n"; } } fclose($handle); } ?> contenu de la boucle

La mémoire occupée par un tableau Des petits essais à faire pour manipuler les tableaux en PHP : Un tutoriel sur les tableaux PHP et la liste de toute les fonctions PHP sur les tableaux : Explications avec illustration graphique de la place prise en mémoire pour les tableaux PHP : Explications sur la manière dont PHP s’y prend pour mémoriser un tableau : grosso-modo, un calcul est appliqué sur les clés pour identifier une liste d’éléments (les clés sont « hashées ») ; deux clés peuvent conduire à une collision; il y a alors plusieurs éléments dans la liste; chaque élément de la liste contient la clé, la valeur, et les adresses mémoire de ses éléments précédent et suivant.

La mémoire occupée par un tableau Exemples interactifs de commandes sur les tableaux avec affichage de la place mémoire occupée js/tableaux/tailleMemoire- pourTableaux.php?n1=on&n2=on&n8=on

Quelques fonctions très utiles sur les tableaux

$_SERVER $_GET $_POST $_REQUEST Exemples de tableaux : les variables d’environnement foreach($_SERVER as $k => $v){ echo "\n $k $v »; }

Liens

 Structuration du code : Modularité, inclusion et contrôle

header.php Structuration du code footer.php vars.php

Structuration du code index.php

Composition d’une page

Exemple de menu dynamique

Les variables d’environnement Et beaucoup d’autres… Aller plus loin…

Retour aux formulaires: GET, POST Osef.php Ex_form.html Exemple en live…