65
Les langages HTML et CSS sont des langages de simple affichage statique Grâce au PHP, l’affichage change en fonction des circonstances que vous avez programmées. C’est un affichage dynamique. Le langage PHP Personal Home Pages qui est devenu l'abréviation récursive de « PHP: Hypertext Preprocessor » ( préprocesseur hypertexte PHP).

Les langages HTML et CSS sont des langages de simple affichage statique Grâce au PHP, laffichage change en fonction des circonstances que vous avez programmées

Embed Size (px)

Citation preview

Page 1: Les langages HTML et CSS sont des langages de simple affichage statique Grâce au PHP, laffichage change en fonction des circonstances que vous avez programmées

Les langages HTML et CSS sont des langages de simple affichage statique

Grâce au PHP, l’affichage change en fonction des circonstances que vous avez programmées. C’est un affichage dynamique.

Le langage PHPPersonal Home Pages qui est devenu l'abréviation récursive de « PHP: Hypertext Preprocessor »

( préprocesseur hypertexte PHP).

Page 2: Les langages HTML et CSS sont des langages de simple affichage statique Grâce au PHP, laffichage change en fonction des circonstances que vous avez programmées

Fonctionnement d’un site statique

Page 3: Les langages HTML et CSS sont des langages de simple affichage statique Grâce au PHP, laffichage change en fonction des circonstances que vous avez programmées

Il est possible d’insérer un programme en « javascript », interprété par le navigateur, dans le fichier html.

Page 4: Les langages HTML et CSS sont des langages de simple affichage statique Grâce au PHP, laffichage change en fonction des circonstances que vous avez programmées

Comment utiliser le PHP ?

1. Site web sur un serveur hébergé

Page 5: Les langages HTML et CSS sont des langages de simple affichage statique Grâce au PHP, laffichage change en fonction des circonstances que vous avez programmées

Remarque : Pour créer un site web, vous pouvez ouvrir un compte (gratuit) chez un hébergeur qui gère PHP.

1) L’utilisateur envoi une requête pour un fichier .php vers le serveur Web.

2) Celui-ci transfère le fichier demandé à l'interpréteur, chargé de décoder les lignes PHP qui s'y trouvent.

3) L'interpréteur transfère ensuite à son tour le fichier obtenu (un fichier HTML) vers le serveur, qui se charge de le renvoyer au poste client.

4) Le navigateur du poste client affiche la page html

Page 6: Les langages HTML et CSS sont des langages de simple affichage statique Grâce au PHP, laffichage change en fonction des circonstances que vous avez programmées
Page 7: Les langages HTML et CSS sont des langages de simple affichage statique Grâce au PHP, laffichage change en fonction des circonstances que vous avez programmées

2. Site web sur son ordinateur avec WAMP (Windows Apache MySQL Php)

Notepad++ reste notre éditeur de texte avec sa coloration synthaxique

Wamp server 2 : un environnement qui vous permettra de programmer PHP en local, pour vérifier son bon fonctionnement avant implantation sur serveur.http://www.wampserver.com/

Il existe d’autres serveurs locaux comme EasyPHP ou XAMP sous LINUX.

Page 8: Les langages HTML et CSS sont des langages de simple affichage statique Grâce au PHP, laffichage change en fonction des circonstances que vous avez programmées

Exemple : L’instruction echo

Elle permet d’afficher du texte ou des données.Elle peut contenir des balises html : <p><p/>,<br/>…. les apostrophes qui sont seulement du texte sont neutralisées en plaçant \ devant chacune d'elle pourqu'elles ne soient pas considérées comme la fin de la chaîne de caractères. Taper ce programme et enregistrez-le dans page1.php et lancer-le.

Syntaxe : echo’ texte à écrire’;

<?phpecho'<p>Bonjour à tous.</p><br/>Mon vrai nom n\'est pas Toto.<br/>Mon vrai nom est Alain<br/> ';?>

Page 9: Les langages HTML et CSS sont des langages de simple affichage statique Grâce au PHP, laffichage change en fonction des circonstances que vous avez programmées

Pour pouvoir lire un fichier PHP, il faut uninterpréteur PHP installé en local « WAMP »

Ouvrez votre serveur wamp. Une fois démarré, cliquez sur son icône dans la barre d'état à droite, une sorte de W vert,

Cliquez maintenant sur cette icône, puis sur localhost. Dans la fenêtre qui s'ouvre, rubrique vos projets, ouvrez le dossier PHP... Cliquez sur votre fichier page1.php

Cliquez affichage/source sur votre navigateur : Vous pouvez constater qu'il n'y a plus trace de PHP

Page 10: Les langages HTML et CSS sont des langages de simple affichage statique Grâce au PHP, laffichage change en fonction des circonstances que vous avez programmées

Exercice 1 :

Ecrire un programme php qui affichera le texte suivant dans un explorateur.

BonjourVoici mon premier programme php.Même si le langage php n’est pas indispensable ici, cela me permet de débuter.

