2016-06-10 14 views
0

Ich habe die ganze Nacht versucht, diesen Code auf meinem Server arbeiten zu lassen. Die Website ist lonestaironworks.net und jede Hilfe wäre toll. Dies ist Bootstrap und PHP.Bootstrap-Kontaktformular funktioniert nicht

Wenn das Formular ausgefüllt ist und Sie die Senden-Taste drücken, geht es auf einen leeren weißen Bildschirm und keine E-Mail kommt an.

<?php 

if(isset($_POST['email'])) { 



// EDIT THE 2 LINES BELOW AS REQUIRED 

$email_to = "[email protected]"; 

$email_subject = "bacon"; 





function died($error) { 

    // your error code can go here 

    echo "We are very sorry, but there were error(s) found with the form you submitted. "; 

    echo "These errors appear below.<br /><br />"; 

    echo $error."<br /><br />"; 

    echo "Please go back and fix these errors.<br /><br />"; 

    die(); 

} 



// validation expected data exists 

if(!isset($_POST['first_name']) || 


    !isset($_POST['email']) || 


    !isset($_POST['comments'])) { 

    died('We are sorry, but there appears to be a problem with the form you submitted.');  

} 



$first_name = $_POST['first_name']; // required 


$email_from = $_POST['email']; // required 


$comments = $_POST['comments']; // required 



$error_message = ""; 

$email_exp = '/^[A-Za-z0-9._%-][email protected][A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/'; 

if(!preg_match($email_exp,$email_from)) { 

$error_message .= 'The Email Address you entered does not appear to be valid.<br />'; 

} 

$string_exp = "/^[A-Za-z .'-]+$/"; 

if(!preg_match($string_exp,$first_name)) { 

$error_message .= 'The First Name you entered does not appear to be valid.<br />'; 

} 


if(strlen($comments) < 2) { 

$error_message .= 'The Comments you entered do not appear to be valid.<br />'; 

} 

if(strlen($error_message) > 0) { 

died($error_message); 

} 

$email_message = "Form details below.\n\n"; 



function clean_string($string) { 

    $bad = array("content-type","bcc:","to:","cc:","href"); 

    return str_replace($bad,"",$string); 

} 



$email_message .= "First Name: ".clean_string($first_name)."\n"; 

$email_message .= "Email: ".clean_string($email_from)."\n"; 

$email_message .= "Comments: ".clean_string($comments)."\n"; 





// create email headers 

$headers = 'From: '.$email_from."\r\n". 

'Reply-To: '.$email_from."\r\n" . 

'X-Mailer: PHP/' . phpversion(); 

@mail($email_to, $email_subject, $email_message, $headers); 

?> 



<!-- include your own success html here --> 


<p>thank you</p> 



<?php 

} 

?> 

und die html

<form role="form" action="send_form_email.php" name="contactform" method="post" enctype="text/plain" > 
<div class="col-lg-6"> 
    <br> 
    <div> 
    <p>Please feel free to call the shop during business hours. All emails will be replied as soon as possible.</p> 
    </div> 
    <br> 
    <div class="form-group"> 
    <label for="first_name">Your Name</label> 
    <div class="input-group"> 
     <input type="text" class="form-control" name="first_name" id="first_name" placeholder="Enter Name" required> 
     <span class="input-group-addon"><i class="glyphicon glyphicon-ok form-control-feedback"></i></span></div> 
    </div> 
    <div class="form-group"> 
    <label for="email">Your Email</label> 
    <div class="input-group"> 
     <input type="email" class="form-control" id="email" name="email" placeholder="Enter Email" required > 
     <span class="input-group-addon"><i class="glyphicon glyphicon-ok form-control-feedback"></i></span></div> 
    </div> 
    <div class="form-group"> 
    <label for="comments">Message</label> 
    <div class="input-group" 
> 
     <textarea name="comments" id="comments" class="form-control" rows="5" required></textarea> 
     <span class="input-group-addon"><i class="glyphicon glyphicon-ok form-control-feedback"></i></span></div> 
    </div> 
    <input type="submit" name="submit" id="submit" value="Submit" class="btn btn-info pull-right"> 
</div> 
</form> 
+2

* ein leerer weißer Bildschirm * bedeutet, dass etwas kaputt ist. Fügen Sie diese Zeilen hinzu: error_reporting (E_ALL); ini_set ('display_errors', 1); 'an der Spitze Ihrer PHP-Skripte und sehen, ob es einen Fehler ergibt oder nicht. –

Antwort

3

Sie benötigen enctype="text/plain" aus dem Formular zu entfernen.

Es ist kein gültiger Enctype zur Verarbeitung von POST-Arrays.

+0

Danke, das hat funktioniert, ich weiß nicht, warum sie es als Duplikat gekennzeichnet haben, da dieses Problem durch die andere Frage nicht gelöst wurde. nochmals danke –

+0

@RobertWidener Gern geschehen. Überlegen Sie, die Antwort zu akzeptieren. Hier ist, wie http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work dann hier zurückkehren und das gleiche mit dem Häkchen/Häkchen, bis es grün wird. Dies informiert die Community, dass eine Lösung gefunden wurde. *Prost* –

Verwandte Themen