Ci-dessous, les différences entre deux révisions de la page.
| Prochaine révision | Révision précédente | ||
|
clubinfo:php [2017/11/26 07:52] 127.0.0.1 modification externe |
clubinfo:php [2024/08/19 17:08] (Version actuelle) mrcjl [Activité] |
||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | ====== PHP : Hypertext Preprocessor ====== | + | ======Découverte du PHP : Hypertext Preprocessor ====== |
| - | PHP est un langage de programmation | + | PHP est un langage de programmation |
| - | ===== Sites de référence ===== | + | |
| - | * [[wpfr> | + | En effet, contrairement aux pages HTML statiques (dont le contenu est fixé par le développeur du site), il permet d' |
| - | | + | |
| - | * [[https://www.w3schools.com/php/default.asp|Tutoriel PHP]] sur " | + | Contrairement au HTML et au CSS, il n'est pas directement exploitable par les navigateurs et nécessite qu'un serveur génère le code HTML à la demande. Nous allons donc, pour le tester, utiliser un serveur web utilisable à partir d'une clé USB qui le supporte, ce sera [[http://www.xgarreau.org/zazouminiwebserver/|Zazou Mini Web Server (ZMWS)]] |
| - | * [[https://openclassrooms.com/courses/concevez-votre-site-web-avec-php-et-mysql| Cours PHP et MySQL]] sur " | + | |
| + | {{https://upload.wikimedia.org/wikipedia/commons/thumb/2/27/PHP-logo.svg/ | ||
| + | Aujourd' | ||
| ===== Connaissances de base ===== | ===== Connaissances de base ===== | ||
| - | * Les instructions PHP doivent être placées entre les balises "<? | ||
| - | * Chaque instruction se termine par le symbole ';' | ||
| - | * Les commentaires ne servent qu'à expliquer ce que l'on fait. Ce ne sont pas des instructions. Ils débutent par les symboles %%//%% et se terminent à la fin de la ligne. | ||
| - | <file php ma_page.php> | + | ====Les fichiers PHP==== |
| + | <WRAP round tip> | ||
| + | * Les instructions PHP peuvent être placées entre des instructions HTML et rendre dynamique une partie de la page web. | ||
| + | * Elles sont placées entre les balises " | ||
| + | * Une liste d' | ||
| + | * Des commentaires peuvent être utilisées pour expliquer ce que font les instructions. Ils débutent par les symboles %%//%% et se terminent à la fin de la ligne ou comprennent plusieurs lignes placées entre /* ... */. | ||
| + | * Pour être interprété, | ||
| + | * Les fichiers PHP peuvent sur le serveur être mélangés aux fichiers HTML et CSS. Le serveur les interprétera et remplacera les instructions PHP par du code HTML avant d' | ||
| + | </ | ||
| + | |||
| + | < | ||
| <?php | <?php | ||
| instruction1; | instruction1; | ||
| Ligne 24: | Ligne 33: | ||
| ... | ... | ||
| ?> | ?> | ||
| - | </file> | + | </code> |
| ==== Les variables ==== | ==== Les variables ==== | ||
| - | | + | Elles permettent de stocker des informations ou des listes d' |
| - | <code php>$nom = "mon nom"; | + | <WRAP round tip> |
| - | $age = 14;</code> | + | |
| - | * Un tableau est une variable contenant plusieurs autres | + | * Un tableau est une variable permettant d'en gérer plusieurs autres (placées entre crochets) en une seule fois. Il permet de générer des listes de choses définies par plusieurs informations (liste de personnes, d' |
| - | <code php>$identite[" | + | * Le **symbole d' |
| - | $identite[" | + | * On peut faire les opérations de base (addition, soustraction, |
| - | | + | * Des opérateurs spéciaux : (++ ou --) permettent d' |
| - | * Le symbole d' | + | * La concaténation (addition) de 2 textes est possible avec le symbole " |
| - | * On peut faire les opérations de base (addition, soustraction, | + | </ |
| + | |||
| + | <code php> | ||
| + | // Variables | ||
| + | $nom = "Dupond"; | ||
| + | $age = 14; | ||
| + | // Tableau (liste de variables | ||
| + | $identite[0][" | ||
| + | $identite[0][" | ||
| + | $identite[1][" | ||
| + | $identite[1][" | ||
| + | // Calculs | ||
| + | $différence_age = $identite[0][" | ||
| + | $age++; // L'age est augmenté de 1 ans | ||
| + | $age *= 2; // L'age est multiplié par 2 | ||
| + | </ | ||
| + | |||
| + | ====Les boucles==== | ||
| + | Pour répéter des instructions plusieurs fois ou sur une liste. | ||
| + | <WRAP round tip> | ||
| + | Il existe | ||
| + | * Boucles conditionnelles : **while | ||
| + | * Boucles bornées : **for (début; fin; progression) instructions; | ||
| + | | ||
| + | </ | ||
| + | |||
| + | <code php> | ||
| + | // Répéter tant-que la condition est vraie (compteur de 0 à 9) | ||
| + | | ||
| + | while ($x < 10) echo $x++; | ||
| + | |||
| + | // Répéter un certain nombre de fois (exemple compteur de 5 à 25 par nombre impair) | ||
| + | for ($x = 5; $x <= 25; $x += 2) echo $x; | ||
| + | |||
| + | // Répéter pour toutes les personnes (augmenter l'age d'un an) | ||
| + | foreach ($identite as $personne) $personne[" | ||
| + | </ | ||
| ==== Les choix ==== | ==== Les choix ==== | ||
| - | | + | Pour décider le traitement à effectuer en fonction d'un contenu de variable. |
| - | <code php>if (condition) instruction; | + | <WRAP round tip> |
| - | else instruction; | + | |
| - | * Les opérateurs de comparaison pour les conditions sont : égal ==, différent !=, inférieur <, supérieur >. On peut ajouter un signe égal à inférieur et supérieur <= et >=. | + | * La partie " |
| + | * Les opérateurs de comparaison pour les conditions sont : **égal ==, différent !=, inférieur <, supérieur >. On peut ajouter un signe égal à inférieur et supérieur <= et >=** | ||
| + | * L' | ||
| + | </ | ||
| + | |||
| + | <code php> | ||
| + | // if else | ||
| + | if ($sexe == " | ||
| + | else if ($sexe == " | ||
| + | else echo " | ||
| + | |||
| + | // switch case | ||
| + | switch ($sexe) { | ||
| + | case " | ||
| + | case " | ||
| + | default: echo " | ||
| + | } | ||
| + | </ | ||
| ==== Les fonctions ==== | ==== Les fonctions ==== | ||
| - | * Il existe un très grand nombre de fonctions (voir la référence du langage). Une fonction a un nom et est suivie | + | Il existe un très grand nombre de fonctions (voir la [[https:// |
| + | |||
| + | <WRAP round tip> | ||
| + | * Une fonction a un nom et il est suivi de parenthèse. | ||
| * Il est possible de passer des paramètre à une fonction en les mettant séparé par des virgules dans les parenthèses. | * Il est possible de passer des paramètre à une fonction en les mettant séparé par des virgules dans les parenthèses. | ||
| * Une fonction peut renvoyer un résultat. | * Une fonction peut renvoyer un résultat. | ||
| - | * Il est possible de créer ses propres fonctions. | + | </ |
| <code php> | <code php> | ||
| <?php | <?php | ||
| Ligne 54: | Ligne 120: | ||
| function mon_addition (a, b) { | function mon_addition (a, b) { | ||
| echo " | echo " | ||
| - | $c = $a + $b; | + | $x = $a + $b; |
| - | return $c; | + | return $x; |
| } | } | ||
| | | ||
| Ligne 61: | Ligne 127: | ||
| $a = 2; echo "a = " . $a . "< | $a = 2; echo "a = " . $a . "< | ||
| $b = 5; echo "b = " . $b . "< | $b = 5; echo "b = " . $b . "< | ||
| - | $d = mon_addition ($a, $b); | + | $c = mon_addition ($a, $b); |
| - | echo "Le résultat est " . $d . "< | + | echo "Le résultat est " . $c . "< |
| ?> | ?> | ||
| </ | </ | ||
| ==== L' | ==== L' | ||
| - | * Pour afficher un texte ou des résultats dans le navigateur, il faut les transformer en HTML avec l' | + | <WRAP round tip> |
| - | ** On peut mélanger du texte et des variables avec le symbole de concaténation | + | Pour afficher un texte ou des résultats dans le navigateur, il faut les transformer en HTML : |
| - | <code php>echo "Votre age est "; | + | * **echo** résultat; (L' |
| - | echo "Votre age est " . $age;</ | + | * **printf("chaîne de format", |
| + | </ | ||
| + | |||
| + | <code php> | ||
| + | | ||
| + | printf (" | ||
| + | </ | ||
| + | |||
| + | <WRAP round info> | ||
| + | Les sorties PHP ne différencient pas les espaces, tabulations (indentation) et saut de ligne. Pour générer un code HTML lisible on peut insérer des caractères spéciaux (\t pour l' | ||
| + | |||
| + | Le code : foreach ($identite as $individu) printf ("L'age de %s est %d ans.", $individu[" | ||
| + | |||
| + | Le code : foreach ($identite as $individu) printf (" | ||
| + | </WRAP> | ||
| + | |||
| + | <WRAP round todo> | ||
| + | * Si besoin, ne pas oublier de mettre dans les sorties PHP les balises HTML utiles. | ||
| + | * Ne pas confondre les caractères spéciaux (\t et \n) pour générer du code HTML lisible par l' | ||
| + | </ | ||
| + | |||
| + | =====Compléments===== | ||
| + | <WRAP round info> | ||
| + | ===Référence === | ||
| + | * [[wpfr> | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | </ | ||
| + | |||
| + | =====Activité===== | ||
| + | * [[clubinfo: | ||
| + | * [[clubinfo: | ||
| + | * Ajout d'un nouveau pont en base de donnée (nécessite de connaître le SQL) | ||
| + | * Affichage d'un pont en base de donnée (nécessite de connaître le SQL) | ||
| - | ===== Exemple ===== | ||
| - | Pour traiter les données envoyées par le visiteur à l'aide de la page " | ||
| - | <file php reponse.php> | ||
| - | <?php | ||
| - | if ($_POST[" | ||
| - | else if ($_POST[" | ||
| - | else $sexe = "?"; | ||
| - | echo " | ||
| - | ?> | ||
| - | </ | ||