Page 1 sur 1

Probleme avec PHP_SELF en local.

Posté : 01 mai 2008, 10:05
par chdanao
Bonjour,

Déjà je signale que je suis débutant en PHP donc soyez indulgeant si je dis des conneries :?

Je voudrais faire un petit script qui me permet de créer un fichier texte avec différentes infos. J'en ai fait un qui marche tres bien en ligne et qui me créer mon fichier avec tout ce que je veux.
Par contre ce qui m'interesse ce serait de le faire tourner en local pour créer ce fichier sur mon PC et sans avoir le net.

Et j'ai un problème en local avec PHP_SELF apparement.

J'utilise cette ligne de commande pour rappeler mon formulaire.

Code : Tout sélectionner

<form method="post" action="<?echo $PHP_SELF?>">


Quand je remplit mon formulaire et que je valide, ca plante et j'ai (Le même code fonctionne tres bien en ligne)
Image


Donc je pense que ca plante au moment de rappeler la page.
Est ce que PHP_SELF foncionne en local?
Sinon est-il possible d'outrepasser ce problème?
Faut-il configurer le serveur PHP de manière à ce qu'il prennent en compte cette variable?

Merci d'avance pour vos multiples réponses :lol:

Posté : 01 mai 2008, 10:09
par caroube
et avec
<form method="post" action="<?php echo $PHP_SELF; ?>">
ça donne quoi ?

Posté : 01 mai 2008, 10:42
par chdanao
Merci de ta reponse déjà.

La même chose. Même erreur avec
dans la barre d'adresse.

J'ai aussi essayer çà
<? echo "<form method=\"post\" action=\"$PHP_SELF\">"; ?>
en vain.

Le serveur ne prend pas en compte cette variable j'ai l'impression, j'ai essayer avec easyphp et wamp5. Rien a faire.

Posté : 01 mai 2008, 11:05
par caroube
D'après ce que je vois, tu as mis <? et pas <?php . Peux-tu essayer avec <?php ?

Posté : 01 mai 2008, 11:16
par Sékiltoyai
C'est parce que tu codes de manière tout à fait obsolète, et insécure au passage…
Les nouvelles configurations ne supportent plus :
- Que les données $_POST, $_GET, $_SESSION, $_COOKIE, $_SERVER, $_ENV, $_FILE soient enregistrées directement sous forme de variable dans les scripts : http://www.php.net/manual/fr/language.v ... efined.php
http://www.php.net/manual/fr/security.globals.php
- Que les erreurs notice soient cachées, cachant en même temps les erreurs de variables indéfinies, d'indices de tableaux inexistants : http://www.php.net/manual/fr/errorfunc. ... -reporting
- Que les données entrantes soient automatiquement échappées, déresponsabilisant ainsi le développeur au sujet des problèmes de sécurité et d'injection SQL : http://www.php.net/manual/fr/info.confi ... quotes-gpc

Ton problème ne vient que du premier point, il faut que tu utilises le tableau $_SERVER, mais si tu as ce problème, il y a de fortes chances que tu en ais d'autres dûs à ce que j'ai cité, notamment des grosses failles de sécurité… Je t'encourage donc à recoder proprement ton script.

Edit, en effet, je n'avais pas vu non plus le <? , les nouvelles configurations n'interprêtent plus non plus le code commencant par <?, il faut lui préférer <?php : http://www.php.net/manual/fr/ini.core.p ... t-open-tag

Posté : 01 mai 2008, 16:35
par chdanao
OK ben merci pour vos réponses. Apparement il faut que je potasse :?

Sinon pour info quand je mets <?php, ca ne plante plus quand je remplit mon formulaire, par contre çà ne rappelle pas la page. :(

je cherche simplement à rappeler la page avec les variables que j'ai rentré dans le forumaire en fait. Il n'y a pas une méthode simple???

A+ :wink:

Posté : 01 mai 2008, 17:07
par Sékiltoyai
Il faut que tu utilises le tableau $_SERVER, mais si tu as ce problème, il y a de fortes chances que tu en ais d'autres dûs à ce que j'ai cité, notamment des grosses failles de sécurité… Je t'encourage donc à recoder proprement ton script.

Posté : 01 mai 2008, 17:38
par Cyrano
Et donc on écrit pas $PHP_SELF mais $_SERVER['PHP_SELF']

Posté : 05 mai 2008, 16:07
par nicolas
Et donc on écrit pas $PHP_SELF mais $_SERVER['PHP_SELF']
Sans oublier d'en vérifier le contenu et de le filtrer pour ne pas s'exposer à une faille XSS, puisque c'est une donnée provenant du client.