2016-06-27 3 views
0

Ich baue ein HTML5-basiertes Kontaktformular mit PHP-Mail-Skript.Ich erhalte auf meiner Website leere E-Mails

Ich weiß nicht, warum ich leere E-Mails bei der Einreichung erhalten, sowie wenn ich eine Nachricht wie "Vielen Dank für die Kontaktaufnahme mit uns" drucken möchte, wie würde ich das tun.

<?php 
$name = (isset($_POST['name']) ? $_POST['name'] : null); 
$phone = (isset($_POST['phone']) ? $_POST['phone'] : null); 
$address = (isset($_POST['address']) ? $_POST['address'] : null); 
$appointment_datepicker =(isset($_POST['appointment-datepicker']) ? $_POST['appointment-datepicker'] : null); 
$message = (isset($_POST['textarea']) ? $_POST['textarea'] : null); 
$email_address = (isset($_POST['email']) ? $_POST['email'] : null); 



// Create the email and send the message 
$to = '[email protected]'; // Add your email address inbetween the '' replacing [email protected] - This is where the form will send a message to. 
$email_subject = "Website Contact Form: $name"; 
$email_body = "You have received a new message from your website contact form.\n\n"."Here are the details:\n\nName: $name\n\nPhone: $phone\n\nEmail: $email_address\n\nAppointment: $appointment_datepicker\n\nAddress: $address\n\nMessage:\n$message"; 
$headers = "From: [email protected]\n"; // This is the email address the generated message will be from. We recommend using something like [email protected] 
$headers .= "Reply-To: $email_address"; 
$mail_status = mail($to,$email_subject,$email_body,$headers); 

/** Check for empty fields 
if(!empty($_POST['name']) || !empty($_POST['phone']) || !empty($_POST['address']) || !empty($_POST['appointment-datepicker']) || !empty($_POST['textarea']) || filter_var($_POST['email'],FILTER_VALIDATE_EMAIL)) 
{**/ 
if ($mail_status) { ?> 
    <script language="javascript" type="text/javascript"> 
     print("Thank you for the message. We will contact you shortly."); 
     window.location = 'http://thankyou.html'; 
    </script> 
    <?php 
    } 

else { ?> 
    <script language="javascript" type="text/javascript"> 
     print('Message failed. Please, send an email to [email protected]'); 
     window.location = 'http://thankyou.html'; 
    </script> 
<?php 
} 
?> 

<form id="appointment-form" action="contact_me.php" method="post" class="appointment-form"> 
            <div class="col-md-6"> 
             <div class="form-group form-md-line-input form-md-floating-label"> 
              <input id="name" type="text" class="form-control" required="required"> 
              <label for="name">Name</label> 
             </div> 
             <div class="form-group form-md-line-input form-md-floating-label"> 
              <input id="phone" type="text" class="form-control" required="required" pattern="/[1-9][01][0-9]-?[0-9]{3}-=[0-9]{4}"> 
              <label for="phone">Phone Number</label> 
             </div> 
             <div class="form-group form-md-line-input form-md-floating-label"> 
              <input id="address" type="text" class="form-control" required="required"> 
              <label for="address">Address </label> 
             </div> 
             <div class="form-group form-md-line-input form-md-floating-label"> 
              <input id="appointment-datepicker" type="text" class="form-control form-line-input" required="required"> 
              <label for="appointment-datepicker">Book a date</label> 
             </div> 
            </div> 
            <div class="col-md-6"> 
             <div class="form-group form-md-line-input form-md-floating-label"> 
              <input id="email" type="text" class="form-control" required="required" pattern="[a-zA-Z0-9!#$%&'*+\/=?^_`{|}~.-][email protected][a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*"> 
              <label for="email">Email Address</label> 
             </div> 
             <div class="form-group form-md-line-input form-md-floating-label"> 
              <textarea id="textarea" rows="4" class="form-control form-textarea"></textarea> 
              <label for="textarea">Message</label> 
             </div> 
             <div class="btn-wrapper"> 
              <button type="submit" class="btn btn-make-app">Send to us</button> 
             </div> 
            </div> 
            <div class="clearfix"> </div> 
           </form> 
+1

Ihre Nachricht und Header sind fehlerhaft, anfällig für Header-Injection-Angriff. Benutze keine Mail direkt, benutze eine Bibliothek, um es richtig zu machen, wie [PHPMailer] (https://github.com/PHPMailer/PHPMailer), mit dem du diese Frage markiert hast. – Synchro

+0

Hallo Synchro, was genau soll ich machen? – user3377410

+0

Klicken Sie auf den Link? – Synchro

Antwort

0

Ihren Formulareingaben fehlen die Attribute "name". IDs werden nicht in einer Formularanforderung weitergeleitet. nur die Name-Wert-Paarungen.

    v---------v 
<input id="name" name="name" type="text" class="form-control" required="required"> 
+0

danke. Lass es mich versuchen. – user3377410

Verwandte Themen