Php conditions envoi formulaire
Résolu/Fermé
A voir également:
- Php conditions envoi formulaire
- Formulaire de réclamation facebook - Guide
- Easy php - Télécharger - Divers Web & Internet
- Civilité sur un formulaire - Forum VB / VBA
- Mainlevée de l’envoi international - Forum Consommation & Internet
- La poste est prête à prendre en charge votre envoi. dès qu'il nous sera confié, vous pourrez suivre son trajet ici. - Forum Consommation & Internet
1 réponse
Sandriine
Messages postés
1255
Date d'inscription
samedi 9 décembre 2006
Statut
Membre
Dernière intervention
18 août 2010
283
31 août 2009 à 16:07
31 août 2009 à 16:07
Regarde ton if : il teste si tous tes champs sont remplis : Il faut que tu réduise ta condition SI.
Par exemple :
Par exemple :
if (isset($_POST['pseudo']) AND isset($_POST['localisation']) AND isset($_POST['votre_message']) ) { //Ici tu teste : si l'élément X existe, alors on le récupère if (isset($_POST['mail'])) { $mail = mysql_real_escape_string(htmlspecialchars($_POST['mail'])); } else { $mail=""; } } else { //message d'erreur }
31 août 2009 à 16:20
alors si j'ai bien compris, l'IF que j'ai mis en place ne vérifie pas si les champ existe mais bien si ils sont remplies ou non....
pourtant quand je test en local via wamp, même si aucun champ n'est remplie il est envoyer dans ma bdd et récupérer par ma page livreor.php........ !!!!!
je vais essayer ça et reviens vers vous pour vous dire ce qu'il en est...
31 août 2009 à 16:55
je l'ai mis a la place de mon if et j'ai enlever mes
$mail = mysql_real_escape_string(htmlspecialchars($_POST['mail']));
le résultat et que toute mes autres entrées me renvoi une erreur ce qui est normal vu que je ne les traite plus.
en revanche l'entrée "mail" ne me renvoi plus de donnée et ce que le champ soit remplie ou non. elle ne me renvoi cela dit pas d'erreur, ce qui était déjà le cas avec mon codage d'origine qui ce contentait de laisser le champ libre que ce soit sur la bdd ou sur la page de récupération des données....
il me faut m'absenter un petit moment, je reviens d'ici une paire d'heures.....
si quelqu'un a une solution ou pourrait me donné un bout de code complet avec un champ "obligatoire" et un champ "facultatif" sa me sauverai la vie car j'ai passer toute ma nuit et ne vois vraiment pas où j'ai failli.....!!!!
merci
31 août 2009 à 19:04
merci pour ta réponse sur mon post.
Malheureusement, j'ai fait un code beaucoup plus simple que toi !!
Moi j'ai juste 4 conditions testées les unes après les autres :
if ($HTTP_POST_VARS['Last_Name'] == '')
{
echo "<script language='JavaScript'>alert('Please fill in your name');history.back();</script>";
exit();}
elseif ($HTTP_POST_VARS['email'] == '')
{
echo "<script language='JavaScript'>alert('Please fill in your email.');history.back();</script>";
exit();}
elseif ($HTTP_POST_VARS['Company_Name'] == '')
{
echo "<script language='JavaScript'>alert('Please fill in your company name');history.back();</script>";
exit();}
elseif ($HTTP_POST_VARS['Telephone'] == '')
{
echo "<script language='JavaScript'>alert('Please fill in your telephone');history.back();</script>";
exit();}
Je ne sais pas si cela pourra t'aider.
Sur mon site, si la 1ère condition n'est pas remplie, ça affiche un pop up disant qu'il manque des infos et en cliquant sur OK, ça renvoie à la page précédente (la page du formulaire - merci à avion-f16 pour son aide !).
Si la condition est remplie, ça passe à la suivante.
J'espère que ça t'aidera !
31 août 2009 à 20:08
bon je viens de changé ton $http_post_vars['last_name'] ==") par
$_post['pseudo'].....
c merveilleux merci a toi pour ce petit bout de javascript va me facilité la vie et me faire récupérer mes heure de sommeil en retard de cette nuit....... !!!!!!
je posterais le bout de code d'acquisition de suite après manger afin de le faire partager au plus grand nombre.....
encore merci bl76 et avion-f16
1 sept. 2009 à 15:10
bon mon problème est résolut, mon formulaire "livre d'or" et sa page d'affichage fonctionne a merveille alors puisque nous sommes pas mal a avoir du mal avec ces foutu conditions je vais vous faire un petit topo de ce qui est ressortie de mes heures de galères.....
condition pour s'assurait que le champ existe et qu'il est vide lors de l'ouverture de la page pour la première foi.....:
isset($_POST['mail'])
condition qui bloque l'envoi des information contenu dans les champ si ceux si ne sont pas remplies.........
........ :
$_POST['mail'] != NULL
attention celui si ne renvoi pas d'erreur et vide tous les champ du formulaire faisant croire a l'internaute que sont message a bien était envoyer alors que la page a seulement était recharger........ elle ma fait passer un salle quart d'heure celle-la car je n'arrivais pas a comprendre pourquoi alors que ma connexion a ma base mysql était valide je n'arrivai pas a y enregistrer le contenu de mes champs.....!!!
et enfin, la condition qui ma était proposé par bl76 avec l'aide d'avion-f16 qui est celle que j'ai mise en œuvre en la couplant avec la première condition que je vous ai énumérer juste en dessus...:
if ($post['Last_Name'] == '')
{
echo "<script language='JavaScript'>alert('Please fill in your name');history.back();</script>";
exit();}
cette dernière vérifie que le champ est rempli lors du clic sur le bouton submit et ouvre une petite fenetre avec le message contenu dans la formule ici "please fill in your name". l'internaute n'a plus qu'a cliqué sur "ok" et il peut finir de compléter son formulaire sans que celui ci n'ai était recharger donc il conserve toutes les information qu'il a déjà tapé.....
voilà en espérant que ce petit topo aidera quelque personne a garder leur cheveux car malheureusement il est déjà trop tard pour les mien...... lol
bye