Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
|
clubinfo:php [2023/07/24 10:20] mrcjl |
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 |
| + | |||
| + | En effet, contrairement aux pages HTML statiques (dont le contenu est fixé par le développeur du site), il permet d' | ||
| + | |||
| + | 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:// | ||
| {{https:// | {{https:// | ||
| Aujourd' | Aujourd' | ||
| - | <WRAP round info> | + | |
| - | ===Référence === | + | |
| - | * [[wpfr> | + | |
| - | * [[https:// | + | |
| - | * [[https:// | + | |
| - | * [[https:// | + | |
| - | </ | + | |
| ===== Connaissances de base ===== | ===== Connaissances de base ===== | ||
| ====Les fichiers PHP==== | ====Les fichiers PHP==== | ||
| <WRAP round tip> | <WRAP round tip> | ||
| - | * Un fichier | + | * Les instructions |
| - | * Les instructions PHP doivent être placées entre les balises "<? | + | * Elles sont placées entre les balises "**<?php**" |
| - | * Chaque instruction PHP se termine | + | * Une liste d' |
| - | * Une liste d' | + | * Des commentaires |
| - | * Les commentaires | + | * 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' | ||
| </ | </ | ||
| - | <file php ma_page.php> | + | <code php> |
| <?php | <?php | ||
| instruction1; | instruction1; | ||
| Ligne 33: | Ligne 33: | ||
| ... | ... | ||
| ?> | ?> | ||
| - | </file> | + | </code> |
| ==== Les variables ==== | ==== Les variables ==== | ||
| + | Elles permettent de stocker des informations ou des listes d' | ||
| <WRAP round tip> | <WRAP round tip> | ||
| * En PHP, le nom des variables commence par le signe **$**. Une variable peut contenir n' | * En PHP, le nom des variables commence par le signe **$**. Une variable peut contenir n' | ||
| - | * Un tableau est une variable | + | * Un tableau est une variable |
| - | * Le symbole d' | + | * Le **symbole d' |
| - | * On peut faire les opérations de base (addition, soustraction, | + | * On peut faire les opérations de base (addition, soustraction, |
| + | * Des opérateurs spéciaux : (++ ou --) permettent d' | ||
| + | * La concaténation (addition) de 2 textes est possible avec le symbole " | ||
| </ | </ | ||
| <code php> | <code php> | ||
| - | $nom = "mon nom"; | + | // Variables |
| + | $nom = "Dupond"; | ||
| $age = 14; | $age = 14; | ||
| - | $identite[" | + | // Tableau (liste de variables |
| - | $identite[" | + | $identite[0][" |
| - | $anniversaire | + | $identite[0][" |
| - | </code> | + | $identite[1][" |
| - | + | $identite[1][" | |
| - | ==== L' | + | // Calculs |
| - | <WRAP round tip> | + | $différence_age = $identite[0][" |
| - | * Pour afficher un texte ou des résultats dans le navigateur, il faut les transformer en HTML avec l' | + | $age++; // L'age est augmenté de 1 ans |
| - | * On peut mélanger du texte et des variables avec le symbole de concaténation **.** | + | $age *= 2; // L'age est multiplié par 2 |
| - | </WRAP> | + | |
| - | + | ||
| - | <code php> | + | |
| - | echo "Votre age est "; | + | |
| - | | + | |
| - | | + | |
| - | echo " | + | |
| </ | </ | ||
| ====Les boucles==== | ====Les boucles==== | ||
| + | Pour répéter des instructions plusieurs fois ou sur une liste. | ||
| <WRAP round tip> | <WRAP round tip> | ||
| Il existe plusieurs types de boucles : | Il existe plusieurs types de boucles : | ||
| - | * Boucles conditionnelles : **while (condition) instructions; | + | * Boucles conditionnelles : **while (condition) instructions; |
| - | * Boucles | + | * Boucles |
| + | * Boucles itératives : **foreach (liste as variable) instructions; | ||
| </ | </ | ||
| <code php> | <code php> | ||
| - | // Répéter tant-que la condition est vraie | + | // Répéter tant-que la condition est vraie (compteur de 0 à 9) |
| $x = 0; | $x = 0; | ||
| - | while ($x < 10) { | + | while ($x < 10) echo $x++; |
| - | | + | |
| - | $x = $x + 1; | + | |
| - | } | + | |
| | | ||
| // Répéter un certain nombre de fois (exemple compteur de 5 à 25 par nombre impair) | // Répéter un certain nombre de fois (exemple compteur de 5 à 25 par nombre impair) | ||
| - | for ($x = 5; $x <= 25; $x = $x + 2) echo $x; | + | 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. | ||
| <WRAP round tip> | <WRAP round tip> | ||
| - | * Un choix ne peut avoir que 2 résultats (vrai/faux) **if (condition) instructions-si-vrai; | + | * Un choix ne peut avoir que 2 résultats (vrai/faux) **if (condition) instructions-si-vrai; |
| + | * 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 >=** | * 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> | <code php> | ||
| - | | + | // if else |
| - | else instruction; | + | |
| - | // exemple la variable x varie de 0 à 9 indéfiniment | + | else if ($sexe == " |
| - | | + | |
| - | | + | |
| - | | + | // switch case |
| - | | + | switch |
| - | echo $x; | + | |
| + | | ||
| + | | ||
| } | } | ||
| </ | </ | ||
| ==== Les fonctions ==== | ==== Les fonctions ==== | ||
| + | Il existe un très grand nombre de fonctions (voir la [[https:// | ||
| + | |||
| <WRAP round tip> | <WRAP round tip> | ||
| - | * Il existe un très grand nombre de fonctions (voir la référence du langage). | + | * 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. | ||
| </ | </ | ||
| Ligne 126: | Ligne 131: | ||
| ?> | ?> | ||
| </ | </ | ||
| + | |||
| + | ==== L' | ||
| + | <WRAP round tip> | ||
| + | Pour afficher un texte ou des résultats dans le navigateur, il faut les transformer en HTML : | ||
| + | * **echo** résultat; (L' | ||
| + | * **printf(" | ||
| + | </ | ||
| + | |||
| + | <code php> | ||
| + | echo "Votre age est " . $age . " ans."; // Pour écrire à l' | ||
| + | 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 (" | ||
| + | |||
| + | Le code : foreach ($identite as $individu) printf (" | ||
| + | </ | ||
| + | |||
| + | <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é===== | =====Activité===== | ||
| - | * Génération automatique du sommaire des ponts | + | * [[clubinfo: |
| + | * [[clubinfo: | ||
| * Ajout d'un nouveau pont en base de donnée (nécessite de connaître le SQL) | * 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) | * Affichage d'un pont en base de donnée (nécessite de connaître le SQL) | ||