-
Probleme de variable.
Salut,
Sur un serveur Linux, j'ai Apache d'installe avec les 2 versions de php dispo, la 4 et la 5.
Pour appeller un fichier php5, il suffit de le preciser dans le nom du fichier:
http://www.toto.com/index.php5 ou lieu de http://www.toto.com/index.php
Mais voila, avec la version 5 de php, donc quand j'appelle index.php5 et non index.php, les variables qui sont passe dans l'url sont toutes vides...
Par exemple:
index.php5?action=show_one_article
Si je fais un echo de $action, c'est vide, alors que cette meme URL qui appelle la version 4 de php marche bien.
Je pense que les 2 version de php ont le meme fichier de config:
/etc/php.ini
Et j'ai rien trouve dans le fichier config d'apache...
QQn a une idee, pourquoi les variables dans les urls ne marchent pas avec php5 et pourtant marchent avec php 4 ?
Merci,
Vincent.
-
Le standard actuel et qui sera conservé lors du passage à PHP 6 et d'indiquer la provenance de votre variable : à chaque méthode étant associé un tableau. Par conséquent vous devriez utiliser $_GET['action'] et non pas $action.
Si toutefois, vous n'en avez que faire (:aie:), il faudra modifier la configuration de PHP et plus particulièrement le paramètre register_globals pour une valeur On. Une fois de plus c'est déconseillé et la valeur Off est la norme depuis la version 4.2.0.
-
OK, c'etait bien ca, merci !
Je trouve que c'est quand meme plus long de coder avec $_GET['mavar'] et puis le code devient aussi moins clair je trouve...
Question d'habitude peut-etre !
:oops:
-
Vous sous-estimez visiblement l'impact de ce paramètre : ce n'est pas une simple question d'écrire moins de caractères mais non seulement vous ne savez pas d'où viennent vos variables (qui vous dit que telle variable provient de la méthode post ou d'une autre comme vous vous y attendez) mais elle induit également des effets de bord très gênants : vos variables peuvent s'écraser mutuellement. Si vous aviez une variable locale, de sessions, de query string, de formulaire, etc appelée var : il n'en restera dans tous les cas qu'une seule d'entre elles :?