QUERY_STRING toujours vide - PHP - Programmation
Marsh Posté le 13-09-2007 à 10:57:10
ReplyMarsh Posté le 13-09-2007 à 11:00:15
omega2 a écrit : C'est quelle info que t'essaye d'obtenir? |
Normalement quand je fais $_GET['id'] j'ai la valeur 1 (en supposant que j'ai appelé essai2.php?id=1)
et là, je me retrouve systématiquement avec rien.
C'est la même chose avec $_POST.
Est-ce que le problème vient de php.ini, de httpd.conf ?
Marsh Posté le 13-09-2007 à 11:09:19
Pour le $_GET, Ca peut venir aussi bien du php.ini (désactivation des variables de type $_GET) que du httpd.conf (en cas d' "Url Rewriting" ).
Pour le QUERY_STRING à vide, ça peut venir soit de la version du serveur web (si le serveur ne donne pas l'info, on ne peut pas l'avoir) soit du httpd.conf .
Si $_GET est vide alors essaye avec $HTTP_GET_VARS.
Si t'as rien là dedans, alors vérifie le contenu du $var correspondant. Si t'as toujours rien alors vérifie que tu n'as pas de .htaccess qui traine et qui génerait sinon préviens ton hébergeur ou change en.
Marsh Posté le 13-09-2007 à 11:19:09
Bon, $HTTP_GET_VARS retse vide, mais je m'y attendais un petit peu.
Je n'ai pas URL_REWRITING donc je me tourne vers php.ini.
Comment peut-on réactiver les variables de type $GET ?
Marsh Posté le 13-09-2007 à 12:00:24
Pour les HTTP_*_VARS, c'est register_long_arrays qui permet de dire qu'on ne veut pas les remplir (php 5.x uniquement).
Pour les $_*, il faut qu'il soit référencé dans "variables_order" sinon elles ne sont pas créé.
Pour plus de détails, voir :
http://fr2.php.net/variables.predefined
http://fr2.php.net/manual/fr/ini.c [...] ong-arrays
http://fr2.php.net/manual/fr/ini.c [...] bles-order
Marsh Posté le 13-09-2007 à 13:09:59
variable_order est bien défini dans php.ini
("EGPCS" )...
de plus j'ai bien track_vars à 1 et register_global à off.
C'est bien-sûr là que j'ai regardé en premier avant de poster dans le forum...
Marsh Posté le 13-09-2007 à 14:42:16
Bizarre. D'après ce que tu dis, ça ne viendrait pas de la configuration de php ou du moins pas des réglages que je connais.
Du coup il va falloir fouiller les réglages d'apache pour voir s'il n'y a rien qui bloquerait de ce côté mais là je ne peux pas vraiment t'aider.
Marsh Posté le 13-09-2007 à 10:22:08
Bonjour à tous !
J'essaye de migrer mon site sur un serveur privé virtuozzo d'Amen.
Mes scripts php fonctionnent sauf qu'il m'est impossible de récupérer une variable par les méthode GET ou POST.
QUERY_STRING reste toujours vide.
voici le script tout bête pour comprendre le problème
la page appelée est essai2.php?id=1
<?php
echo('SERVER->');var_dump($_SERVER);echo("<br>" );
echo('GET->');var_dump($_GET);
?>
et le résultat est le suivant :
" ["SERVER_SOFTWARE"]=> string(22) "Apache/2.0.51 (Fedora)" ["SERVER_NAME"]=> string(22) "neodream-creations.com" ["SERVER_ADDR"]=> string(14) "62.193.192.144" ["SERVER_PORT"]=> string(2) "80" ["REMOTE_ADDR"]=> string(14) "62.193.192.144" ["DOCUMENT_ROOT"]=> string(50) "/home/httpd/vhosts/neodream-creations.com/httpdocs" ["SERVER_ADMIN"]=> string(15) "user@domain.tld" ["SCRIPT_FILENAME"]=> string(61) "/home/httpd/vhosts/neodream-creations.com/httpdocs/essai2.php" ["REMOTE_PORT"]=> string(5) "59135" ["GATEWAY_INTERFACE"]=> string(7) "CGI/1.1" ["SERVER_PROTOCOL"]=> string(8) "HTTP/1.1" ["REQUEST_METHOD"]=> string(3) "GET" ["QUERY_STRING"]=> string(0) "" ["REQUEST_URI"]=> string(12) "//essai2.php" ["SCRIPT_NAME"]=> string(12) "//essai2.php" ["PHP_SELF"]=> string(12) "//essai2.php" ["PATH_TRANSLATED"]=> string(61) "/home/httpd/vhosts/neodream-creations.com/httpdocs/essai2.php" ["argv"]=> array(0) { } ["argc"]=> int(0) }
GET->array(0) { }
Je n'y comprend rien, quelqu'un a-il une idée d'ébauche de probable solution ?
Merci