PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#2 Re : Forum Général PHP » Problème de formulaire : je ne reçois pas les messages :( » 10-09-2015 22:35:25

Bonjour tof73 et merci pour ta réponse,
Non, aucune réponse dans ma messagerie sad
Je suis perdu !
Bon après-midi,
CHSCT

#3 Forum Général PHP » Problème de formulaire : je ne reçois pas les messages :( » 10-09-2015 22:35:25

CHSCT
Réponses : 3

Bonsoir,
Je suis en train de travailler sur un formulaire. Le fichier html fait appel à un fichier js. Ce dernier fait appel à un fichier PHP.
Lorsque je clique sur "envoyer", j'ai bien en réponse "email sent"... mais rien dans ma boîte mail.
J'ai tenté de comprendre les fichiers js et php, mais vu que je débute : rien trouvé sad
HELP-ME !!! Je vous joins les deux fichiers :


//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:'dm15517@gmail.com',
          stripHTML:true,
          smtpMailServer:'auth.smtp.1and1.fr',
          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:'dm15517@gmail.com'
       })
   })
 

et le code PHP :


<?php
  $owner_email = $_POST["dm15517@gmail.com"];
  $headers = 'From:dm15517@gmail.com' . $_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";
  }
?>
 

Bonne soirée et merci,
CHSCT

Pied de page des forums

Propulsé par FluxBB