PHP5 - $GLOBALS fonctionne-t-il encore ???

PHP5 - $GLOBALS fonctionne-t-il encore ??? - PHP - Programmation

Marsh Posté le 09-03-2006 à 18:57:42    

Bonjour à tous,
je suis passé depuis-peu à php5 et je m'aperçois que tout ce qui était $GLOBALS["variable"] ne donne plus rien.
Par exemple, j'avais $GLOBALS["REMOTE_ADDR"] qui me donnait l'adresse de mon client en php4 et qui ne me donne plus rien en php5.
 
Qqun a-t-il des infos là-dessus ??? Est-ce que ça a disparu pour être remplacé par autre chose (par exemple $_SERVER["REMOTE_ADDR"] qui me donne la même chose) ou bien j'ai manqué un paramètre dans mon "php.ini" ???


---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
Reply

Marsh Posté le 09-03-2006 à 18:57:42   

Reply

Marsh Posté le 09-03-2006 à 19:47:24    

faut pas travailler en utilisant les variables globales, c'est une faille de sécurité si tu as oublié de déclarer une variable, et en plus c'est crade.
Ca fait un moment que c'est désactivé par défaut

Reply

Marsh Posté le 09-03-2006 à 20:13:48    

Djebel1 a écrit :

Ca fait un moment que c'est désactivé par défaut


Ben en php5 ptet... mais pas en php4...
 

Djebel1 a écrit :

faut pas travailler en utilisant les variables globales, c'est une faille de sécurité si tu as oublié de déclarer une variable, et en plus c'est crade.


C'est bien beau de dire ce qu'il faut pas faire... mais moi je demande surtout ce qu'il faut faire !!!
Comment je récupère mon "REMOTE_ADDR" (ou autre) sans être crade ??? Je passe par "$_SERVER" ??? Ca me dérange pas mais faut que je sois sûr que c'est la bonne méthode...


Message édité par Sve@r le 09-03-2006 à 20:17:12

---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
Reply

Marsh Posté le 09-03-2006 à 20:28:50    

Pour recuperer l' IP tu fais
 

Code :
  1. $_SERVER['REMOTE_ADDR']


 
Enleve GLOBALS partout dans ton code, Djebel1 a raison, c'est vraiment pas propre.
Si tu as besoin d'une variable, tu la passes en  
- parametre dans une fonction
- en variable de classe  
- en variable de session
- en constante,  ...
 
Les methodes ne manquent pas  :wahoo:

Message cité 1 fois
Message édité par fabs2b le 09-03-2006 à 20:51:30
Reply

Marsh Posté le 09-03-2006 à 21:38:46    

fabs2b a écrit :

Pour recuperer l' IP tu fais
 

Code :
  1. $_SERVER['REMOTE_ADDR']



OK - si c'est le truc qu'il faut faire, pas de pb...
 

fabs2b a écrit :

Enleve GLOBALS partout dans ton code, Djebel1 a raison, c'est vraiment pas propre.
Si tu as besoin d'une variable, tu la passes en  
- parametre dans une fonction
- en variable de classe  
- en variable de session
- en constante,  ...


Ben en fait, je voulais surtout récupérer tout ce qui à trait à mon client (les trucs qu'on peut voir dans phpinfo()). J'utilise jamais de globales dans tout ce qui transite entre mon code X et mon code Y.
Au début, je prenais directement "$REMOTE_ADDR". Puis, avec php4, j'ai vu que c'était verrouillé par défaut dans "php.ini" et qu'il fallait passer par "GLOBALS['...']". Maintenant, on me dit qu'il faut passer par "_SERVER['...']". Pas de pb, je m'adapte mais j'espère qu'avec php6 ça changera pas de nouveau...


---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
Reply

Marsh Posté le 10-03-2006 à 10:25:29    

Au vu des premiéres versions de développement de php6 et au vu des discution qu'il y a eu le mois dernier sur l'avenir de php6, c'est un réglage qui ne sera pas modifié et qui n'a d'ailleur aucune raison d'être modifié.
Tu peux donc y aller tranquillement.

Reply

Marsh Posté le 22-11-2010 à 16:57:14    

Bonjour,  
j'ai le meme problème que Sve@r. J'utilise apache2 et php5. Le code open source que j'ai pris sur internet est écrit en php4 ...
J'ai l'impression que $GLOBALS m'empeche de loader les fichiers de configurations ( $GLOBALS["CONF"] ) parce que quand je mets en dur l'adresse IP et le port ( qui devraient etre récuperer depuis le fichier de conf ), le programme tourne bien....
Que dois-je faire ? j'ai plein de $GLOBALS dans mes fichiers...

Reply

Marsh Posté le 23-11-2010 à 09:00:42    

Activer l'utilisation de GLOBALS dans le php.ini, ou récupérer un code source plus récent. Php4 et l'utilisation de GLOBALS sont obsolètes depuis des années, continuer à les utiliser est une mauvaise idée.
Php5 date de 2004...


Message édité par skeye le 23-11-2010 à 09:01:20

---------------
Can't buy what I want because it's free -
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed