2017-06-21 2 views
0

Ich habe gerade angefangen, die Grundlagen von PHP zu lernen und möchte den Inhalt von w3schools-Klassen verstehen.So senden Sie E-Mails in PHP mit Jquery-Validierung

Meine html wie folgt aussehen:

<form role="form" method="POST" id="main-contact-form"> 
<br style="clear:both"> 
    <h3 style="margin-bottom: 25px; text-align: center;">Contact a Conveyancing Property Lawyer Now</h3> 
    <div class="form-group"> 
     <input type="text" class="form-control" id="name" name="name" placeholder="Name" required> 
    </div> 
    <div class="form-group"> 
     <input type="text" class="form-control" id="email" name="email" placeholder="Email" required> 
    </div> 
    <div class="form-group"> 
     <input type="text" class="form-control" id="mobile" name="mobile" placeholder="Mobile Number" required> 
    </div> 
    <div class="form-group"> 
     <input type="text" class="form-control" id="subject" name="subject" placeholder="Subject" required> 
    </div> 
    <div class="form-group"> 
    <textarea class="form-control" type="textarea" id="message" placeholder="Message" maxlength="140" rows="7" name="message"></textarea> 
     <span class="help-block"><p id="characterLeft" class="help-block ">You have reached the limit</p></span>      
    </div> 

    <button type="submit" id="submit" name="submit" class="btn btn-primary">Submit</button> 
</form> 

Dann meine Jquery-Datei wie folgt aussieht:

$('#main-contact-form').submit(function(event){ 
event.preventDefault(); 
$.ajax({ 
    type:'post', 
    url:'sendememail.php', 
    data:$(this).serialize(), 
    success:function(response){ 
     if(response==1) 
     { 

      setInterval(function(){$('.review_form').html('<h5><center><div class="alert alert-success">Review Successfully Submitted......</div></center></h5>');},5); 

     } 
     else 
     { 

      setInterval(function(){$('.review_form').html('<h5><center><div class="alert alert-danger">Sorry Your Review Was Not Submitted......</div></center></h5>');},5); 

     } 
    } 

    }); 
    }); 

Von dem, was ich sehen konnte, das ist, wie mehr oder weniger wie eine E-Mail gesendet wird:

<?php 
    $to = "[email protected]"; 
    $subject = "My subject"; 
    $txt = "Hello world!"; 
    $headers = "[email protected]" . "\r\n" . 
    "CC: [email protected]"; 

    mail($to,$subject,$txt,$headers); 
?> 

Mein mailsenden.php sieht wie folgt aus:

<?php 
extract($_POST); 
$to = $email; 
$subject = $subject; 
$txt = $message; 
$headers = "[email protected]" . "\r\n" . 
"CC: [email protected]"; 

mail($to,$subject,$txt,$headers); 
?> 

Wenn ich auf Absenden-Button geklickt haben, bekomme ich den Fehler, den Sie in dem Bild sehen kann:

enter image description here

Hoffnung, die Sie helfen können.

Vielen Dank im Voraus

+0

Um Daten vom Formular an PHP ohne Aktualisierung Seite zu senden, müssen Sie AJAX verwenden http://api.jquery.com/jquery.ajax/ –

Antwort

0

diesen Code Versuchen:

für E-Mail senden Neue Seite erstellen wie mailsenden.php und Eingang in sie Ihre E-Mail-Code.

Aktion aus Formular entfernen und Attribut-ID im Formular-Tag hinzufügen.

<form role="form" method="POST" id="main-contact-form"> 
<br style="clear:both"> 
     <h3 style="margin-bottom: 25px; text-align: center;">Contact a Conveyancing Property Lawyer Now</h3> 
     <div class="form-group"> 
      <input type="text" class="form-control" id="name" name="name" placeholder="Name" required> 
     </div> 
     <div class="form-group"> 
      <input type="text" class="form-control" id="email" name="email" placeholder="Email" required> 
     </div> 
     <div class="form-group"> 
      <input type="text" class="form-control" id="mobile" name="mobile" placeholder="Mobile Number" required> 
     </div> 
     <div class="form-group"> 
      <input type="text" class="form-control" id="subject" name="subject" placeholder="Subject" required> 
     </div> 
     <div class="form-group"> 
     <textarea class="form-control" type="textarea" id="message" placeholder="Message" maxlength="140" rows="7" name="message"></textarea> 
      <span class="help-block"><p id="characterLeft" class="help-block ">You have reached the limit</p></span>      
     </div> 

     <button type="submit" id="submit" name="submit" class="btn btn-primary">Submit</button> 
</form> 

Dann ändern Sie Ihre JQuery unten:

<script> 
$('#main-contact-form').submit(function(event){ 
event.preventDefault(); 
$.ajax({ 
    type:'post', 
    url:'sendememail.php', 
    data:$(this).serialize(), 
    success:function(response){ 
     if(response==1) 
     { 

      setInterval(function(){$('.review_form').html('<h5><center><div class="alert alert-success">Review Successfully Submitted......</div></center></h5>');},5); 

     } 
     else 
     { 

      setInterval(function(){$('.review_form').html('<h5><center><div class="alert alert-danger">Sorry Your Review Was Not Submitted......</div></center></h5>');},5); 

     } 
    } 

    }); 
    }); 
</script> 

hier Ihre mailsenden.php:

<?php 
extract($_POST); 
$to = $email; 
$subject = $subject; 
$txt = $message; 
$headers = "[email protected]" . "\r\n" . 
"CC: [email protected]"; 

mail($to,$subject,$txt,$headers); 
?> 

E-Mail ist senden Sie in E-Mail-Textfeld eingegeben.

+0

aber wie genau ich, wenn ich die E-Mail an mich gesendet werden soll. Angenommen, meine E-Mail-Adresse lautet [email protected] Wie würde mein PHP aussehen? – Nadj

+0

sehe meinen Bearbeitungscode. –