|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() |
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. |
|
|
00
|
|
|
#2 |
|
Membre du Club
![]() Inscription : mars 2007 Messages : 116 ![]() |
un pt'it peu de code?
tu n'utiliserais pas Code :
<form action=<?php echo $_SERVER['PHP_SELF'] ; ?> |
|
|
00
|
|
|
#3 | ||||
|
Invité de passage
![]() |
le code est bon et basique ...
dans test1.php Code :
sur cette même page avant je mets Code :
Et ce qui est super étrange c'est que si j'ai la même chose mais avec un action sur une page différente alors le $_POST['variable'] contient une valeur.... |
||||
|
|
00
|
|
|
#4 |
|
Membre du Club
![]() Inscription : mars 2007 Messages : 116 ![]() |
que te dit
? ça n'arrive qu'à 'lui', ou a plusieurs? Je ne veux pas le blâmer, mais peut-être qu'il clique avec le bouton de l'aspirateur... le submit ne serait pas intercepté par du js? ça expliquerais un comportement différent côté client... (js désactivé, différences d'interprétations, etc...) enfin, c'est quelques pistes... |
|
|
00
|
|
|
#5 | ||||
|
Invité de passage
![]() |
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 comprendre 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 : Code :
Code :
Donc pas de soucis de code, de navigateur client etc. C'est un problème vraiment spécial ! |
||||
|
|
00
|
|
|
#6 |
|
Membre du Club
![]() Inscription : mars 2007 Messages : 116 ![]() |
essaye tout de même avec $_SERVER['PHP_SELF'], comme indiqué plus haut, juste pour voir...
|
|
|
00
|
|
|
#7 |
![]() ![]() Benjamin DelespierreDéveloppeur Web Inscription : février 2010 Messages : 2 984 ![]() |
Je te recommande d'utiliser 'empty' en lieu et place de 'isset', car ce qui nous intéresse c'est de savoir si $_POST['message'] n'est pas vide et non pas s'il existe.
Note: empty à le même comportement que isset pour les index non-initialisés, il renvoie true si la variable/index n'existe pas donc inutile de faire les deux.
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même). Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...". Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug. Les boutons et existent, servez-vous en
|
|
00
|
|
|
#8 |
|
Invité de passage
![]() |
@BlindeKinder :
avec $_SERVER['PHP_SELF'], avec l'url absolue, avec l'url relative : même résultat @Benjamin Merci pour ce conseil, mais il n'y a tout simplement pas de variable POST donc !isset et !empty etc donnent la même chose... |
|
|
00
|
|
|
#9 |
|
Membre du Club
![]() Inscription : mars 2007 Messages : 116 ![]() |
essaye de voir la spécificité du poste client: navigateur, config...
Jette aussi un oeil au variables de config php, pas mal sont en lien avec post: http://php.net/manual/fr/ini.core.php |
|
|
00
|
|
|
#10 |
|
Invité de passage
![]() |
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é. Ce n'est qu'un exemple car je lui ai fait testé ce genre de formulaire basique pour déterminer exactement ce qu'il se passait : http://www.musicdestock.fr/test2.php |
|
|
00
|
|
|
#11 |
|
Membre du Club
![]() Inscription : mars 2007 Messages : 116 ![]() |
pour ce qui est du site, la DTD semble incorrecte, ( mon validateur qui me la dit
dans le test2, essaye sans refermer la balise: <input type="submit" value="ENVOYER"></input> sauf erreur, le texte contenu peut être interprété différemment selon les navigateurs ... mais ça m'étonne que ça ne fonctionne pas dans les deux, car les deux pages sont très différentes... |
|
|
00
|
|
|
#12 | |
|
Invité de passage
![]() |
Citation:
Mon site valide XHTML et CSS http://validator.w3.org/check?uri=ht...usicdestock.fr Oui .. la page de contact comprise : http://validator.w3.org/check?uri=ht...ntact-form.php |
|
|
|
00
|
|
|
#13 |
|
Membre du Club
![]() Inscription : mars 2007 Messages : 116 ![]() |
mais pour le reste, je sèche... |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com