Page 11: Les langages HTML et CSS sont des langages de simple affichage statique Grâce au PHP, laffichage change en fonction des circonstances que vous avez programmées

Les commentaires

Deux sortes de syntaxe pour des commentaires en PHP• Petit commentaire sur une seule ligne // en début de ligne• Commentaire sur plusieurs lignes /* au début et */ en dernier...

<?phpecho'<p>Bonjour à tous.</p> ';// ceci est un commentaire/*ceci est un autre commentairesur plusieurs lignes.*/?>

Page 12: Les langages HTML et CSS sont des langages de simple affichage statique Grâce au PHP, laffichage change en fonction des circonstances que vous avez programmées

Affichage de la date et de l’heureCompléter le programme ci-dessous qui affiche le texte « voici la date et l’heure : »la fonction date("r") qui renvoie la date et l’heure.

<body><?php echo date("r"); ?></body>

Le point-virgule à la fin de la ligne de code est toujours présent mais les apostrophes ont disparus.

Visualiser le code source dans le navigateur afin d’observer ce qu’envoie le serveur au client .

Page 13: Les langages HTML et CSS sont des langages de simple affichage statique Grâce au PHP, laffichage change en fonction des circonstances que vous avez programmées

Prolongeons l'exemple en écrivant d'un seul coup une chaîne et une fonction, séparées par "." (le point permet la concaténation des instructions), comme ceci :

<html><head>

<title>My first PHP document</title></head><body>

<?phpecho ‘<p>Voici la date et l’heure : ‘ . date("r") . ‘</p>’;?>

</body></html>

Pour débuter en php : http://www.phpdebutant.org/Pour un niveau avancé : http://www.php.net/manual/fr/index.php

Page 14: Les langages HTML et CSS sont des langages de simple affichage statique Grâce au PHP, laffichage change en fonction des circonstances que vous avez programmées

Les fonctions d'heure et de datela fonction date, les autres paramètres les plus utiles :

date("y") Retourne l'année courante d'une date ; pour aujourd'hui, elle retourne : 12date("m") Retourne le mois courant d'une date ; pour aujourd'hui, elle retourne : 10date("F") Retourne le nom du mois courant d'une date ; pour aujourd'hui, elle retourne : Octoberdate("d") Retourne le jour courant du mois d'une date ; pour aujourd'hui, elle retourne : 5date("l") Retourne le nom du jour de la semaine d'une date ; pour aujourd'hui, elle retourne : Fridaydate("w") Retourne le jour de la semaine courant d'une date ; pour aujourd'hui, elle retourne : 4date("H") Retourne l'heure courante d'un temps ; au temps courant, elle retourne : 08date("i") Retourne les minutes courantes d'un temps ; au temps courant, elle retourne : 52date("s") Retourne les secondes courantes d'un temps ; au temps courant, elle retourne : 42

Page 15: Les langages HTML et CSS sont des langages de simple affichage statique Grâce au PHP, laffichage change en fonction des circonstances que vous avez programmées

Exemple d’utilisation :

Nous allons changer l’image de fond chaque jour de la semaine.

<html><head>

<title>time and date</title></head>

<body background=“image<?php echo date("w"); ?>.jpg"></body>

</html>

Il suffit de placer 7 images nommées : image1, … , image7Dans le même répertoire que le document PHP.

Page 16: Les langages HTML et CSS sont des langages de simple affichage statique Grâce au PHP, laffichage change en fonction des circonstances que vous avez programmées

Les constantes :

Exemple : Que valent les constantes « true » ou « false » ?Ecrire un petit programme permettant d’afficher la valeur de ces constantes.

Définition d’une constante :Syntaxe : define("NomConstante", "valeur");

Les constantes sont des valeurs prédéfinies qui ne peuvent pas être modifiées. Elles ne possèdent pas de $ contrairement aux variables.

Exemple :Ecrire un petit programme qui déclare deux constantes ( un nombre et une chaine de caractères ) et qui les affiche.

Page 17: Les langages HTML et CSS sont des langages de simple affichage statique Grâce au PHP, laffichage change en fonction des circonstances que vous avez programmées

Les variables :

$ devant une chaîne de caractères signifie que nous parlons d'une variable, on la nomme comme on veut ensuite,mais jamais d'accent ni d'espace dans un nom de variable.

Les types des variables• string (chaîne de caractères)• integer (nombre entier)• bool (booléen qui signifie logique binaire genre vrai ou faux)• float (nombre réel) ou double

Les variables sont élémentaires dans tous les langages de programmation, elles permettent de stocker des données et d’effectuer des opérations.

Page 18: Les langages HTML et CSS sont des langages de simple affichage statique Grâce au PHP, laffichage change en fonction des circonstances que vous avez programmées

<?php$nom='Mickaël';$age=17;$gars=true;$taille=1.75;echo $nom;echo $age;echo $gars;echo $taille;

?>

