2015-01-09 183 views
0

这是php我用来存储我的Html文件的联系页面的响应,该页面也写在最后。PhP文件无法正常工作

即使在联系人字段中提交数据后,我也没有收到任何东西。

请尽量帮我解决这个错误。

PHP代码

<?php 
// Check for empty fields 

if(empty($_POST['name'])  || 
empty($_POST['email'])  || 
empty($_POST['phone'])  || 
empty($_POST['message']) || 
!filter_var($_POST['email'],FILTER_VALIDATE_EMAIL)) 
{ 
echo "No arguments Provided!"; 
return false; 
} 

$name = $_POST['name']; 
$email_address = $_POST['email']; 
$phone = $_POST['phone']; 
$message = $_POST['message']; 

// Create the email and send the message 

$to = '[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\nEmail: $email_address\n\nPhone: $phone\n\nMessage:\n$message"; 

$headers = "From: [email protected]\n"; 

$headers .= "Reply-To: $email_address"; 
mail($to,$email_subject,$email_body,$headers); 
return true;    
?> 

HTML代码

<form name="sentMessage" id="contactForm" novalidate> 
    <div class="row control-group"> 
     <div class="form-group col-xs-12 floating-label-form-group controls"> 
      <label>Name</label> 
      <input type="text" class="form-control" placeholder="Name" id="name" required data-validation-required-message="Please enter your name."> 
      <p class="help-block text-danger"></p> 
     </div> 
    </div> 
    <div class="row control-group"> 
     <div class="form-group col-xs-12 floating-label-form-group controls"> 
      <label>Email Address</label> 
      <input type="email" class="form-control" placeholder="Email Address" id="email" required data-validation-required-message="Please enter your email address."> 
      <p class="help-block text-danger"></p> 
     </div> 
    </div> 
    <div class="row control-group"> 
     <div class="form-group col-xs-12 floating-label-form-group controls"> 
      <label>Phone Number</label> 
      <input type="tel" class="form-control" placeholder="Phone Number" id="phone" required data-validation-required-message="Please enter your phone number."> 
      <p class="help-block text-danger"></p> 
     </div> 
    </div> 
    <div class="row control-group"> 
     <div class="form-group col-xs-12 floating-label-form-group controls"> 
      <label>Message</label> 
      <textarea rows="5" class="form-control" placeholder="Message" id="message" required data-validation-required-message="Please enter a message."></textarea> 
      <p class="help-block text-danger"></p> 
     </div> 
    </div> 
    <br> 
    <div id="success"></div> 
    <div class="row"> 
     <div class="form-group col-xs-12"> 
      <button type="submit" class="btn btn-success btn-lg">Send</button> 
     </div> 
    </div> 
</form> 
+0

请使用使用error_reporting(E_ALL)和init_set(“的display_errors”,1)在你的文件的顶部,再次执行它,并给我们的脚本失败之后occours错误消息。 –

回答

1

你缺少方法属性。

您没有指定表格方法。如果你想使用post方法,你应该指定 method="post"

如果没有指定的形式方法,默认的方法将是GET

此外,你应该将属性名称添加到每个输入字段,那么只有你可以访问那些在岗。

你更新的HTML代码将是:

<form name="sentMessage" id="contactForm" novalidate method="post"> 
    <div class="row control-group"> 
     <div class="form-group col-xs-12 floating-label-form-group controls"> 
      <label>Name</label> 
      <input type="text" class="form-control" placeholder="Name" id="name" name="name" required data-validation-required-message="Please enter your name."> 
      <p class="help-block text-danger"></p> 
     </div> 
    </div> 
    <div class="row control-group"> 
     <div class="form-group col-xs-12 floating-label-form-group controls"> 
      <label>Email Address</label> 
      <input type="email" class="form-control" placeholder="Email Address" id="email" name="email" required data-validation-required-message="Please enter your email address."> 
      <p class="help-block text-danger"></p> 
     </div> 
    </div> 
    <div class="row control-group"> 
     <div class="form-group col-xs-12 floating-label-form-group controls"> 
      <label>Phone Number</label> 
      <input type="tel" class="form-control" placeholder="Phone Number" id="phone" name="phone" required data-validation-required-message="Please enter your phone number."> 
      <p class="help-block text-danger"></p> 
     </div> 
    </div> 
    <div class="row control-group"> 
     <div class="form-group col-xs-12 floating-label-form-group controls"> 
      <label>Message</label> 
      <textarea rows="5" class="form-control" placeholder="Message" id="message" name="message" required data-validation-required-message="Please enter a message."></textarea> 
      <p class="help-block text-danger"></p> 
     </div> 
    </div> 
    <br> 
    <div id="success"></div> 
    <div class="row"> 
     <div class="form-group col-xs-12"> 
      <button type="submit" name="submit" class="btn btn-success btn-lg">Send</button> 
     </div> 
    </div> 
</form> 

看的方法属性在形式和在输入字段属性。

希望这有助于

+0

它仍然无法正常工作。我没有收到任何邮件。我也检查了垃圾邮件。 – hawkeye

+0

请打印邮件的输出($ to,$ email_subject,$ email_body,$ headers);如果它显示1,那么邮件已发送。也许你需要在你的系统中配置你的邮件设置。 – Sabari