Aller au contenu

config php


Bug

Sujets conseillés

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

Lien vers le commentaire
Partager sur d’autres sites

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.

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

Guest Ldo
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

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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

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

Lien vers le commentaire
Partager sur d’autres sites

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 ?

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

c'est donc bien ce que j'avais compris

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

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

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



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