[TUTO]Pour ceux ayant un problème avec la fonction register_global

Eléphanteau du PHP | 41 Messages

18 juil. 2008, 14:30

Je me permet de poster ce mini tutoriel dans cette partie n'ayant pas accès a la partie Tutoriel.

Comment contourner la fonction Register_global


Comme vous devez le savoir, beaucoup d'hébergeurs règle la fonction register_global du phh.ini sur Off ce qui se qui rend les valeur $_POST ou $_GET globale ou non.

Pour contourner ce problème vous avez deux options:

La première TRÈS PEUX EFFICACE!:

A mon sens la moins efficace étant donner que elle dépend totalement de a configuration Apache de votre hébergeur qui est de rajouter un fichier .htaccess a la racine du dossier concerner contenant la ligne suivant:
php_admin_flag register_globals on
Même si cette méthode est la plus rapide il faut le dire, cela dépend de la configuration Apache de votre hébergeur!
Il est donc peux probable que cette méthode fonctionne...

La seconde méthode quand à elle consiste a ajouter deux lignes de code php de manière a contourner la fonction register_global de votre hébergeur.
Les lignes php a rajouter en début de chacune de vos pages
sont les suivantes:
<?
foreach ($_POST as $key => $value) $$key = addslashes($value);
foreach ($_GET as $key => $value) $$key = addslashes($value);
?>
Si vous utilisez la fonction session_start() ces lignes sont a rajouter juste après cette fonction.


Voilà j'espère que cela vous aidera!
Modifié en dernier par DrEAM's le 18 juil. 2008, 15:01, modifié 1 fois.

Mammouth du PHP | 1353 Messages

18 juil. 2008, 14:50

Comme vous devez le savoir, beaucoup d'hébergeurs règle la fonction register_global du phh.ini sur Off ce qui empêche l'utilisation des $_GET et $_POST.
Attention à ce que tu dis tout de même, cela n'empêche absolument pas l'utilisation de $_GET et $_POST, cela rend juste ces valeurs globales ou non.

Ensuite, il faut arréter d'utiliser cette fonctionnalité puisqu'elle est classée comme obsolète et disparaitra dans PHP6 (voir ici) donc cela me parait un très mauvaise idée d'inciter à l'activer via le htaccess.

Je pense qu'il vaut mieux apprendre à coder proprement que de contourner un problème qui n'en est pas un, car ce n'est pas un hasard si cette option est passée à off et qu elle va disparaitre...
Tell me and I forget. Teach me and I remember. Involve me and I learn.