Problème variables php, URGENT

WRInaute discret
Bonjour,

Depuis ce matin je ne peux plus accéder à mes variables envoyées en mode POST que sous la forme $HTTP_POST_VARS["variable"] au lieu de simplement $variable dans mes scripts php, de même pour GET.

J'ai vérifié dans le /usr/local/lib/php.ini et la variable register_global est bien à On.

Je n'a touché absolument à rien ... Avez vous une idée d'ou cela pourrait venir ?

La plupart de mes sites sont mort ... !
 
WRInaute passionné
peut etre une mise à jours chez ton hebergeur ?
Mais la nouvelle forme c'est plutot $_GET[" "] et $_POST[" "] je crois bien.
 
WRInaute occasionnel
peut etre une update de php vers une version ou les globals a l'ancienne ne sont plus supportées...

au pire, profites en pour passer definitivement a la forme $_GET['variable'] qui est bien plus sécure et qui en plus te donne une manipulation des variables plus intuitive.
 
WRInaute accro
et je te conseille fortement, meme si $variable fonctionne
d'utiliser $_POST['variable'];

c'est plus sécurisé, c mieux sur tout les points
(et si tu es paranoiaque, tu peut meme unset toutes les $variable au début de ton script)
 
WRInaute discret
J'arrive à récupérer les variable de la forme $HTTP_POST_VARS[""] et $HTTP_GET_VARS[""] mais il faut que je change ca dans tous mes sripts de tout mes sites ce qui représente un boulot monstrueux et en attendant plus rien ne fonctionne ce qui me pose de très gros problèmes.

Y a t il des versions de php qui ne supportent pas les variables globales ? N'y a t il aucune façon de paramétrer cela dans le php.ini ??
 
WRInaute discret
KaZhaR a dit:
et je te conseille fortement, meme si $variable fonctionne
d'utiliser $_POST['variable'];

c'est plus sécurisé, c mieux sur tout les points
(et si tu es paranoiaque, tu peut meme unset toutes les $variable au début de ton script)


Je sais que c'est plus sécurisé, je l'utilise adilleur systématiquement dans mes nouveaux site mais les anciens ne sont pas codés comme cela et cela me prendrai un temps fou de changer les centaines de pages php ...
 
WRInaute occasionnel
fait un phpinfo() pour voir la version que tu utilise (a priori ils ont du retirer le support des variables globales dans la version 5 puisque c'etait déjà obsolète dans la version 4)
 
WRInaute occasionnel
les globales ne sont plus supportées a partir de la 4.2, je suppose que tu est en debian et que ton hebergeur a fait une update, vu qu'avec la sortie de la nouvelle version stable de debian il y a un passage de php 4.1.2 à 4.3
 
WRInaute accro
Code:
foreach ($_POST as $nom => $valeur) { $$nom = $valeur; }
ainsi, si tu avait une variable $variable
tu lui donne la valeur de $_POST['variable'];
et toutes tes variables conservent leur valeur d'origine
 
WRInaute passionné
Tu peux mettre register_globals à on dans php.ini pour continuer à utiliser tes variables comme avant Mais c'est pas conseillé pour des raisons de sécurité.

Mais cela peut te laisser le temps de ré-ecrire tes scripts...
 
WRInaute accro
fandecine je pense qu'il est en mutualisé sinon, son hebergeur ne se serait pas permis de faire un backup...
donc, il n'a pas acces au php.ini
 
WRInaute passionné
Comme il parlait de plusieurs sites, je pensait qu'il était sur un dédié!

Pour ce qui est des hébergeurs, il y en a qui te font des upgrades (c'est prévu au contrat) même si tu as un dédié!
 
WRInaute discret
non j'ai bien un dédié et la variable register_globals est déjà à On c'est pour ca que je ne trouve pas de solutions...


KaZhaR > merci, je vais essayer cette méthode, c'est déjà plus rapide que de changer tout les noms de variables..
 
WRInaute accro
Bonjour fat-freddy

ne paniques pas, la solution pour toi est de mettre en premiere ligne de ton code <?php import_request_variables() ?> c est tout.

++

---edit---

si au lieu de demander ca sur WRI tu demandais ca sur un forum spécialisé, tu aurait eu la réponse en 2mn ...
m'entende qui peuvent ... :)
 
WRInaute discret
Merci kiwi ca devrait aller, par contre si vous avez une solution coté config serveur ca serait le top.

As tu de bonnes adresses de forum de programmation, je n'en fréquente pas.. ?

merci ;)
 
Discussions similaires
Haut