par
Victor BRITO » 06 mars 2009, 17:14
Pour mieux illustrer le message précédent.
Récupérer le paramètre d'URL file directement avec une variable $file illustre le principe de la directive register_globals, une directive qui pose plus d'inconviénients (notamment, en matière de sécurité) que d'avantages (d'ailleurs, cette directive sera supprimée dans PHP 6).
Pour qu'une variable $file puisse récupérer le paramètre d'URL file, il vaut mieux procéder comme suit.
// Si le paramètre d'URL file est passé, $file en prend la valeur
if (isset ($_GET['file'])) $file = $_GET['file'];
// Sinon, $file prend une autre valeur (chaîne vide, null, false...)
else $file = null;
Dans la première condition, il est, de plus, recommandé de vérifier que $_GET['file'] a une valeur attendue ; si ce n'est pas le cas, on ne récupère pas la valeur du paramètre.
// Si le paramètre d'URL file est passé et vaut la valeur attendue, $file en prend la valeur
if (isset ($_GET['file']) && $_GET['file'] == 'valeur attendue') $file = $_GET['file'];
// Sinon, $file prend une autre valeur (chaîne vide, null, false...)
else $file = null;
Pour mieux illustrer le message précédent.
Récupérer le paramètre d'URL file directement avec une variable $file illustre le principe de la directive register_globals, une directive qui pose plus d'inconviénients (notamment, en matière de sécurité) que d'avantages (d'ailleurs, cette directive sera supprimée dans PHP 6).
Pour qu'une variable $file puisse récupérer le paramètre d'URL file, il vaut mieux procéder comme suit.
[php]// Si le paramètre d'URL file est passé, $file en prend la valeur
if (isset ($_GET['file'])) $file = $_GET['file'];
// Sinon, $file prend une autre valeur (chaîne vide, null, false...)
else $file = null;[/php]
Dans la première condition, il est, de plus, recommandé de vérifier que $_GET['file'] a une valeur attendue ; si ce n'est pas le cas, on ne récupère pas la valeur du paramètre.
[php]// Si le paramètre d'URL file est passé et vaut la valeur attendue, $file en prend la valeur
if (isset ($_GET['file']) && $_GET['file'] == 'valeur attendue') $file = $_GET['file'];
// Sinon, $file prend une autre valeur (chaîne vide, null, false...)
else $file = null;[/php]