Tutoriel principal PHP8+

Bases

Introduction au langage PHP Débuter avec PHP Exécution du code PHP Problème d'encodage Affichage des erreurs PHP Code complet pour lancer PHP Code de lancement amélioré Aperçu des commandes PHP de base Commentaires en PHP Commentaires dans le manuel Dump des variables Fonctions en PHP Variables Utilisation des variables Modification des valeurs des variables Opérations mathématiques avec des nombres Opérations mathématiques avec des variables Priorité des opérations mathématiques Priorité égale Parenthèses de regroupement Nuances de regroupement Fractions Nombres négatifs Reste de la division Puissance Priorité de la puissance Chaînes de caractères Concaténation de chaînes Espaces dans la concaténation de chaînes Longueur d'une chaîne Problème avec le cyrillique Balises Attributs des balises Valeurs booléennes Valeur null Conversion automatique des types Conversion automatique en chaîne Nuances de la conversion en chaîne Conversion en nombre Conversion en fraction Conversion d'une fraction en entier Conversion d'un nombre en chaîne Caractères d'une chaîne Chiffres dans une chaîne Accès aux chiffres d'un nombre Nuances de l'opération d'affectation Opérations raccourcies Incrémentation Type préfixe et postfixe Pratique de la recherche d'erreurs Pratique sur les opérations Pratique sur les formules

Tableaux

Introduction aux tableaux Affichage du contenu d'un tableau Élément individuel d'un tableau Tableaux associatifs Astuce avec les clés Ordre des éléments Longueur d'un tableau Modification des éléments Réécriture des éléments d'un tableau Incrémentation d'éléments Remplissage des tableaux Assignation explicite des clés Clés à partir de variables Pratique de recherche d'erreurs

Conditions

Structure if-else Opérateurs supérieur et inférieur Vérification d'égalité Vérification d'inégalité Comparaison de variables Types de données et structure if-else Nombres entre guillemets Égalité en valeur et en type Inégalité en valeur et en type Nuances lors de la comparaison des types de données Conditions complexes dans if-else ET logique OU logique Priorité des opérations de comparaison Regroupement de conditions Inversion des expressions Structure if-else et valeurs booléennes Comparaison faible des valeurs logiques If raccourci Nuance des opérations raccourcies Commande isset Suppression des avertissements Vérification des éléments d'un tableau Commande empty Caractère optionnel de la commande else Caractère optionnel des accolades Problème du caractère optionnel des accolades Combinaisons if-else Structure elseif If imbriqués Structure switch Caractère optionnel de default Structure match Caractère optionnel de break Opérateur ternaire Opérateur de coalescence nulle Chaînage des opérateurs de coalescence nulle Opérations logiques Détermination de la partie de l'heure Vérification de la longueur des chaînes et des tableaux Vérification du caractère d'une chaîne Vérification du reste d'une division Pratique de recherche d'erreurs Pratique if else

Boucles

Introduction Boucle foreach Boucle foreach avec clés Boucle while Boucle for Conditions dans les boucles Accumulation de la somme des nombres Accumulation de la somme des éléments Formation de chaînes dans une boucle Caractère facultatif des accolades Problème du caractère facultatif des accolades Instruction break Instruction continue Travail avec des drapeaux Boucles imbriquées Boucle for pour les tableaux Remplissage des tableaux en boucle Modification des tableaux en boucle Conseils pour écrire du code Pratique de recherche d'erreurs Pratique sur les boucles

Multidimensionnalité

Introduction Tableau tridimensionnel Tableaux associatifs Tableaux arbitraires Parcours de tableaux multidimensionnels Parcours d'un tableau tridimensionnel Manipulation des clés Remplissage de tableaux multidimensionnels Remplissage avec des nombres séquentiels Tableau de tableaux associatifs Conversion de tableaux multidimensionnels

Fonctions mathématiques

Puissances Arrondi Extrema Valeurs absolues Opérations sur les tableaux

Fonctions de chaînes

Longueur d'une chaîne Casse des caractères Découpage de chaînes Vérification de chaînes Recherche dans les chaînes Fractionnement de chaînes Nettoyage des extrémités d'une chaîne Affichage d'une chaîne avec insertion Formatage de la représentation des nombres Inversion d'une chaîne Remplissage d'une chaîne Travail avec les balises Codes des caractères Comptage de sous-chaînes Parties de chaînes

