Ceci est une ancienne révision du document !
PHP
Je me lance dans l'apprentissage de php, via le cours d'Openclassrooms. Cette page sert d'aide-mémoire sur le langage.
Bases
Insérer un bout de code php dans du html :
<?php ?>
- Toujours mettre un
;
à la fin d'une instruction. - Commentaires sur une ligne :
//
- Commentaires sur plusieurs lignes, encadrés par
/*
et*/
.
Fonctions
include()
pour inclure une autre page. Ex :<?php include("bla.php"); ?>
Pour récupérer une fonction dans une variable (pour un echo
par exemple) :
$var = fonction(paramètres);
Pour créer une fonction
<?php function NomDeLaFonction($parametre) { code; } ?>
Définir NomDeLaFonction et les paramètres et décrire la fonction dans les accolades.
Variables
Type de données
Type de donnée | Exemple |
---|---|
string | “Du texte” |
int | 42 |
float | 14.7 |
bool | true/false |
NULL | (rien) |
Écrire une variable
Exemple :
<?php $age_du_capitaine = 17; ?>
Ne pas oublier : $
=
;
Conditions
Symbole | Signification |
---|---|
== | Est égal à |
> | Est supérieur à |
< | Est inférieur à |
>= | Est supérieur ou égal à |
⇐ | Est inférieur ou égal à |
!= | Est différent de |
if
(condition/variable)
{}
facultatif else
{}
Exemple
<?php $age = 8; if ($age <= 12) { echo "Salut gamin !"; } else { echo "Salut vieux !"; } ?>
Boucles
<?php while ($continuer_boucle == true) { // instructions à exécuter dans la boucle } ?> <?php $nombre_de_lignes = 1; while ($nombre_de_lignes <= 100) { echo 'bla<br />'; // Incrémenter le nombre de ligne : $nombre_de_lignes = $nombre_de_lignes + 1 $nombre_de_lignes++; } ?>
<?php for ($var = 1; $var <= 100; $var++) { echo 'Ceci est la ligne n°' . $var . '<br />'; } ?>
Pour for
:
- La première variable est la valeur de départ de la variable
- La seconde est la condition : tant que var est inférieure à 100, la boucle est exécutée.
- La troisième est ce qui est exécuté, ici l'incrémentation.
Formulaires
Code html pour la partie cadres :
- Entrer une chaine de caractère (un nom par exemple) :
<input type="text" name="valeur" />
- Entrer une zone de texte (définir le nombre de lignes, largeur, etc) :
<textarea name="message" rows="8" cols="45">Exemple pré-remplit</textarea>
- Valider (bouton) :
<input type="submit" value="Valider" />
- Liste déroulante :
<select name="choix"> <option value="choix1">Choix 1</option> <option value="choix2">Choix 2</option> </select>
- Case à cocher (résultat on/rien):
<input type=“checkbox” name=“case” id=“case” /> <label for=“case”>Ma case à cocher</label>
. “Label” permet de cliquer sur le texte plutôt que la case pour cocher (asssocierid
etfor
). - Bouton radio, avec l'un présélectionné avec l'attribut
checked=“checked”
. Tous les boutons d'un même choix partagent le mêmename=
.<input type=“radio” name=“question” value=“oui” id=“oui” checked=“checked” /> <label for=“oui”>Oui</label><input type=“radio” name=“question” value=“non” id=“non” /> <label for=“non”>Non</label>
- Champs cachés : l'information est transmise, mais non affichée au lecteur :
<input type=“hidden” name=“pseudo” value=“monpseudo” />
Pour récupérer les donnés (pour name=
) :
<form action="cible.php" method="post"> ... </form>
(cible.php est le fichier où sera affiché le résultat après submit)
Sur les données récupérées par $_POST et $_GET, ajouter htmlspecialchars
pour bloquer l'interprétation de balises html. Exemple :
<?php echo htmlspecialchars($_POST['prenom']); ?> !</p>
La fonction strip_tags
enlèvera les balises html qui auraient pu être ajoutées.
Pour résumer :
<form action="cible.php" method="post"> <p> <input type="text" name="prenom" /> <br /> <textarea name="message" rows="8" cols="45"> Votre message ici. </textarea> <br />Choississez : <select name="choix"> <option value="choix1">Choix 1</option> <option value="choix2">Choix 2</option> <option value="choix3">Choix 3</option> <option value="choix4">Choix 4</option> </select> <br /> <input type="checkbox" name="case1" id="case1" /> <label for="case1">Ma case à cocher</label> <br /><input type="checkbox" name="case2" id="case2" /><label for="case2">Ma case à cocher 2</label> <br /><input type="checkbox" name="case3" id="case3" /><label for="case3">Ma case à cocher 3</label> <br /> Êtes-vous d'accord ? <input type="radio" name="frites" value="oui" id="oui" checked="checked" /> <label for="oui">Oui</label> <input type="radio" name="frites" value="non" id="non" /> <label for="non">Non</label> <br /> <input type="submit" value="Valider" /> </p> </form>