联系表发送电子邮件,但没有用户输入

问题描述:

这个使用html/php联系表格的bootstrap给我发送了一封电子邮件,但没有任何用户输入信息!联系表发送电子邮件,但没有用户输入

我收到的电子邮件看上去是空的是这样的: 名称: 电子邮件: 主题: 消息:

该窗体的HTML是:

\t <section id="partner"> 
 
     <div class="container"> 
 
      <div class="center wow fadeInDown">   
 
       <h2><br>Contact</h2> 
 
       <p class="lead">Send a general enquiry here or order your service here.</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-->

的PHP的窗体如下所示:

<?php 
 
\t header('Content-type: application/json'); 
 
\t $status = array(
 
\t \t 'type'=>'success', 
 
\t \t 'message'=>'Thank you for contact us. As early as possible we will contact you ' 
 
\t); 
 

 
    $name = @trim(stripslashes($_POST['name'])); 
 
    $email = @trim(stripslashes($_POST['email'])); 
 
    $subject = @trim(stripslashes($_POST['subject'])); 
 
    $message = @trim(stripslashes($_POST['message'])); 
 

 
    $email_from = $email; 
 
    $email_to = '[email protected]';//replace with your email 
 

 
    $body = 'Name: ' . $name . "\n\n" . 'Email: ' . $email . "\n\n" . 'Subject: ' . $subject . "\n\n" . 'Message: ' . $message; 
 

 
    $success = @mail($email_to, $subject, $body, 'From: <'.$email_from.'>'); 
 

 
    echo json_encode($status); 
 
    die;

为什么是不是正常? “谢谢你与我们联系”的信息弹出正常,邮件通过,但没有用户信息通过。

+0

停止抑制与'@'的错误,你可能能够找出原因... – Karl 2014-10-02 08:12:41

尝试打印您发送的值。所以使用这个:

var_dump($_POST['name']); 
var_dump($_POST['email']); 
etc... 

这样做,你将能够看到你的领域,即使张贴正确。

+0

或简称' var_dump($ _ POST)' – Karl 2014-10-02 08:29:36

该字段没有id参数。在后你得到的“ID”,也不是“名”

<label>Name *</label> 
 
    <input type="text" id="name" class="form-control" required="required"> 
 
</div> 
 
<div class="form-group"> 
 
    <label>Email *</label> 
 
    <input type="email" id="email" class="form-control" required="required">

+0

不,这是不正确的。 – sinisake 2014-10-02 08:17:19

+0

这是完全错误的。附加到输入字段的id不会通过$ _POST请求传递。它依赖于名称。 – Karl 2014-10-02 08:27:53