====== PHP ======
Je me lance dans l'apprentissage de php, via [[https://openclassrooms.com/courses/concevez-votre-site-web-avec-php-et-mysql|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 :
* Toujours mettre un '';'' à la fin d'une instruction.
* Commentaires sur une ligne : ''
* ''include()'' pour inclure une autre page. Ex :
Pour récupérer une fonction dans une variable (pour un ''echo'' par exemple) :
$var = fonction(paramètres);
Pour créer une fonction
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 :
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
===== Boucles =====
';
// Incrémenter le nombre de ligne : $nombre_de_lignes = $nombre_de_lignes + 1
$nombre_de_lignes++;
}
?>
';
}
?>
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) : ''
* Case à cocher (résultat on/rien): '' ''. "Label" permet de cliquer sur le texte plutôt que la case pour cocher (asssocier ''id'' et ''for'').
* Bouton radio, avec l'un présélectionné avec l'attribut ''checked="checked"''. Tous les boutons d'un même choix partagent le même ''name=''. '' ''
* Champs cachés : l'information est transmise, mais non affichée au lecteur : ''''
Pour récupérer les donnés (pour ''name='') :
* '' !
===== Session et cookies =====
Le cookie (''$_COOKIE'') est limité en taille, donc plus il y a d'infos à transiter, plus y'a de cookies.
La session (''$_SESSION'') est gérée par php.
Si on utilise des informations de session, on doit ajouter le code php ''session_start()'' au début de la page, avant les infos en html (y compris '''').
Pour fermer la session d'un utilisateur avant la fin du délai : ''session_destroy()''
On peut récupérer n'importe où les infos de session, ensuite.
$_SESSION['pseudo'] = 'Cémoi';
echo $_SESSION['pseudo']
Le cookie a un temps d'expiration défini par [[wpfr>Horodatage#PHP|timestamp]]. Exemple pour un cookie d'un an : ''time() + 365*24*3600)''. Ajouter une sécurité "httponly" (le true à la fin) pour éviter des failles.
Comme pour la session, le cookie doit être défini avant tout et surtout avant le html. Un cookie par info, par exemple pour stocker le pseudo, un autre pour l'âge...
Pour l'afficher ''$_COOKIE['pseudo']''