Petit souci pour formulaire en php
Fermé
jimmy1120112
Messages postés
619
Date d'inscription
mardi 30 novembre 2010
Statut
Membre
Dernière intervention
7 décembre 2014
-
30 mai 2012 à 10:48
ReDLoG Messages postés 243 Date d'inscription mardi 12 mars 2013 Statut Membre Dernière intervention 28 octobre 2021 - 15 févr. 2014 à 23:15
ReDLoG Messages postés 243 Date d'inscription mardi 12 mars 2013 Statut Membre Dernière intervention 28 octobre 2021 - 15 févr. 2014 à 23:15
A voir également:
- Petit souci pour formulaire en php
- Formulaire de réclamation facebook - Guide
- Easy php - Télécharger - Divers Web & Internet
- Excel trier du plus grand au plus petit - Guide
- Petit 3 ✓ - Forum Word
- Formulaire instagram compte suspendu - Guide
8 réponses
tryan44
Messages postés
1288
Date d'inscription
mardi 24 janvier 2012
Statut
Membre
Dernière intervention
26 octobre 2014
220
30 mai 2012 à 13:11
30 mai 2012 à 13:11
Salut,
Il manque la "method" et "action" dans le form.
Vous avez mis un lien en guise de bouton pour envoyer le formulaire
Il manque la "method" et "action" dans le form.
<form method="post" action="mapage.php">
Vous avez mis un lien en guise de bouton pour envoyer le formulaire
<input type="submit" name="envoyer" value="Envoyer" />
jimmy1120112
Messages postés
619
Date d'inscription
mardi 30 novembre 2010
Statut
Membre
Dernière intervention
7 décembre 2014
54
30 mai 2012 à 16:09
30 mai 2012 à 16:09
Bonjour tryan44,
Merci pour la réponse rapide !
J'ai changer ce que vous m'avez dit mais rien y fait, le bouton a changer au lieu d'êtres un lien texte, c'est un bouton, mais il n'envoie toujours pas le mail ...
Voici le code du fichier mailhandler :
Et celui du fichier forms.js :
Je précise que c'est du code que j'ai trouver au fur et a mesure sur internet et que j'essaie de faire fonctionner t'en bien que mal ce petit chmilblique ...
Merci encore !
Merci pour la réponse rapide !
J'ai changer ce que vous m'avez dit mais rien y fait, le bouton a changer au lieu d'êtres un lien texte, c'est un bouton, mais il n'envoie toujours pas le mail ...
Voici le code du fichier mailhandler :
<?php $owner_email = $_POST["owner_email"]; $headers = 'From:' . $_POST["email"]; $subject = 'A message from your site visitor ' . $_POST["name"]; $messageBody = ""; if($_POST['name']!='nope'){ $messageBody .= '<p>Visitor: ' . $_POST["name"] . '</p>' . "\n"; $messageBody .= '<br>' . "\n"; } if($_POST['email']!='nope'){ $messageBody .= '<p>Email Address: ' . $_POST['email'] . '</p>' . "\n"; $messageBody .= '<br>' . "\n"; }else{ $headers = ''; } if($_POST['state']!='nope'){ $messageBody .= '<p>State: ' . $_POST['state'] . '</p>' . "\n"; $messageBody .= '<br>' . "\n"; } if($_POST['phone']!='nope'){ $messageBody .= '<p>Phone Number: ' . $_POST['phone'] . '</p>' . "\n"; $messageBody .= '<br>' . "\n"; } if($_POST['fax']!='nope'){ $messageBody .= '<p>Fax Number: ' . $_POST['fax'] . '</p>' . "\n"; $messageBody .= '<br>' . "\n"; } if($_POST['message']!='nope'){ $messageBody .= '<p>Message: ' . $_POST['message'] . '</p>' . "\n"; } if($_POST["stripHTML"] == 'true'){ $messageBody = strip_tags($messageBody); } try{ if(!mail($owner_email, $subject, $messageBody, $headers)){ throw new Exception('mail failed'); }else{ echo 'mail sent'; } }catch(Exception $e){ echo $e->getMessage() ."\n"; } ?>
Et celui du fichier forms.js :
//forms ;(function($){ $.fn.forms=function(o){ return this.each(function(){ var th=$(this) ,_=th.data('forms')||{ errorCl:'error', emptyCl:'empty', invalidCl:'invalid', notRequiredCl:'notRequired', successCl:'success', successShow:'4000', mailHandlerURL:'bat/MailHandler.php', ownerEmail:'support@guardlex.com', stripHTML:true, smtpMailServer:'localhost', targets:'input,textarea', controls:'a[data-type=reset],a[data-type=submit]', validate:true, rx:{ ".name":{rx:/^[a-zA-Z'][a-zA-Z-' ]+[a-zA-Z']?$/,target:'input'}, ".state":{rx:/^[a-zA-Z'][a-zA-Z-' ]+[a-zA-Z']?$/,target:'input'}, ".email":{rx:/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i,target:'input'}, ".phone":{rx:/^\+?(\d[\d\-\+\(\) ]{5,}\d$)/,target:'input'}, ".fax":{rx:/^\+?(\d[\d\-\+\(\) ]{5,}\d$)/,target:'input'}, ".message":{rx:/.{20}/,target:'textarea'} }, preFu:function(){ _.labels.each(function(){ var label=$(this), inp=$(_.targets,this), defVal=inp.val(), trueVal=(function(){ var tmp=inp.is('input')?(tmp=label.html().match(/value=['"](.+?)['"].+/),!!tmp&&!!tmp[1]&&tmp[1]):inp.html() return defVal==''?defVal:tmp })() trueVal!=defVal &&inp.val(defVal=trueVal||defVal) label.data({defVal:defVal}) inp .bind('focus',function(){ inp.val()==defVal &&(inp.val(''),_.hideEmptyFu(label),label.removeClass(_.invalidCl)) }) .bind('blur',function(){ _.validateFu(label) if(_.isEmpty(label)) inp.val(defVal) ,_.hideErrorFu(label.removeClass(_.invalidCl)) }) .bind('keyup',function(){ label.hasClass(_.invalidCl) &&_.validateFu(label) }) label.find('.'+_.errorCl+',.'+_.emptyCl).css({display:'block'}).hide() }) _.success=$('.'+_.successCl,_.form).hide() }, isRequired:function(el){ return !el.hasClass(_.notRequiredCl) }, isValid:function(el){ var ret=true $.each(_.rx,function(k,d){ if(el.is(k)) ret=d.rx.test(el.find(d.target).val()) }) return ret }, isEmpty:function(el){ var tmp return (tmp=el.find(_.targets).val())==''||tmp==el.data('defVal') }, validateFu:function(el){ el.each(function(){ var th=$(this) ,req=_.isRequired(th) ,empty=_.isEmpty(th) ,valid=_.isValid(th) if(empty&&req) _.showEmptyFu(th.addClass(_.invalidCl)) else _.hideEmptyFu(th.removeClass(_.invalidCl)) if(!empty) if(valid) _.hideErrorFu(th.removeClass(_.invalidCl)) else _.showErrorFu(th.addClass(_.invalidCl)) }) }, getValFromLabel:function(label){ var val=$('input,textarea',label).val() ,defVal=label.data('defVal') return label.length?val==defVal?'nope':val:'nope' } ,submitFu:function(){ _.validateFu(_.labels) if(!_.form.has('.'+_.invalidCl).length) $.ajax({ type: "POST", url:_.mailHandlerURL, data:{ name:_.getValFromLabel($('.name',_.form)), email:_.getValFromLabel($('.email',_.form)), phone:_.getValFromLabel($('.phone',_.form)), fax:_.getValFromLabel($('.fax',_.form)), state:_.getValFromLabel($('.state',_.form)), message:_.getValFromLabel($('.message',_.form)), owner_email:_.ownerEmail, stripHTML:_.stripHTML }, success: function(){ _.showFu() } }) }, showFu:function(){ _.success.slideDown(function(){ setTimeout(function(){ _.success.slideUp() _.form.trigger('reset') },_.successShow) }) }, controlsFu:function(){ $(_.controls,_.form).each(function(){ var th=$(this) th .bind('click',function(){ _.form.trigger(th.data('type')) return false }) }) }, showErrorFu:function(label){ label.find('.'+_.errorCl).slideDown() }, hideErrorFu:function(label){ label.find('.'+_.errorCl).slideUp() }, showEmptyFu:function(label){ label.find('.'+_.emptyCl).slideDown() _.hideErrorFu(label) }, hideEmptyFu:function(label){ label.find('.'+_.emptyCl).slideUp() }, init:function(){ _.form=_.me _.labels=$('label',_.form) _.preFu() _.controlsFu() _.form .bind('submit',function(){ if(_.validate) _.submitFu() else _.form[0].submit() return false }) .bind('reset',function(){ _.labels.removeClass(_.invalidCl) _.labels.each(function(){ var th=$(this) _.hideErrorFu(th) _.hideEmptyFu(th) }) }) _.form.trigger('reset') } } _.me||_.init(_.me=th.data({forms:_})) typeof o=='object' &&$.extend(_,o) }) } })(jQuery) $(window).load(function(){ $('#contact-form').forms({ ownerEmail:'MON MAIL ICI (mais je l'ai retirer pour le forum)' }) })
Je précise que c'est du code que j'ai trouver au fur et a mesure sur internet et que j'essaie de faire fonctionner t'en bien que mal ce petit chmilblique ...
Merci encore !
tryan44
Messages postés
1288
Date d'inscription
mardi 24 janvier 2012
Statut
Membre
Dernière intervention
26 octobre 2014
220
30 mai 2012 à 16:24
30 mai 2012 à 16:24
if($_POST['name']!='nope')
$_POST['name'] n'existe pas dans votre formulaire
<input type="text" value="Nom :">
puisqu'il manque l'attribut name"" et il en va de même pour tout les élément de votre formulaire.
if($_POST['name']!='nope'){ $messageBody .= '<p>Visitor: ' . $_POST["name"] . '</p>' . "\n"; $messageBody .= '<br>' . "\n"; }
Là, votre code dit grosso modo que si $_POST['name'] est différent de 'nope', la variable $messageBody est égal à... comme les variables n'existent pas, il fait rien.
jimmy1120112
Messages postés
619
Date d'inscription
mardi 30 novembre 2010
Statut
Membre
Dernière intervention
7 décembre 2014
54
30 mai 2012 à 16:53
30 mai 2012 à 16:53
J'ai bien compris le fait qu'il manque son égaux et qu'a cause de ça il ne fait rien.
Mais je ne voit pas ce que je doit ajouter dans le mailhandler (si c'est bien dans ce fichier que ce joue l'erreur) pour que la boucle ce fasse correctement ...
J'ai l'habitude de faire des formulaire autrement mais la nouvel hébergeur nouvelles méthodes ...
Merci !
Mais je ne voit pas ce que je doit ajouter dans le mailhandler (si c'est bien dans ce fichier que ce joue l'erreur) pour que la boucle ce fasse correctement ...
J'ai l'habitude de faire des formulaire autrement mais la nouvel hébergeur nouvelles méthodes ...
Merci !
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
lokakilo
Messages postés
213
Date d'inscription
dimanche 13 juillet 2008
Statut
Membre
Dernière intervention
20 juin 2013
14
31 mai 2012 à 00:13
31 mai 2012 à 00:13
Et bien ta oublié tous les "name" dans ton code html:
Dans les $_POST['nom'], le 'nom' est la valeur de la balise name, donc pour que le php comprenne ce que 'nom' est, il faut lui dire dans la balise <input /> que name='non' (ou name='mail', ... selon ce que tu veux).
<input type="text" name="nom" value="Nom :" />
Dans les $_POST['nom'], le 'nom' est la valeur de la balise name, donc pour que le php comprenne ce que 'nom' est, il faut lui dire dans la balise <input /> que name='non' (ou name='mail', ... selon ce que tu veux).
jimmy1120112
Messages postés
619
Date d'inscription
mardi 30 novembre 2010
Statut
Membre
Dernière intervention
7 décembre 2014
54
31 mai 2012 à 09:48
31 mai 2012 à 09:48
Bonjour,
D'accord, je fait ça et je vous tien au courant.
Merci !
D'accord, je fait ça et je vous tien au courant.
Merci !
donniecent
Messages postés
19
Date d'inscription
lundi 1 mars 2010
Statut
Membre
Dernière intervention
1 juin 2012
27
31 mai 2012 à 10:07
31 mai 2012 à 10:07
Bonjour, jimmy1120112, c'est exacte vous n'avez rajouté aucun champ name à vos input :
Vous devriez normalement avoir ce formulaire contact.php :
Vous devriez normalement avoir ce formulaire contact.php :
<article class="grid_12"> <h2 class="ind1"><span id="result_box" lang="fr">Entrer en contact</span></h2> <form id="contact-form"> <div class="success">Contact du site<br> <strong>Nous serons bientôt en contact.</strong> </div> <fieldset> <label class="name"> <input type="text" name = "name" value="Nom :"> <span class="error">Le nom n'est pas valide</span> <span class="empty">Ce champs est requis</span> </label> <label class="phone"> <input type="text" name = "phone" value="Téléphone :"> <span class="error">Ce numéro de téléphone n'est pas valide</span> <span class="empty">Ce champs est requis</span> </label> <label class="email"> <input type="text" name = "email" value="E-mail :"> <span class="error">Votre adresse mail n'est pas valide</span> <span class="empty">Ce champs est requis</span> </label> <label class="message"> <textarea>Message :</textarea> <span class="error">Votre message est trop court</span> <span class="empty">Ce champs est requis</span> </label> <div class="buttons2"> <a href="/" data-type="submit" class="link1">Envoyer</a> </div> </fieldset> </form> </article>
Salut jimmy1120112,
As-tu fini par trouver une solution à ton problème, car il semblerait que je travaille sur le même formulaire de contact que le tien, et j'ai exactement le même souci !
Par avance, merci de ta réponse.
As-tu fini par trouver une solution à ton problème, car il semblerait que je travaille sur le même formulaire de contact que le tien, et j'ai exactement le même souci !
Par avance, merci de ta réponse.
ReDLoG
Messages postés
243
Date d'inscription
mardi 12 mars 2013
Statut
Membre
Dernière intervention
28 octobre 2021
57
15 févr. 2014 à 23:15
15 févr. 2014 à 23:15
Bonsoir,
Depuis le 30 mai 2012, on suppose qu'il a résolu son souci non?!
Evite de "déterrer" un sujet ancien, ouvre le tien, tu auras plus de chances qu'un helper te réponde... et pense à ajouter ton code "défaillant", c'est plus parlant que de dire "j'ai exactement le même souci".
Cdlt.
Depuis le 30 mai 2012, on suppose qu'il a résolu son souci non?!
Evite de "déterrer" un sujet ancien, ouvre le tien, tu auras plus de chances qu'un helper te réponde... et pense à ajouter ton code "défaillant", c'est plus parlant que de dire "j'ai exactement le même souci".
Cdlt.