Bienvenue, toto !

Essayez d'enlever le paramètre nom de l'URL ou de donner « admin » comme nom.

Le tableau $_GET contient :

array (
  'nom' => 'toto',
  'x' => '12',
)

Code source de ce fichier :

<!DOCTYPE html>
<title>Démo GET en PHP</title>
<?php
if (key_exists('nom'$_GET)) {
    
/* Il y a bien une clef 'nom' dans les paramètres d'URL : on récupère la valeur */
    
$nom $_GET['nom'];

    if (
$nom === 'admin') {
        
/* Si le nom donné est «admin», on change les couleurs de la page */
        
echo '<style> html { color: white; background-color: #333; }</style>';
    }

    
/* TRÈS IMPORTANT: avant d'afficher le nom, on utilise la fonction htmlspecialchars
      * pour *échapper* les caractères spéciaux du HTML. Cela permet d'éviter les problèmes
      * d'affichage (par exemple si le nom contient un chevron), et surtout, cela
      * évite les risques d'injection de code JavaScript (faille XSS). */
    
$nom_html htmlspecialchars($nom);
    echo 
"<h2>Bienvenue, $nom_html !</h2>";
    echo 
"<p>Essayez d'enlever le paramètre <code>nom</code> de l'URL ou de donner « admin » comme nom.</p>";
}


echo 
"<p>Le tableau <code>\$_GET</code> contient :</p>";
echo 
"<pre>";
echo 
htmlspecialchars(var_export($_GETtrue));
echo 
"</pre>";

echo 
"<p>Code source de ce fichier :</p>\n";
echo 
"<figure style=\"border: 1px solid black; padding: .5em;
                      background: linen; width: 60em; \">"
;
highlight_file(__FILE__);
echo 
"</figure>";
?>