Aller au contenu

Sujets conseillés

Posté

je me heurte a un petit probleme:

sur mon serveur local, les scripts php ne prennent pas en compte le paramètre passé en get par des formulaires et mes requètes s'exécutent avec le paramètre par défaut, alors que tout fonctionne très bien chez mon hébergeur.

je me doute bien qu'il doit y avoir un problème de config chez moi, mais je ne vois pas lequel :blink:

merci d'avance

Posté

Tu devrais t'intéresser au fichier php.ini, et au paramètre :

register_argc_argv

Celui ci doit etre à 'on', soit :

register_argc_argv = On

Le fichier php.ini se trouve dans le répertoire windows.

Anonymus.

Posté

Bug,

Tu dois avoir un problème avec le paramètre register_globals qui est mis à Off par défaut sur toutes les installations Php depuis la version la 4.2.0 alors qu'il était à On précédemment.

Soit tu le changes dans le fichier php.ini, soit tu le forces au cas par cas dans un fichier .htaccess à la racine du site en mettant la directive :

php_flag register_globals on

Mais pour éviter toute collision de variables et problème de sécurité, le mieux est encore d'adresser les variables "superglobales" ($_ENV, $_GET, $_POST, $_COOKIE, et $_SERVER) en laissant ce flag à Off.

Cela suppose des modifications de tes scripts mais vaut la peine pour éviter les modifications urgentes si tu changes pour un hébergement plus "strict"

Dan

Posté
Mais pour éviter toute collision de variables et problème de sécurité, le mieux est encore d'adresser les variables "superglobales" ($_ENV, $_GET, $_POST, $_COOKIE, et $_SERVER) en laissant ce flag à Off.

:yoot::yoot: t'aurais pas un dico sous la main :yoot::yoot:

plus serieusement, ou puis-je trouver 'le meilleur' tutoriel php (de préférence en français, sauf si l'anglais est vraiment supèrieur en qualité)

merci d'avance

Guest Ldo
Posté
plus serieusement, ou puis-je trouver 'le meilleur' tutoriel php (de préférence en français, sauf si l'anglais est vraiment supèrieur en qualité)

pour moi, y'a pas photo, on ne trouvera jamais mieux que ca :

http://fr.php.net/manual/fr/

:whistling::D

Posté
t'aurais pas un dico sous la main

Salut Bug,

Pour récupérer une variable "toto" envoyée par un formulaire avec une méthode GET, on peut:

  • soit l'accéder par $toto si la directive register_globals est mise à on
  • soit l'accéder par $_GET['toto'] dans tous les cas de figure.

Si cette variable est transmise par un formulaire utilisant la méthode POST, elle sera accessible par la variable superglobale $_POST['toto']

Il existe de très bons bouquins, mais je n'en ai pas un seul en français. Un petit tour à la FNAC de Marseille, et on profite de l'occasion pour aller se vider une mousse ? ;)

Dan

Posté
Anonymus

register_argc_argv = On

Dan
Dan

register_globals qui est mis à Off par défaut

and the winner is .... :clap: Dan :up:

merci beaucoup

Guest Hellway
Posté
Dommage que tu n'ai pas compris :(

Effectivement, notre ami s'en rendra compte lors de ses premières failles de sécurité :whistling: ...

Posté

que n'ai-je point compris ?

que pour des raisons de securité, il vaut mieux laisser register_argc_argv à off ?

je vais étudier ça, mais comment le modifier sur le serveur distant ?

Posté
Mais pour éviter toute collision de variables et problème de sécurité, le mieux est encore d'adresser les variables "superglobales" ($_ENV, $_GET, $_POST, $_COOKIE, et $_SERVER) en laissant ce flag à Off.
Bug,

Même si le fait de mettre register_globals à On résoud ton problème, j'avais toutefois mentionné que cela pouvait créer des failles de sécurité.

Il est donc plus sage d'utiliser les superglobales ;)

Il est envisageable que de plus en plus d'hébergeurs n'offiront plus cette facilité dans le futur et c'est donc au programmeur à anticiper cela.

Dan

Posté

c'est donc bien ce que j'avais compris

j'ajoute donc une ligne dans mon 'toudou' : utiliser les variables superglobales

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...