Bootstrap PHP表单不会发送任何东西

Cal*_*ams 1 php forms twitter-bootstrap

我正在尝试完成一个项目来帮助他的网站上的朋友,我无法让联系表格工作.当我点击发送时:它似乎已经发送但是在电子邮件地址的收件箱中没有任何结果.(我甚至无法让Stackoverflow工作......继续得到"你的帖子似乎包含没有正确格式化为代码的代码")

贝娄是网站:pservices.comuf.com

Bellow是PHP代码:

<?php
// check if fields passed are empty
if(empty($_POST['name'])        ||
   empty($_POST['phone'])       ||
   empty($_POST['email'])       ||
   empty($_POST['message']) ||
   !filter_var($_POST['email'],FILTER_VALIDATE_EMAIL))
   {
    echo "No arguments Provided!";
    return false;
   }

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

// create email body and send it    
$to = 'cgramsinjapan@hotmail.com'; // PUT YOUR EMAIL ADDRESS HERE
$email_subject = "P Services Contact Form:  $name"; // EDIT THE EMAIL SUBJECT LINE HERE
$email_body = "You have received a new message from your website's contact form.\n\n"."Here are the details:\n\nName: $name\n\nPhone: $phone\n\nEmail: $email_address\n\nMessage:\n$message";
$headers = "From: noreply@your-domain.com\n";
$headers .= "Reply-To: $email_address"; 
mail($to,$email_subject,$email_body,$headers);
return true;            
?>
Run Code Online (Sandbox Code Playgroud)

Fun*_*ner 5

在访问您发布的网站的联系部分后,我可以看到,您的表单元素都不包含名称属性.

例如:

<input type="text" class="form-control" id="name" required data-validation-required-message="Please enter your name.">
Run Code Online (Sandbox Code Playgroud)

需要改为

<input type="text" name="name" class="form-control" id="name" required data-validation-required-message="Please enter your name.">
                   ^^^^^^^^^^^
Run Code Online (Sandbox Code Playgroud)

同时向其他表单输入添加适当的名称属性.

您不能id单独依赖该属性.

还有这个

<form name="sentMessage" id="contactForm" novalidate>
Run Code Online (Sandbox Code Playgroud)

缺少一个post方法和一个动作:

改为

<form method="post" action="handler.php" name="sentMessage" id="contactForm" novalidate>
Run Code Online (Sandbox Code Playgroud)

使用handler.php作为PHP邮件处理程序的文件名示例.

您还可以更改以下两行:

mail($to,$email_subject,$email_body,$headers);
return true;
Run Code Online (Sandbox Code Playgroud)

至:

if(mail($to,$email_subject,$email_body,$headers)){ 
echo "Mail sent successfully.";
} 
else{ echo "Error.";
}
Run Code Online (Sandbox Code Playgroud)

如果它回应成功,那么mail()已经成功发送.

如果它回应错误,那么这是一个服务器问题.检查邮件日志.