Fonctions sur les tableaux

Recherche dans les tableaux Éléments aux extrémités Découpage de tableaux Éclatement de tableaux Plage dans un tableau Remplissage de tableaux Fusion de tableaux Clés-valeurs Inversion Remplacement Suppression des doublons Comptage d'éléments Découpage en sous-tableaux Tri Opérations ensemblistes

Aléatoire

Nombre aléatoire Élément aléatoire d'un tableau Mélange des tableaux Mélange des chaînes

Temps

Travail avec les timestamp Formatage Analyse des dates en format libre Vérification de la correction Fuseau horaire Modification Comparaison de chaînes Comparaison de date sans l'année Appartenance d'une date à un intervalle Comparaison de timestamp

Fonctions personnalisées

Introduction Paramètres de fonction Plusieurs paramètres Paramètres-variables Paramètres optionnels Instruction return Appel séquentiel de fonctions Point délicat de return Boucle et return Utilisation de return dans les boucles Astuce de travail avec return Drapeaux dans les fonctions Opérateurs logiques dans les fonctions Conseils sur les fonctions Pratique pour trouver les erreurs Pratique sur les fonctions

Portée

Références-primitives Références-tableaux Références dans foreach Variables internes Variables externes Variables homonymes Variables globales Modification des paramètres Paramètres-références

Récursion

Récursion Exemple avec paramètre Somme des éléments d'un tableau Récursion et tableaux multidimensionnels Somme d'un tableau multidimensionnel Manipulations des éléments

Expressions régulières

Introduction Opérateurs de répétition Parenthèses de regroupement Échappement des caractères spéciaux Liste des caractères spéciaux Accolades Limitation de la gourmandise Groupes de caractères Ensembles de caractères Inversion des ensembles de caractères Particularités du cyrillique Caractères spéciaux dans les ensembles Groupes de caractères dans les ensembles Caractères spéciaux d'exclusion dans les ensembles Symbole du chapeau dans les ensembles Particularités du trait d'union dans les ensembles Début et fin de ligne Fin ou début de mot Commande 'ou' Délimiteurs Échappement des délimiteurs Barre oblique inverse Vérification de chaîne Test automatique des expressions régulières Vérification de la chaîne entière Captures lors de la recherche Recherche de toutes les correspondances Toutes les correspondances en captures Modification du comportement de recherche Parenthèses non capturantes Captures lors du remplacement Captures dans l'expression Captures nommées Captures nommées dans l'expression Numéro commun des captures Regard vers l'avant Regard vers l'arrière Remplacement par callback Modificateurs Ignorer la casse des expressions régulières Commentaires dans l'expression régulière Travail avec Unicode dans les expressions régulières Modification de la gourmandise des expressions régulières Échappement des caractères réguliers dans les expressions régulières Plusieurs modificateurs d'expressions régulières Échappement automatique des caractères spéciaux Filtrage de tableau Division de chaîne en tableau

Formation de chaînes

Insertion de variables Insertion d'éléments de tableau Insertion d'éléments de tableaux associatifs Boucle et insertion de variables Insertion d'éléments de tableaux dans une boucle Insertion d'éléments de tableaux multidimensionnels dans une boucle Génération de balises Génération de balises avec attributs Boucle et génération de balises Boucle et génération de balises à partir de tableaux Boucle et génération de balises et d'attributs Boucle et génération de tableaux HTML Génération d'un tableau HTML à l'aide d'une seule boucle Génération d'un tableau HTML à l'aide de deux boucles imbriquées Insertion de code PHP dans HTML Commande echo courte Sortie de variable en HTML Sortie d'éléments de tableau en HTML Conditions et rupture du code PHP Bloc else dans la rupture du code PHP Bloc elseif dans la rupture du code PHP Boucles et rupture du code PHP Tableau en boucle dans la rupture du code PHP

Formulaires