• Toutes les instructions se terminent par un point virgule.• Seule la variable string exige les guillemets (simples ou doubles)• La booléenne prend la valeur true ou false, mais sans guillemets.• Le nombre réel prend un point à l'anglo-saxonne et non une virgule...

Page 19: Les langages HTML et CSS sont des langages de simple affichage statique Grâce au PHP, laffichage change en fonction des circonstances que vous avez programmées

La fonction gettype() renvoie le type de la variable.Syntaxe de la fonction : gettype(variable);A l’aide la fonction echo, afficher les différents types de variables pour les variables qui suivent ainsi que leurs valeurs :

$x = 120;$y = 134.87;$z = "texte";$v=(3==3);$u=(3==4);$w=2.54E-6;

Remarques : En php, le type de la variable est affecté automatiquement !La concaténation s’applique aussi aux variables ( .$x. )

Page 20: Les langages HTML et CSS sont des langages de simple affichage statique Grâce au PHP, laffichage change en fonction des circonstances que vous avez programmées

Les opérateurs arithmétiquesLes opérateurs sont : •L’addition : +•La soustractions : -•La multiplication : *•La division : /•Le modulo : % qui renvoie le reste d’une division.Le signe = permet d’affecter la valeur une fois le calcul terminé.Exemple : Effectuer un programme qui effectue les opérations suivantes et les affichent.

$valeur=5;$nombre=(4+6)-2;$nombre=(4*6)/2;$nombre=22%5;

Page 21: Les langages HTML et CSS sont des langages de simple affichage statique Grâce au PHP, laffichage change en fonction des circonstances que vous avez programmées

Pour effectuer les tests, il est nécessaire d’utiliser des comparateurs.Exemple :….if ($gars==true)

{ echo 'un garçon’ ; }else { echo 'une fille’ ; }?>

Les opérateurs de comparaison :== Égal à< Inférieur à> Supérieur à<= Inférieur ou égal à>= Supérieur ou égal à!= Non égal à

Les comparateurs

Page 22: Les langages HTML et CSS sont des langages de simple affichage statique Grâce au PHP, laffichage change en fonction des circonstances que vous avez programmées

Dons les tests, il est possible de combiner des comparateurs.Exemple :<?phpif (($gars==true) && ($age>18))

