2015-07-22 3 views
-4

Я пытаюсь отправить электронное письмо, когда вы заполните форму для связи с помощью boothstrap. я получаю электронное письмо, но его пустое электронное письмо без какой-либо информации заполняется. пожалуйста, помогите мне, где я ошибаюсь.отправить письмо не работает с bootstrap

Вот мой PHP.

<? 
if(isset($_POST['sendemail'])) {  

// EDIT THE 2 LINES BELOW AS REQUIRED 

$email_to = "[email protected]"; 

$email_subject = "General Inquery"; 
$name = $_POST['name']; 
$email = $_POST['email']; 
$subject =$_POST['subject']; 
$message = $_POST['message'];  

function clean_string($string) { 

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

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

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

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

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

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

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

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

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

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

?> 

HTML-:

<section id="contact-page"> 
    <div class="container"> 
     <div class="center">   
      <h2>Drop Your Message</h2> 
      <p class="lead">Please feel free to contact us if you have any query.</p> 
     </div> 
     <div class="row contact-wrap"> 
      <div class="status alert alert-success" style="display: none"></div> 
      <form id="main-contact-form" class="contact-form" name="contact-form" method="post" action="sendemail.php"> 
       <div class="col-sm-5 col-sm-offset-1"> 
        <div class="form-group"> 
         <label>Name *</label> 
         <input type="text" name="name" class="form-control" required="required"> 
        </div> 
        <div class="form-group"> 
         <label>Email *</label> 
         <input type="email" name="email" class="form-control" required="required"> 
        </div> 
        <div class="form-group"> 
         <label>Phone</label> 
         <input type="number" class="form-control"> 
        </div> 
        <div class="form-group"> 
         <label>Company Name</label> 
         <input type="text" class="form-control"> 
        </div>       
       </div> 
       <div class="col-sm-5"> 
        <div class="form-group"> 
         <label>Subject *</label> 
         <input type="text" name="subject" class="form-control" required="required"> 
        </div> 
        <div class="form-group"> 
         <label>Message *</label> 
         <textarea name="message" id="message" required="required" class="form-control" rows="8"></textarea> 
        </div>       
        <div class="form-group"> 
         <button type="submit" name="submit" class="btn btn-primary btn-lg" required="required">Submit Message</button> 
        </div> 
       </div> 
      </form> 
     </div><!--/.row--> 
    </div><!--/.container--> 
</section><!--/#contact-page--> 
+1

Где находится $ first_name? – Rob

+1

Не похоже. У вас $ name = $ _POST ['name'], но с использованием $ first_name в качестве параметра в функции clean_string(). Все ваши параметры clean_string() не установлены нигде. – Rob

+0

Вам нужно указать код для вашего '

' – jmoerdyk

ответ

0

Я не думаю, что это ваш полный код, но то, что я вижу, что вы никогда не настраивали $_POST['sendemail'] так if(isset($_POST['sendemail'])) { никогда не будет правдой.

EDIT

Просто посмотрите код ниже, я сделал 3 комментарии.

<?php 
// 1. -------------↓ Change sendemail to submit 
if(isset($_POST['submit'])) {   

// EDIT THE 2 LINES BELOW AS REQUIRED 

$email_to = "[email protected]"; 

$email_subject = "General Inquery"; 
$name = $_POST['name']; 
$email = $_POST['email']; 
$subject =$_POST['subject']; 
$message = $_POST['message'];  

function clean_string($string) { 

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

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

} 

// 2. --↓ Add $email_message = ''; 
$email_message = '';  
$email_message .= "First Name: ".clean_string($name)."\n"; 

// 3. -------------------------------------↓ Change $email_from to $email  
$email_message .= "Email: ".clean_string($email)."\n";  
$email_message .= "subject: ".clean_string($subject)."\n";  
$email_message .= "message: ".clean_string($message)."\n";  
echo "message: " . $email_message . "<br>"; 
} 

?> 
+0

@jismtu На самом деле не описывалось никаких изменений, указывалось только на одну из точек, где ваш код не срабатывал. Отредактировал мой ответ. – PHPhil

+0

@jismtu Просто сказать нам «неопределенный» на самом деле не очень полезно. По крайней мере, сообщите нам, какая переменная не определена. – PHPhil

+0

@jismtu отредактировал мой ответ, я указал на 3 вещи, которые вы должны изменить/добавить. Глядя на ваш сайт, он не поможет. Я не вижу там php-кода. – PHPhil

Смежные вопросы