Problème de formulaire PHP (POST)
Résolu
darkvandrech
-
nava -
nava -
Bonjour,
J'ai un problème qui me donne des migraines depuis quelques temps.
J'ai mes formulaire qui ne renvoies plus rien.
C'est à dire que d'un coup un formulaire qui fonctionnait bien ne fonctionne plus du tout.
Pour être sur j'ai crée une page simple :
Ce qui me renvoi un Array vide.
Les logs d'apache et de php ne me renvoi rien de bizzard.
Donc je coince.
Merci d'avance
J'ai un problème qui me donne des migraines depuis quelques temps.
J'ai mes formulaire qui ne renvoies plus rien.
C'est à dire que d'un coup un formulaire qui fonctionnait bien ne fonctionne plus du tout.
Pour être sur j'ai crée une page simple :
<form action="test.php" method="post"> <input name="txt" type="text"> <input name="" type="submit" value="Envoyer"> </form><br> <?php print_r($_POST); ?>
Ce qui me renvoi un Array vide.
Les logs d'apache et de php ne me renvoi rien de bizzard.
Donc je coince.
Merci d'avance
A voir également:
- Php confirmer le nouvel envoi du formulaire
- Whatsapp formulaire opposition - Guide
- Formulaire de réclamation facebook - Guide
- Envoi impossible messenger - Forum Facebook Messenger
- Formulaire de reclamation instagram - Guide
- Formulaire de contact le bon coin introuvable - Forum Réseaux sociaux
38 réponses
J'ai posté un sujet sur www.siteduzero.com...
Une des réponses propose ceci:
"mouais...
la c'est vraiment etrange...
sur firefox tu peux telecharger le plugin "tamper data"
quand tu le lance tu peux intercepter les requetes. Tu verra déja si elles sont meme plus envoyées par le navigateur ou si c'est php qui les intercepte plus
"
Une des réponses propose ceci:
"mouais...
la c'est vraiment etrange...
sur firefox tu peux telecharger le plugin "tamper data"
quand tu le lance tu peux intercepter les requetes. Tu verra déja si elles sont meme plus envoyées par le navigateur ou si c'est php qui les intercepte plus
"
Essaie ça:
<p>
<form action="test.php" method="post">
<input type="text" name="txt" />
<input type="submit" value="Envoyer" />
</form>
<br />
</p>
<?php
if(isset($_POST['txt']))
{
echo 1;
echo $_POST['txt'];
}
?>
Afin de vérifier si la variable existe, s'il affiche le 1, elle existe mais vide sinon elle n'existe carrément pas.
<p>
<form action="test.php" method="post">
<input type="text" name="txt" />
<input type="submit" value="Envoyer" />
</form>
<br />
</p>
<?php
if(isset($_POST['txt']))
{
echo 1;
echo $_POST['txt'];
}
?>
Afin de vérifier si la variable existe, s'il affiche le 1, elle existe mais vide sinon elle n'existe carrément pas.
Bonjour,
J'ai eu un problème assez similaire à darkvandrech.
J'ai installé XAMP.
Et depuis ca marche.
PS : lorsqu'on installe XAMP, un fichier htaccess est nouvellement créé.
Je ne sais pas si cela pourra aider.
Bonne chance !
J'ai eu un problème assez similaire à darkvandrech.
J'ai installé XAMP.
Et depuis ca marche.
PS : lorsqu'on installe XAMP, un fichier htaccess est nouvellement créé.
Je ne sais pas si cela pourra aider.
Bonne chance !
Tu pourrais pas essayer de rajouter
Tout en haut de la page ?
Ca permettrait de voir s'il y a des warnings ou des notices
<?php error_reporting(E_ALL); ?>
Tout en haut de la page ?
Ca permettrait de voir s'il y a des warnings ou des notices
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Grace à WAMP j'ai aussi les fichiers de log de apache :
Apache error log :
[Tue May 11 16:18:27 2010] [error] [client 127.0.0.1] PHP Notice: Undefined index: champ in C:\\wamp\\www\\test.php on line 17, referer: http://localhost/test.php
Apache acces log :
127.0.0.1 - - [11/May/2010:16:18:27 +0200] "POST /test.php HTTP/1.1" 200 562
Donc une requete POST a bien été envoyer à Apache et à priorie le problème vient d'ailleurs (enfin si j'ai bien compris ^^).
Apache error log :
[Tue May 11 16:18:27 2010] [error] [client 127.0.0.1] PHP Notice: Undefined index: champ in C:\\wamp\\www\\test.php on line 17, referer: http://localhost/test.php
Apache acces log :
127.0.0.1 - - [11/May/2010:16:18:27 +0200] "POST /test.php HTTP/1.1" 200 562
Donc une requete POST a bien été envoyer à Apache et à priorie le problème vient d'ailleurs (enfin si j'ai bien compris ^^).
Je viens de tester de tout virer du dossier www et de juste laisser un fichier index.php
Et la pour augmenter le mystère sa marche.
Donc le problème viendrait d'un fichier tiers.
<form name="form1" method="post" action="index.php"> <p> <input name="test" type="text" id="test"> </p> <p> <input type="submit" name="Submit" value="Envoyer"> </p> </form> <?php echo $_POST['test']; ?>
Et la pour augmenter le mystère sa marche.
Donc le problème viendrait d'un fichier tiers.
Ha mais attends, je viens de comprendre je pense !
ton fichier test.php là, il n'était pas à la racine avant si ?
Et tu en avais pas un autre à la racine ?
parce que selon les configs des serveurs, les "./index.php" peuvent être différents de "index.php"
ton fichier test.php là, il n'était pas à la racine avant si ?
Et tu en avais pas un autre à la racine ?
parce que selon les configs des serveurs, les "./index.php" peuvent être différents de "index.php"
J'ai verifier mais ce n'est malheureusement pas ça.
Donc je vais épaissir ce mystère, pour accéder a ce site je passe en local sur mon poste index.php marche.
Et si je passe par mon bureau Citrix (en gros comme si un poste distant ce connecte) le $_POST marche plus.
Donc je vais épaissir ce mystère, pour accéder a ce site je passe en local sur mon poste index.php marche.
Et si je passe par mon bureau Citrix (en gros comme si un poste distant ce connecte) le $_POST marche plus.
Essaye de supprimer le fichier htaccess... si j'ai bien compris, il devrait se recréer par défaut...
Par contre les commentaire ci-dessus mon fait penser, j'ai modifier httpd.conf comme ci :
# # Listen: Allows you to bind Apache to specific IP addresses and/or # ports, instead of the default. See also the <VirtualHost> # directive. # # Change this to Listen on specific IP addresses as shown below to # prevent Apache from glomming onto all bound IP addresses. # Listen 10.75.30.218:80 Listen 127.0.0.1:80
Résumons parce que cela devient complexe...
En local, tes post fonctionnent-ils ? Avec n'importe quel page ?
En local, tes post fonctionnent-ils ? Avec n'importe quel page ?
Le mystère continue :
En local les $_POST ne fonctionne plus
Voici mon fichier test.php
En local les $_POST ne fonctionne plus
Voici mon fichier test.php
<?php error_reporting(E_ALL); ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <title>Document sans titre</title> </head> <body> <form name="form1" method="post" action="test.php"> <p> <input name="champ" type="text" id="champ"> </p> <p> <input type="submit" name="Submit" value="Envoyer"> </p> </form> <?php echo $_REQUEST['champ']; ?> </body> </html>
Le mystère ce facilite, donc je m'explique :
1) Je ferme tout le navigateur.
2) J'ouvre le navigateur.
3) Je vais sur http://localhost/test.php -> il fonctionne
4) Je vais sur http://localhost/index.php
5) Suite à cela plus aucun $_POST ne fonctionne.
Donc le problème vient de index.php ou d'un des fichiers ajouter.
Sachant que n'étant pas identifier conf.php (lui meme inclue dans index.php) renvoi vers ident.php
ident.php charge ntml.php pour pouvoir effectuer un activation automatique par windows puis si identifier renvoi vers index.php
Je vous dis dés que j'ai trouver
1) Je ferme tout le navigateur.
2) J'ouvre le navigateur.
3) Je vais sur http://localhost/test.php -> il fonctionne
4) Je vais sur http://localhost/index.php
5) Suite à cela plus aucun $_POST ne fonctionne.
Donc le problème vient de index.php ou d'un des fichiers ajouter.
Sachant que n'étant pas identifier conf.php (lui meme inclue dans index.php) renvoi vers ident.php
ident.php charge ntml.php pour pouvoir effectuer un activation automatique par windows puis si identifier renvoi vers index.php
Je vous dis dés que j'ai trouver
Et voila c'est résolue c'était bien le NTLM qui faisait planter les $_POST.
Maintenant j'ai plus qu'a trouver une alternative à ça.
Merci beaucoup à tous.
Maintenant j'ai plus qu'a trouver une alternative à ça.
Merci beaucoup à tous.
Bonjour,
ca marche chez moi sans aucune problème
essaye ça :
<form action="test.php" method="post">
<input name="txt" type="text">
<input type="submit" value="Envoyer">
</form>
test.php :
<?php
if(isset($_POST['txt']))
{
$text = $_POST['txt'];
echo $text;
}
?>
ca marche chez moi sans aucune problème
essaye ça :
<form action="test.php" method="post">
<input name="txt" type="text">
<input type="submit" value="Envoyer">
</form>
test.php :
<?php
if(isset($_POST['txt']))
{
$text = $_POST['txt'];
echo $text;
}
?>
Et pour finir tout marche même le NTLM.
J'ai lu que ce problème ne concerne que le répertoire ou ce situe le ntlm
donc j'ai diviser mon site avec :
Les fichiers à la racine et un répertoire ntlm (oui j'ai pas beaucoup d'imagination dans les noms) dans lequel j'ai placer mon fichier ntlm.php et identification.php
Donc en résumant :
- un test sur une variable de session dans conf.php montre que l'on est pas authentifier.
Le script redirige vers ntml/identification.php
- ntml/identification.php charge ntml/ntlm.php verifie si l'utilisateur existe en bdd puis renvoi vers ../index.php (à la racine)
Et la les POST continue de fonctionner et le NTML a bien marché.
Merci à tous pour vos conseils et en particulier à Neliel.
En espérant que cela serve à d'autre personne.
J'ai lu que ce problème ne concerne que le répertoire ou ce situe le ntlm
donc j'ai diviser mon site avec :
Les fichiers à la racine et un répertoire ntlm (oui j'ai pas beaucoup d'imagination dans les noms) dans lequel j'ai placer mon fichier ntlm.php et identification.php
Donc en résumant :
- un test sur une variable de session dans conf.php montre que l'on est pas authentifier.
Le script redirige vers ntml/identification.php
- ntml/identification.php charge ntml/ntlm.php verifie si l'utilisateur existe en bdd puis renvoi vers ../index.php (à la racine)
Et la les POST continue de fonctionner et le NTML a bien marché.
Merci à tous pour vos conseils et en particulier à Neliel.
En espérant que cela serve à d'autre personne.