Skip to content

📌 Mémo PHP ​

Les Bases ​

Structure de base ​

php
<?php
    // Code PHP ici
?>

Variables et Types ​

php
$nom = "Thomas";           // Chaîne de caractères
$age = 25;                // Nombre entier
$prix = 19.99;            // Nombre décimal
$estVrai = true;          // Booléen
$fruits = ["pomme", "banane"]; // Tableau

Conditions (if / else) ​

php
$age = 20;
if ($age >= 18) {
    echo "Majeur";
} elseif ($age >= 16) {
    echo "Presque majeur";
} else {
    echo "Mineur";
}

Boucles ​

php
// Boucle for
for ($i = 0; $i < 5; $i++) {
    echo $i;
}

// Boucle while
$i = 0;
while ($i < 5) {
    echo $i;
    $i++;
}

// Boucle foreach
$fruits = ["pomme", "banane", "orange"];
foreach ($fruits as $fruit) {
    echo $fruit;
}

Fonctions ​

php
function direBonjour($nom) {
    return "Bonjour " . $nom;
}
echo direBonjour("Thomas"); // Affiche: Bonjour Thomas

Tableaux ​

php
// Tableau indexé
$fruits = ["pomme", "banane", "orange"];
echo $fruits[0]; // Affiche: pomme

// Tableau associatif
$personne = [
    "nom" => "Dupont",
    "age" => 25,
    "ville" => "Paris"
];
echo $personne["nom"]; // Affiche: Dupont

Chaînes de caractères ​

php
$prenom = "Thomas";
$nom = "Dupont";

// Concaténation
echo $prenom . " " . $nom;

// Interpolation
echo "Bonjour $prenom $nom";

// Fonctions utiles
echo strlen($prenom);     // Longueur
echo strtoupper($nom);    // Majuscules
echo strtolower($nom);    // Minuscules

Inclusion de fichiers ​

php
require 'config.php';     // ArrĂŞte le script si erreur
include 'header.php';     // Continue mĂŞme si erreur
require_once 'config.php'; // Vérifie si déjà inclus

Sessions et Cookies ​

php
// Sessions
session_start();
$_SESSION['user'] = "Thomas";
echo $_SESSION['user'];

// Cookies
setcookie("utilisateur", "Thomas", time() + 3600); // Expire dans 1h
echo $_COOKIE['utilisateur'];

PDO : CRUD ​

1. Connexion à la base de données ​

php
try {
    $pdo = new PDO("mysql:host=localhost;dbname=nom_de_la_base", "utilisateur", "mot_de_passe");

    //Configuration de PDO pour permettre la bonne gestion des erreurs
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    echo "Connexion réussie";
} catch (PDOException $e) {
    die("Erreur : " . $e->getMessage());
}

2. Création (INSERT) ​

php
$stmt = $pdo->prepare("INSERT INTO utilisateurs (nom, email) VALUES (:nom, :email)");

$nom = "Dupont";
$email = "dupont@example.com";

$stmt->bindParam(':nom', $nom);
$stmt->bindParam(':email', $email);
$stmt->execute();

echo "Utilisateur ajouté avec succès !";

3. Lecture (SELECT) ​

php
$stmt = $pdo->prepare("SELECT * FROM utilisateurs");

$stmt->execute();

$users = $stmt->fetchAll(PDO::FETCH_ASSOC);
foreach($users as $user){
    echo "$user['name'] : $user['email']";
}

4. Mise à jour (UPDATE) ​

php
$stmt = $pdo->prepare("UPDATE utilisateurs SET nom = :nom WHERE email = :email");

$nom = "Durand";
$email = "dupont@example.com";

$stmt->bindParam(':nom', $nom);
$stmt->bindParam(':email', $email);
$stmt->execute();

echo "Mise à jour effectuée !";

5. Suppression (DELETE) ​

php
$stmt = $pdo->prepare("DELETE FROM utilisateurs WHERE email = :email");

$email = "dupont@example.com";
$stmt->bindParam(':email', $email);
$stmt->execute();

echo "Utilisateur supprimé !";

Remarque sur bindParam ​

  • bindParam() ne peut lier que des variables (et non des valeurs directes comme des chaĂ®nes de texte).
  • Pour une liaison plus flexible, bindValue() peut ĂŞtre utilisĂ©
    (exemple : $stmt->bindValue(':nom', 'Dupont')).

Bonnes pratiques ​

✅ Toujours utiliser des requêtes préparées pour éviter les injections SQL.
✅ Activer PDO::ERRMODE_EXCEPTION pour un meilleur débogage.

La mise en place d'un entry-point ​

php
<?php

// Récupération de la route depuis l'URL
$page = isset($_GET['page']) ? $_GET['page'] : 'home';

// Définition des pages autorisées
$pages = ['home', 'about', 'contact'];

// VĂ©rification et inclusion de la bonne page
if (in_array($page, $pages)) {
    include $page . '.php';
} else {
    include '404.php';
}

?>

Ce fichier index.php vérifie la valeur du paramètre page dans l'URL (ex. index.php?page=about) et inclut le fichier correspondant (about.php, home.php, etc.). Si la page demandée n'est pas autorisée, il affiche une page 404.

TIP

Depuis la page home.php, tu peux utiliser un lien comme ceci pour naviguer vers la page about.php via l'entrypoint index.php :

php
<a href="index.php?page=about">Ă€ propos</a>