{ echo 'un garçon majeur’ ; }else { echo ‘un garçon mineur ou une fille’ ; }?>

Il existe également des opérateurs logiques :

&& : ET

|| : OU

! : NON

Page 23: Les langages HTML et CSS sont des langages de simple affichage statique Grâce au PHP, laffichage change en fonction des circonstances que vous avez programmées

Exercice 2 :

Ecrire un programme php dans lequel, on initialise un entier puis nous affiche :

•La parité de ce nombre.

•Si ce nombre est inférieur à 100.

•Son complément à 100 si le nombre est inférieur à 100.

Page 24: Les langages HTML et CSS sont des langages de simple affichage statique Grâce au PHP, laffichage change en fonction des circonstances que vous avez programmées

Les formulaires

Rappel sur la balise « form » en html :

Pour remplir une variable, nous pouvons le faire avec des opérations ou nous pouvons les faire remplir par l’utilisateur.

<form action="saisie.php" method="post"><!-- Contenu du formulaire --></form>

Les attributs dans la balise form précisent le nom du formulaire, puis précisent que les variables contenues dansce formulaire seront envoyées par la méthode POST (au moment où l'utilisateur cliquera sur le bouton "submit") àla page saisie.php

Page 25: Les langages HTML et CSS sont des langages de simple affichage statique Grâce au PHP, laffichage change en fonction des circonstances que vous avez programmées

<input type="text" name="nom_champ" value="valeur par defaut">

La balise « input » en html :

L'attribut « type » prend la valeur "text" ou "password".Le nom « name » est très important car il nous permettra de récupérer la donnée.D'autres attributs sont disponibles, comme « value » qui permet d'attribuer une valeur par défaut au champ,  « size » qui permet de préciser la taille du champ en nombre de caractères, maxlength qui sert à limiter le nombre de caractères possibles, readonly qui prend pour seule valeur "readonly" et verrouille le champ

Page 26: Les langages HTML et CSS sont des langages de simple affichage statique Grâce au PHP, laffichage change en fonction des circonstances que vous avez programmées

Validation de la requête avec un bouton en html :

L’attribut « value » contient le texte affiché sur le bouton.

<input type="submit" name="envoyer" value="Valider">

<button type="submit" name="soumettre">Soumettre</br>les réponses</button>

Il existe également une balise double en html qui permet de concevoir des boutons d’acquisition.

Page 27: Les langages HTML et CSS sont des langages de simple affichage statique Grâce au PHP, laffichage change en fonction des circonstances que vous avez programmées

Ici, ce formulaire présente une zone de saisie pour entrer son nom, va à la ligne, une zone de saisie pour entrersa ville, va à la ligne, et enfin un bouton pour valider sur lequel sera écrit 'OK'...

<form name="inscription" method="post" action="saisie.php">Entrez votre nom : <input type="text" name="nom"/> <br/>Entrez votre ville : <input type="text" name="ville"/><br/><input type="submit" name="valider" value="OK"/></form>

Les attributs dans la balise form précisent le nom du formulaire, puis précisent que les variables contenues dansce formulaire seront envoyées par la méthode POST (au moment où l'utilisateur cliquera sur le bouton "submit") àla page saisie.php

Page 28: Les langages HTML et CSS sont des langages de simple affichage statique Grâce au PHP, laffichage change en fonction des circonstances que vous avez programmées

<html><head><title>Ma page d'accueil</title></head>

<body><h1>Bienvenue sur le site de toto </h1><h2>Commencez-donc par vous inscrire :</h2>

<form name="inscription" method="post" action="saisie.php">Entrez votre nom : <input type="text" name="nom"/> <br/>Entrez votre ville : <input type="text" name="ville"/><br/><input type="submit" name="valider" value="OK"/></form></body></html>

Taper ce programme et vérifier son fonctionnement.

Page 29: Les langages HTML et CSS sont des langages de simple affichage statique Grâce au PHP, laffichage change en fonction des circonstances que vous avez programmées

Les variables sont automatiquement crées dans le fichier « saisie.php » selon la formule immuable $_POST['name'] pour chaque input.

Les variables $_POST[‘nom'] , $_POST[‘ville'] et $_POST['valider'] sont crées automatiquement et peuvent être utilisées par la suite dans le programme.

La variable $_POST['valider'] contient la valeur placée dans « value » ou rien ce qui nous permet de tester si les valeurs ont été envoyées ou pas avec la fonction isset()

$_POST[ ] est en fait un tableau associatif.

Page 30: Les langages HTML et CSS sont des langages de simple affichage statique Grâce au PHP, laffichage change en fonction des circonstances que vous avez programmées

Pour afficher les variables du tableau « $_POST » crées dans le fichier « saisie.php » il est possible d’afficher les élément 1 à 1 avec une boucle mais il est également possible d’afficher le tableau avec la fonction « print_r() » valable pour tous les tableaux.

Pour préserver la mise en forme, nous pouvons utiliser la balise double « pre ».

Syntaxe de l’affichage du tableau « POST » à taper dans le fichier saisie.php :

<?phpecho "<pre>";print_r($_POST);echo "</pre>";?>

Page 31: Les langages HTML et CSS sont des langages de simple affichage statique Grâce au PHP, laffichage change en fonction des circonstances que vous avez programmées

Exercice 3 :

Ecrire un programme qui demande le nom, le prénom, l’âge et la ville puis qui affiche un récapitulatif sous la forme d’une phrase.

La fonction print_r() permet de vérifier si dans un premier temps les variables de type POST ont bien été transmises au fichier.

Remarque : Nous pouvons également transmettre les données au fichier qui contient le formulaire en testant le bouton d’acquisition avec un test.

Page 32: Les langages HTML et CSS sont des langages de simple affichage statique Grâce au PHP, laffichage change en fonction des circonstances que vous avez programmées

Les boucles et les testsCes outils sont communs à quasiment tous les langages de programmation, seule la syntaxe peut être légèrement modifiée.

Nous sommes obligé d’utiliser des variables ( incontournable également dans tous les langages de programmation ).Rappel : en php une variable x est notée $x ( valeur de x ).

Les boucles "while" Les boucles "for"If …if … else …if … elseIf … else …switch … case

Page 33: Les langages HTML et CSS sont des langages de simple affichage statique Grâce au PHP, laffichage change en fonction des circonstances que vous avez programmées

Rappel sur les comparateurs <?php //RAPPEL IMPORTANT : penser au double égalif ($nombre==4) //son contraireif($nombre!=4) //Différent deif($nombre<4) //inférieur, supérieurif($nombre>4)if($nombre<=4) //inférieur ou égal, supérieur ou égalif($nombre>=4)//si l'âge est compris entre 15 et 25 ans :if (($age>=15)&& ($age<=25))//Notez && pour le 'et' logique (AND marche aussi)//Notez les parenthèses imbriquées pour chaque sous-condition//si $truc est 'papa' ou 'maman'if(($truc=='papa')||($truc=='maman')){ echo'Chouette, mes parents !'; }?>

Page 34: Les langages HTML et CSS sont des langages de simple affichage statique Grâce au PHP, laffichage change en fonction des circonstances que vous avez programmées

La condition If …if (condition) { Instruction } La syntaxe est encore une fois très proche de celle du français ordinaire : Si (if) une condition est remplie, alors exécuter quelque chose.

<html><head>

<title>Loops </title></head><body>

<?php $x = 2; if ($x > 1) { echo ‘<p>la variable ‘.$x.’ est plus grande que 1 </p>’; } ?></body></html>

Page 35: Les langages HTML et CSS sont des langages de simple affichage statique Grâce au PHP, laffichage change en fonction des circonstances que vous avez programmées

Exercice 4 : Ecrire un programme qui permet d’acquérir le nom et l’âge d’une personne puis qui nous affiche si la personne est un enfant, un adolescent ( entre 14 et 18 ans ) ou un adulte.

<html><head><title>Structure d’un test</title></head>

<body><h1>Programme html qui permet d’aquérir les données </h1><form name="inscription" method="post" action="rep.php">Entrez votre nom : <input type="text" name="nom"/> <br/>Entrez votre age : <input type="text" name="age"/><br/><input type="submit" name="valider" value="OK"/></form></body></html>

Page 36: Les langages HTML et CSS sont des langages de simple affichage statique Grâce au PHP, laffichage change en fonction des circonstances que vous avez programmées

Il est possible de traiter les données dans le même fichier que le fichier d’acquisition

I l faut alors tester l’état du bouton ou des données du tableau $_POST[ ] avec la fonction isset().

Exemple : Pour tester l’état du bouton « submit »

isset($_POST['valider']) sera égale à 1 si $_POST['valider'] n’est pas vide sinon la fonction isset() sera égale à 0.

Reprendre le programme précédent en inscrivant toute les lignes de code dans un même programme.

Page 37: Les langages HTML et CSS sont des langages de simple affichage statique Grâce au PHP, laffichage change en fonction des circonstances que vous avez programmées

La condition If elseif else

if (condition1) { Instruction } eseif (condition2) { Instruction }

else { Instruction }

La syntaxe est encore une fois très proche de celle du français ordinaire : Si (if) une condition est remplie, alors exécuter quelque chose sinon exécuter autre chose ect…

Exercice 5 : Reprendre le programme précédent directement en php et modifier la structure en utilisant elseif.

Page 38: Les langages HTML et CSS sont des langages de simple affichage statique Grâce au PHP, laffichage change en fonction des circonstances que vous avez programmées

Entrez votre prénom :Entrez votre nombre de note de math :Entrez la moyenne de classe en math :Entrez une note de math :Entrez une autre note de math :Entrez une autre note de math :OK

Exercice 6 : Ecrire un programme afin qu’il affiche.

Lorsque l’on clique sur OK, cette phrase apparaît :Bonjour « prénom » votre moyenne est de « moyenne »Vous êtes en dessous ou au dessus de la moyenne de classe.

Remarque : Pour afficher une variable seule, il n’est pas nécessaire de mettre des apostrophes : echo $cal;

Page 39: Les langages HTML et CSS sont des langages de simple affichage statique Grâce au PHP, laffichage change en fonction des circonstances que vous avez programmées

Les tableaux simples

on appelle « index ou indice » la position de la variable dans le tableau et « valeur » la valeur de la variable entreposée

Un tableau est un moyen de stocker plusieurs variables

<?php$semaine=array('lundi','mardi','mercredi','jeudi','vendredi','samedi','dimanche');Echo $semaine[2];?>Le tableau est lui-même une variable puisqu'il commence par $, mais une variable complexe, organisée

L'index commence à 0, donc dimanche aura pour index 6 et non 7.

Page 40: Les langages HTML et CSS sont des langages de simple affichage statique Grâce au PHP, laffichage change en fonction des circonstances que vous avez programmées

$semaine[2] sera...mercredi et ainsi de suite... selon la règle : $semaine[index]

Une fois ce tableau construit, comment appeler une valeur ?

<?phpecho $semaine[2];?>

Exercice 7 : Ranger dans un tableau les 6 dernières notes de mathématiques. Calculer la moyenne de ces notes et afficher la valeur de cette moyenne.

Page 41: Les langages HTML et CSS sont des langages de simple affichage statique Grâce au PHP, laffichage change en fonction des circonstances que vous avez programmées

Exemple : tableau afin de stocker une adresse.

Il est possible de d’utiliser des chaines de caractères comme indice pour les tableaux. Ce sont des tableaux associatifs.

<?php//On signale que notre variable $adresse4 sera un tableau$adresse4 = array();//on le remplit$adresse4 ['nom']='DUPONT';$adresse4 ['prenom']='Mickaël';$adresse4 ['num'] = 12;$adresse4 ['rue'] = 'rue des églantines';$adresse4 ['cp'] = 93000;$adresse4 ['ville'] = 'SAINT-DENIS';?>

'num' est ici un index du tableau adresse. 12 est la valeur stockée à l'index 'num'.

Page 42: Les langages HTML et CSS sont des langages de simple affichage statique Grâce au PHP, laffichage change en fonction des circonstances que vous avez programmées

Bien entendu, l'intérêt d'un tableau d'adresses, c'est d'en stocker plus d'une !Alors nous procèderons... à un tableau de tableaux, un tableau imbriqué en fait...Nous venons de voir que $adresse4 est un tableau.

<?php//construction de mon tableau $agenda$agenda=array($adresse0, $adresse1, $adresse2, $adresse3 ,$adresse4);?>.

<?php//Pour convoquer 12echo $adresse4['num'];?>

Page 43: Les langages HTML et CSS sont des langages de simple affichage statique Grâce au PHP, laffichage change en fonction des circonstances que vous avez programmées

<?php//récupérer l'adresse totale de Mickaël$adresseMick= $agenda[4];/* En effet, l'adresse de Mickaël se trouve dans notre agenda à l'index 4 (l'index numérique construit automatiquement)...*///Récupérer enfin le nom de famille de Mickaëlecho $adresseMick['nom'];?>

On aurait pu retrouver le nom de Mickaël dans ce tableau de tableaux par la syntaxe suivante, plus condensée :

Il faut ensuite procèder en deux étapes :

<?phpecho $agenda[4]['nom'];?>

Page 44: Les langages HTML et CSS sont des langages de simple affichage statique Grâce au PHP, laffichage change en fonction des circonstances que vous avez programmées

La boucle "for"

L'instruction sera répétée tant que les membres "initialisation" + "pas" satisferont au membre "condition".

for (initialisation; condition; pas) { Instruction }

<html><head>

<title>Loops</title></head><body>

<?php for ($i=0; $i<=50; $i=$i+5) {echo ‘<p>variable $i is now = ' . $i . '</p>'; } ?>

</body></html>

Page 45: Les langages HTML et CSS sont des langages de simple affichage statique Grâce au PHP, laffichage change en fonction des circonstances que vous avez programmées

La boucle "while"

Tant que la condition est vraie, on exécute l’instruction

while (condition) { Instruction }

<html><head>

<title>Loops</title></head><body>

<?php $x = 1; while ($x <= 50) { echo ‘ Ce texte est répété 50 fois<br/>’; $x = $x + 1; } ?>

</body></html>

L’incrémentation de x peut également se noter $x++

Page 46: Les langages HTML et CSS sont des langages de simple affichage statique Grâce au PHP, laffichage change en fonction des circonstances que vous avez programmées

Autre exemple : La balise h est fixée par une variable.

<html><head>

<title>Loops</title></head><body><?php for ($x=1; $x<=6; $x=$x+1) { echo "<h" . $x . "> la balise h</h" . $x . ">"; } ?></body></html>

Exercice 7 : Faire l’acquisition de 10 notes, toutes comprises entre 0 et 20 et faire la moyenne de ces nombres pour ensuite afficher la moyenne.

Page 47: Les langages HTML et CSS sont des langages de simple affichage statique Grâce au PHP, laffichage change en fonction des circonstances que vous avez programmées

Les boucles dans des bouclesDans l'exemple suivant nous imbriquons trois boucles for

<html><head>

<title>Loops</title></head><body><?php for ($intRed=0; $intRed<=255; $intRed=$intRed+30){ for ($intGreen=0; $intGreen<=255; $intGreen=$intGreen+30) { for ($intBlue=0; $intBlue<=255; $intBlue=$intBlue+30)

{ $StrColor = "rgb(" . $intRed . "," . $intGreen . "," . $intBlue . ")"; echo "<span style='color:" . $StrColor . "'>" . $ StrColor . "</span>";

} } }?> </body></html>

Page 48: Les langages HTML et CSS sont des langages de simple affichage statique Grâce au PHP, laffichage change en fonction des circonstances que vous avez programmées

La commande switchLorsqu’il y a beaucoup de cas possible dans un choix, le switch est préférable à la structure if else.

switch(valeur_testee){case choix1 :{ Action1; }break; //Permet de sortir du switch

case choix2 :{ Action2; }break; //Permet de sortir du switch}

Si valeur_testee est égale à choix1 alors on réalise l’action1

Page 49: Les langages HTML et CSS sont des langages de simple affichage statique Grâce au PHP, laffichage change en fonction des circonstances que vous avez programmées

Exemple : couleur est une variable qui contient du texte.

<?phpswitch($couleur){case ‘blond':echo ‘vous avez des cheveux blonds <br/>’;break;case ‘brun':echo ‘vous avez des cheveux bruns <br/>’; break;case ‘chatain':echo ‘vous avez des cheveux chatains <br/>’;break;case ‘roux':echo ‘vous avez des cheveux roux <br/>’;break; ?>

Exercice 8 : Reprendre l’exemple précédent en utilisant la structure if else.

Page 50: Les langages HTML et CSS sont des langages de simple affichage statique Grâce au PHP, laffichage change en fonction des circonstances que vous avez programmées

La boucle foreach

La boucle foreach (pour chaque élément) présente l'avantage de parcourir la totalité d'un tableau, même si l'on n'a aucune idée du nombre d'éléments qu'il contient.

<?php//construction du tableau semaine$semaine=array('lundi','mardi','mercredi', 'jeudi', 'vendredi', 'samedi', 'dimanche');//parcours du tableauforeach($semaine as $jour) {

echo'- '.$jour.'<br/>';}

/* Pour chaque valeur du tableau $semaine, compose la variable $jour et affiche le jour puis va à la ligne... */?>

Page 51: Les langages HTML et CSS sont des langages de simple affichage statique Grâce au PHP, laffichage change en fonction des circonstances que vous avez programmées

Lorsqu’il y a 2 tableaux imbriqués, il est nécessaire d’avoir 2 boucles FOR imbriquées pour lire tous les éléments

Ouvrir le programme « tableauImbrique.php » et examiner le programme.

Page 52: Les langages HTML et CSS sont des langages de simple affichage statique Grâce au PHP, laffichage change en fonction des circonstances que vous avez programmées

La boucle foreach avec un formulairePHP construit automatiquement un tableau associatif dès que l'on soumet un formulaire.

Ce tableau se nomme $_POST, chaque élément a pour index le 'name' d'un élément du formulaire, et chaquevaleur, la valeur entrée par l'utilisateur dans chaque champ avant de cliquer sur le bouton 'submit'.

<?php/*pour chaque élément du tableau $_POST, récupère et affecte la valeur de l'index, puis récupère et affecte la valeur associée à cet index*/foreach($_POST as $index=>$valeur){echo '- '.$valeur.'<br/>';}?>

Page 53: Les langages HTML et CSS sont des langages de simple affichage statique Grâce au PHP, laffichage change en fonction des circonstances que vous avez programmées

<html><head> <title>Votre IMC</title> </head><body><h2>Entrez les données suivantes </h2><form name="formulaire" method="post" action="tableau.php">Entrez votre prénom : <input type="text" name="prenom"/> <br/>Entrez votre taille (sous la forme 1.70) : <input type="text" name="taille"/> <br/>Entrez votre poids (en kilos) : <input type="text" name="poids"/> <br/><input type="submit" name="valider" value="OK"/></form><?php

echo'Vos données entrées : '.'<br/>';if(isset($_POST['valider'])){

foreach($_POST as $index=>$valeur){echo '- '.$index.' : '.$valeur.'<br/>';}

} ?> </body> </html>

Page 54: Les langages HTML et CSS sont des langages de simple affichage statique Grâce au PHP, laffichage change en fonction des circonstances que vous avez programmées

Les fonctions

Une fonction permet d’exécuter une action répétitive.

Une fonction effectue des actions, elle peut renvoyer une valeur et être paramétrée par une ou plusieurs variables ou valeurs.

Une fonction peut se située dans la page qui fait appel à cette fonction ou dans un fichier extérieur à la page.

Les fonctions permettent de structurer un programme et existent dans la plupart des langages de programmation.

Page 55: Les langages HTML et CSS sont des langages de simple affichage statique Grâce au PHP, laffichage change en fonction des circonstances que vous avez programmées

Les fonctions dans la page

Dans la création de la fonction, il est obligatoire de commencer par écrire function, ensuite vient le nom (libre).Enfin ici, notre fonction comporte un paramètre (une variable imaginaire, $nombre, dont on ne connaît pas encorela valeur)...

Exemple : Votre programme affiche les notes d'un élève.Vous souhaitez mettre en rouge toutes les notes (strictement) inférieures à 10.Vous souhaitez mettre en vert toutes les notes supérieures (ou égales) à 15.

function colore($nombre){toutes les instructions se situeront à l'intérieur de ces accolades; et se termineront par un ;}

Page 56: Les langages HTML et CSS sont des langages de simple affichage statique Grâce au PHP, laffichage change en fonction des circonstances que vous avez programmées

<?phpfunction colore($nombre){

if($nombre<10){echo'<font color="red">'.$nombre.'</font>';}elseif($nombre>=15){echo'<font color="green">'.$nombre.'</font>';}

//cas par défaut(noir)else{echo $nombre;}

}?> Pour appeler cette fonction :

<?phpcolore($Nb);?>

Page 57: Les langages HTML et CSS sont des langages de simple affichage statique Grâce au PHP, laffichage change en fonction des circonstances que vous avez programmées

<?phpfunction Moyenne($note1, $note2, $note3){$Moy=($note1+$note2+$note3)/3;echo 'Votre moyenne annuelle : '.$Moy;}?>

28 11 2013Il est possible d’avoir plusieurs valeurs dans une fonctions.

Pour utiliser cette fonction :<?phpMoyenne(12,9,13);?>

Exercice 9 : Ecrire un programme qui affiche le plus petit nombre contenu dans un tableau $tab de $nb nombres. Une fonction Min($tab,$nb) que vous créerez , permettra de trouver puis d’afficher le plus petit nombre du tableau.Remarque : Pour obtenir la taille du tableau, nous pouvons utiliser la fonction sizeof($arrayname) qui retourne un entier.

Page 58: Les langages HTML et CSS sont des langages de simple affichage statique Grâce au PHP, laffichage change en fonction des circonstances que vous avez programmées

Les fonctions dans un fichier à part

Exemple : les fonctions utilisées se situent dans le fichier « fonction.php » qui se trouve dans le même répertoire que le fichier en cours. En début de programme, on doit avoir :

<?phpinclude('fonctions.php');?>

Une ou plusieurs fonctions peuvent être contenues dans un autre fichier. Il faut alors placer au début de la page dans laquelle on utilise cette fonction, un « include »

Exercice 10 : modifier le programme précédent de recherche du minimum d’un tableau de façon à utiliser la fonction Minimum que l’on placera dans un fichier à part.

Page 59: Les langages HTML et CSS sont des langages de simple affichage statique Grâce au PHP, laffichage change en fonction des circonstances que vous avez programmées

Fonction qui renvoie une valeur de retour

« return » retourne une valeur ( ici contenue dans la variable « resultat ».Remarque : « return » stoppe la fonction.

Structure :<?phpFunction nom($NB) { Action ; return $résultat; }?>

Exercice 11 : Reprendre le programme précédent en affichant la valeur du minimum qui est renvoyée par la fonction.

Exercice 12 : Reprendre le programme précédent en affichant la valeur du minimum et du maximum qui seront renvoyés par une nouvelle fonction.

Page 60: Les langages HTML et CSS sont des langages de simple affichage statique Grâce au PHP, laffichage change en fonction des circonstances que vous avez programmées

Les cookies

<?php$temps=3600;setcookie("nom","jean",time()+$temps);?>Ici le cookie « nom » contient la chaine de caractère « jean » et existera pendant 3600s.

Les cookies sont des variables qui existent du côté clients pendant un certains temps.Elles se déclare en début de programme :

Créer un autre programme php dans le même répertoire et faites-lui afficher le contenu du cookie « nom » avec echo "Le contenu du cookie log est ".$_COOKIE['nom'];Un lien dans le programme principal nous permettra d’accéder au programme d’affichage.

Page 61: Les langages HTML et CSS sont des langages de simple affichage statique Grâce au PHP, laffichage change en fonction des circonstances que vous avez programmées

Pour effacer un cookie, il suffit de le vider avec la fonction setcookie() puis de la faire disparaitre avec la fonction unset()

<?php

if(isset($_COOKIE['nom']))

{

setcookie("nom");

unset($_COOKIE['nom']);

}

?>

Ajouter un lien vers un troisième programme qui effacera le cookie et vérifier que celui-ci est bien effacé.

Page 62: Les langages HTML et CSS sont des langages de simple affichage statique Grâce au PHP, laffichage change en fonction des circonstances que vous avez programmées

Les variables de session

Pour utiliser les variables de session, il est nécessaire de placer ces lignes de code en début de programme.

<?phpsession_start();?>

Ce sont des variables stockées sur le serveur.

L’initialisation d’une variable session s’effectue à l’intérieur du programme.Exemple : $_SESSION['nom']="jean"

Page 63: Les langages HTML et CSS sont des langages de simple affichage statique Grâce au PHP, laffichage change en fonction des circonstances que vous avez programmées

session_start();if($_POST['code']=='1234‘ && $_POST[‘nom’]==‘jean’)

{$_SESSION['code']='1234';$_SESSION[‘nom’]=‘jean’;header("Location:pagePrivee.php");}

else{$erreur="Votre code est incorrect";}

Il est possible de rediriger l’utilisateur vers une page privée en testant un code et en conservant l’identité de l’utilisateur avec une variable de session

Exercice 13 : Proposer un programme qui demande l’identifiant et le mot de passe à l’utilisateur. Si ceux-ci sont corrects, l’utilisateur est redirigé vers une page privée qui affichera son nom.

Page 64: Les langages HTML et CSS sont des langages de simple affichage statique Grâce au PHP, laffichage change en fonction des circonstances que vous avez programmées

Exercice 14 : Ecrire un programme qui demande un nombre entier compris entre 0 et 200 puis vous indique si ce nombre est supérieur ou inférieur à un nombre aléatoire. Une fonction Reponse retourne la valeur 1 si le nombre à été trouvé, 2 si la valeur est inférieure et 3 si elle est supérieure. Le programme donne un nouvel essai tant que la valeur n’a pas été trouvée.

Remarques : •Pour générer un nombre aléatoirement, vous pouvez utiliser la fonction rand($min,$max).•Pour détruire les variables de session, à la fin de votre programme, vous ajouterez session_destroy()

Page 65: Les langages HTML et CSS sont des langages de simple affichage statique Grâce au PHP, laffichage change en fonction des circonstances que vous avez programmées

Les fonction graphiques

La bibliothèque que nous avons choisie d’utiliser est jpgraph

Il existe des bibliothèques composées de fonctions graphiques qui permettent de tracer plus facilement différents graphes : bargraphes, diagrammes circulaires, graphe 2D ou 3D…

Ce sont des fichiers php qui possède souvent .inc à la fin de leur nom. Il ne faut pas oublier de les inclure en début de programme.

Pour utilisés les fonctions de cette bibliothèques nous allons comprendre quelques exemples.