Le principe
PHP s'exécute sur le serveur. Le navigateur ne reçoit que le HTML produit — jamais le code.
pas en JavaScript.
Il faut Apache (XAMPP), le fichier dans htdocs, et
http://localhost/…
Recto-verso. À relire la veille. Le cours · Les exercices
PHP s'exécute sur le serveur. Le navigateur ne reçoit que le HTML produit — jamais le code.
Il faut Apache (XAMPP), le fichier dans htdocs, et
http://localhost/…
<?php
echo "Bonjour";
?>
// commentaire
# commentaire
/* plusieurs lignes */$nom = "Alice"; // string
$age = 25; // int
$t = 1.70; // float
$ok = true; // bool
define("PI", 3.14);
echo PI; // sans $ !Le type peut changer en cours de route.
$b = "ami";
"bonjour $b" → bonjour ami
'bonjour $b' → bonjour $bConcaténation avec . :
$c = $a . $b; // ✔
$c = $a + $b; // ✘ addition !isset / emptyisset($x) | existe et ≠ null |
empty($x) | vide : 0, "0",
"", null, false, [] |
Piège : empty() rejette aussi le 0 légitime
d'un formulaire.
while ($i < 5) { }
do { } while ($i < 5);
for ($i=0; $i<5; $i++) { }
foreach ($tab as $v) { }
foreach ($tab as $k => $v) { }foreach = la boucle des tableaux, y compris associatifs.
Retour à la ligne : <br>, pas \n.
function addition($a, $b) {
return $a + $b;
}
echo addition(5, 3); // 8Ne mélangez pas echo et return :
echo true affiche 1.
include / require| Si absent | |
|---|---|
include | warning, continue |
require | erreur fatale, s'arrête |
<form method="post"
action="traitement.php">
<input name="nom">
</form>$nom = $_POST["nom"];La clé = l'attribut name.
$_GET → URL, visible · $_POST → corps, caché ·
$_REQUEST → à éviter.
echo htmlspecialchars($nom);Toujours avant d'afficher une donnée utilisateur → contre le XSS.
POST n'est pas chiffré : il est juste hors de l'URL. C'est HTTPS qui chiffre.
Valider en JS = confort. Revalider en PHP = sécurité.
session_start(); // 1re ligne !
$_SESSION["user"] = "Paul";
echo $_SESSION["user"];
session_destroy();session_start() avant tout affichage — même une ligne vide
avant <?php.
"r" | lecture |
"w" | écrase tout |
"a" | ajoute à la fin |
"x" | crée, échoue si existe |
$f = fopen("log.txt", "a");
fwrite($f, "ligne\n");
fclose($f);Journal → "a". Toujours fclose().