« Programmation PHP/Variables superglobales » : différence entre les versions
Contenu supprimé Contenu ajouté
Aucun résumé des modifications |
m <source> -> <syntaxhighlight> (phab:T237267) |
||
Ligne 11 :
Par exemple pour extraire l'URL de la page courante :
<
echo 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
</syntaxhighlight>
==== Références ====
Ligne 24 :
Prenons comme exemple, le prénom 'Paul' :
<
<?php
echo 'Mon nom d\'utilisateur est ' .$_ENV["USER"] . '!';
?>
</syntaxhighlight>
En imaginant que l'utilisateur 'Paul' exécute ce script, on aura alors :
Ligne 45 :
Un petit exemple pour illustre cela :
<
<?php
echo 'Bonjour ' . htmlspecialchars($_COOKIE["name"]) . '!';
?>
</syntaxhighlight>
On suppose que le cookie "name" a été définit précédemment, (on prendra Paul encore une fois)
Ligne 67 :
Pour illustrer ces propos, imaginons que l'utilisateur ai entrée l'URL suivant : ''http://example.com/?name=Paul''
<
<?php
echo 'Bonjour ' . htmlspecialchars($_GET["name"]) . '!';
?>
</syntaxhighlight>
L'exemple ci-dessus va afficher alors :
Ligne 94 :
{{Exemple
| contenu =
<
<html>
<body>
Ligne 118 :
</html>
</syntaxhighlight>
}}
Ligne 133 :
{{Exemple
| contenu =
<
<html>
<body>
Ligne 157 :
</html>
</syntaxhighlight>
}}
Ligne 174 :
{{Exemple
| contenu =
<
<?php
$x = 75;
Ligne 187 :
echo $z;
?>
</syntaxhighlight>
}}
Lorsqu'on exécute ce code, on obtient "100" (=> résultat de la variable 'z' + 'y').
Ligne 195 :
Pour des raisons de sécurité, on évitera donc d'appeler directement les tableaux des variables superglobales comme dans les paragraphes précédents, pour leur préférer la syntaxe <code>filter_input()</code><ref>http://php.net/manual/fr/function.filter-input.php</ref> :
<
<?php
echo filter_input(INPUT_GET, 'password'); // bien
echo $_GET['password']; // pas bien
?>
</syntaxhighlight>
Ne pas confondre avec la fonction filter_var() qui permet d'appliquer des validations ou nettoyages de certaines données<ref>http://php.net/manual/fr/filter.filters.validate.php</ref> (ex : email, URL, adresse IP, booléen...).
|