Introduction aux formulaires Méthode d'envoi du formulaire Récupération des données de formulaire Récupération des données de formulaire par la méthode GET Récupération des données de formulaire par la méthode POST Traitement du formulaire dans un seul fichier Masquage du formulaire après l'envoi Conservation des valeurs du formulaire Conservation de la valeur par défaut du formulaire Code raccourci pour la conservation des valeurs par défaut Élément textarea Conservation de la valeur de textarea après l'envoi Case à cocher Nuances de l'utilisation des cases à cocher Conservation de la valeur dans une case à cocher Boutons radio Conservation de la valeur dans les boutons radio Listes déroulantes Attribut value dans les listes déroulantes Conservation de la valeur dans les listes déroulantes Requêtes GET Requêtes GET via des liens Pratique

Sessions

Introduction aux sessions Problèmes possibles Utilisation des sessions sur une seule page Suppression des sessions Destruction de toute la session Sessions et formulaires Enregistrement de tableaux dans les sessions

Cookies

Introduction aux cookies Problème de définition des cookies Définition instantanée des cookies Compteur de rechargement de page Durée de vie d'un cookie Suppression des cookies Suppression instantanée des cookies

Système de fichiers

Lecture de fichiers Écriture de fichiers Combinaison d'opérations Chemins relatifs Chemins absolus Avantages du chemin absolu Chemins absolus vers le script Renommage de fichiers Déplacement de fichiers Copie de fichiers Suppression de fichiers Détermination de la taille des fichiers Vérification de l'existence des fichiers Création de dossiers Suppression de dossiers Renommage de dossiers Déplacement de dossiers Lecture du contenu d'un dossier Distinguer un dossier d'un fichier Analyser le contenu d'un dossier Insertion de fichiers Division du balisage en éléments Écriture de l'insertion dans une variable Inclusion de fichiers Inclusion unique de fichiers Écriture de l'inclusion dans une variable

Bases de données

Introduction aux bases de données PhpMyAdmin Table de test users Manipulations préparatoires Envoi de requêtes à la base de données Recherche d'erreurs dans la base de données Test de fonctionnement Problèmes d'encodage Code de test complet Obtention du résultat Obtention du résultat sous forme de tableau Formation d'un tableau en boucle Sélection d'enregistrements Opérations logiques Champs de sélection Insertion d'enregistrements Insertion d'enregistrements en l'absence de colonnes Mise à jour d'enregistrements Suppression d'enregistrements Tri des enregistrements Limitation de la quantité Comptage de la quantité Obtention du compte Requêtes avancées

Organisation des bases de données

Liaison de tables Récupération de données à partir de tables liées Chaîne de tables liées Liaison via une table de relation Liens de parenté Plusieurs descendants Relation double Pratique

Pratique Base de Données

Table utilisateurs de test Formatage de la sortie Suppression des données Consultation des données Ajout de données Édition des données

Travail avec HTTP

Tutoriel HTTP Méthode de requête HTTP En-têtes de requête HTTP Tableau des en-têtes de requête HTTP En-têtes de réponse HTTP Problème avec les en-têtes de réponse HTTP Problème avec include Envoi de la ligne de début de réponse HTTP Envoi du statut de réponse HTTP

Redirections

Introduction aux redirections Redirection instantanée Requêtes GET et redirection Auto-redirection avec ajout de paramètres Messages flash Tableau de messages flash Sauvegarde des formulaires Messages de succès d'envoi Redirection lors de la validation du formulaire

Authentification

Introduction Autorisation Sessions Déconnexion de la session Inscription Autorisation immédiate lors de l'inscription Ajout de l'id dans la session Masquage du mot de passe Vérification de la disponibilité du login Validation Hachage Ajout de sel dans l'inscription Ajout de sel dans l'authentification Fonction password_hash Profil Compte Changement du mot de passe Confirmation du mot de passe Suppression du compte Droits Inscription avec séparation des droits Droits et normalisation de la base de données

Moteur de site

Introduction Utilisation de htaccess Moteur sur fichiers Titre dans le moteur sur fichiers Titres dans un tableau Titres dans le contenu Page 404 dans le moteur sur fichiers Moteur sur base de données URLs lisibles dans le moteur Routage simple Routage avec paramètres nommés Plusieurs paramètres dans la route Pratique
bydeenesfrptru