Forum Programmation.php Problème bizarre de formulaire POST

Posté par  .
Étiquettes : aucune
3
22
fév.
2011

Bonjour,

je fais appel au forum car j'ai un problème que je n'arrive pas à résoudre mais j'ai identifié la source. Je n'ai jamais vu cela et je ne comprends pas d'où cela peut venir (config. d'apache ? mod_security ?) Voilà ce qu'il se passe : j'ai un visiteur qui m'a fait part d'une impossibilité d'envoyer un message sur mon site ou de remplir un formulaire d'inscription. Ce visiteur a tenté sur 2 ordinateurs différents à des endroits différents et c'est ce qui m'inquiète.

Alors sur le site, il n'a aucun problème avec les formulaire de recherche qui sont en METHOD="get". Mais dès qu'il s'agit d'un formulaire en METHOD="POST" c'est comme s'il n'envoyait auncune information ! Quel que soit le formulaire sur mon site ... (j'ai créé une page de test avec un simple formulaire).

Je demande à ce visiteur d'aller sur un autre site qui utilise un formulaire method=POST : cela fonctionne mais c'est un page de résultat différente de la page du formulaire.

Je lui fais donc tester une derniere chose : j'ai sur une page test1.php un formaulaire en POST dont le résultat est sur une autre page (test2) c'est à dire le <form action="test2.php" method="post"> et là comme par magie sur la page test2.php je récupère les valeurs en POST ! Mais si je tente de récupérer les valeur sur la même page que celle du formulaire alors c'est comme s'il n'envoyait aucune information.

A noter que cela n'arrive qu'avec quelques visiteurs car tous mes tests et pleins plein d'autres visiteurs arrivent à créer leur compte etc.

Quelqu'un a-t-il déjà rencontré ce genre de problème ou bien quelqu'un a-t-il une idée ?

Merci beaucoup.

  • # difficile de répondre sans le code

    Posté par  . Évalué à 1.

    Salut
    Il serait bien que tu nous donnes l'url de tes pages de tests, ou que tu nous donnes le code php que tu utilises.
    A froid comme ça, je ne vois pas trop pourquoi ça fonctionnerait sur certains sites et pas sur le tiens.
    Bon courage

    • [^] # Re: difficile de répondre sans le code

      Posté par  . Évalué à 0.

      De plus ce n'est pas un problème de site mais de client ... je ne sais pas s'il y a une config ou quoi qui LUI pose problème QUE pour les formulaires en method POST qui renvoit sur le même page ! Car sur une page de résultat différente çà fonctionne ... c'est vraiment à ne rien y comprendre.

      • [^] # Re: difficile de répondre sans le code

        Posté par  . Évalué à 0.

        J'ai un autre site sur le même serveur et il a le même soucis ... Donc je verrai plus un problème de config apache / php ou je ne sais quoi

  • # réponse

    Posté par  . Évalué à 1.

    Pas de soucis mais ce n'est pas un problème de code ou quoi que ce soit ... C'est hyper bizarre !

    Eh bien en fait il n'y a aucune valeur en POST qui passe pour lui SI ET SEULEMENT SI la page de formulaire est le même que la page de résultat

    Pas de JS rien du tout. Pour comrpendre je lui ai fait un formulaire de ce qu'il y a de plus basique : 1 form, un champ text et un bouton submit.

    Si j'ai ma page test1.php avec le code : <?php if(isset($POST['message']) echo "MESSAGE RECU : ".$POST['message']; ?> <form action="test1.php" method="POST"> <textarea name="message"></textarea> <br /><br /> <input type="submit" value="ENVOYER"></input> </form>

    ===> Lui çà n'affiche jamais le message !

    MAIS si j'ai ma page test1.php <form action="test2.php" method="POST"> <textarea name="message"></textarea> <br /><br /> <input type="submit" value="ENVOYER"></input> </form>

    et test2.php : <?php if(isset($POST['message']) echo "MESSAGE RECU : ".$POST['message']; ?>

    ===> Alors le message s'affiche pour lui ! C'est à en perdre la tête.

    Donc pas de soucis de code, de navigateur client etc. C'est un problème vraiment spécial !

    pas exemple cette page : http://www.musicdestock.fr/test2.php

    Le problème est qu'il a essayé sur 2 postes différents ... sinon là sa config est win vista avec la dernière version de firefox... mais çà a été testé avec la même config et pas de soucis (AGENT=Mozilla/5.0 (Windows, U, Windows NT 6.0, fr, rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13).

    Ce client ... quand il est par exemple sur cette page : http://www.musicdestock.fr/contact-f...p?id_contact=1 s'il clique directement sur envoyer il n'a pas de message d'erreur (car pas de $_POST donc pas d'erreur), s'il remplit tous les champs .. le message n'est pas envoyé.

    • [^] # Re: réponse

      Posté par  . Évalué à 1.

      c'est dans le code bien $_POST et non pas $POST comme écrit ci-dessus (pb de copier coller !)

      • [^] # Re: réponse

        Posté par  . Évalué à 1.

        Le problème est étrange en effet. Plusieurs questions me viennent à l'esprit :

        Cette personne peut-elle tester avec Internet Explorer ou Chrome ?
        A-t'elle des extensions sous Firefox ?
        Y-a-t'il des erreurs au niveau d'apache ?

        Je vois deux choses :
        - soit c'est un problème côté serveur : les données ne sont pas envoyées au script php, il ne peut pas les traiter, du coup il n'affiche rien. - soit c'est un problème côté client, le formulaire n'est pas validé ou bloqué. (je peux me tromper, ce ne sont que des hypothèses)

        Bon courage

  • # tcpdump

    Posté par  (site web personnel) . Évalué à 2.

    tcpdump un client qui marche pas et un client qui marche, cherche la différence. Du côté serveur tu peux sans doute activer des logs plus verbeux pour tous les modules impliqués histoire de voir ce qui arrive à chaque niveau et ce qui est filtré.

    pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.