PHP HTML5联系表格不发送
我有一个问题,我无法弄清楚,如果它的我的PHP或服务器问题。PHP HTML5联系表格不发送
我在同一页面创建了一个联系表单'contact.php',它的所有内容都是PHP的HTML &。
我检查了一遍又一遍的代码,找不到任何错误。我没有收到最终目标电子邮件中的任何电子邮件。谁能帮我?这是我的代码有
这里是我的电子邮件代码:
$to = 'MY EMAIL ADDRESS GOES HERE';
$subject = 'New Contact Submission on ';
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$body = <<<EMAIL
Hi! My name is $name
My Email is $email
$message
EMAIL;
$header = "from: $email";
if($_POST){
if($name == '' || $email == '' || $message == ''){
$feedback = 'Please Fill all areas';
}else{
mail($to, $subject, $body, $header);
$feedback = 'Thank you! We will contact you soon!';
}
}
?>
下面是联系表格我的HTML代码。记住,我在1个'contact.php'文件中有这个。
<form action="" method="post">
<div class="col-md-12">
<div class="form-group">
<label for="name" class="sr-only" >Name</label>
<input placeholder="Name" id="name" type="text" class="form-control input-lg">
</div>
</div>
<div class="col-md-12">
<div class="form-group">
<label for="email" class="sr-only" >Email</label>
<input placeholder="Email" id="email" type="text" class="form-control input-lg">
</div>
</div>
<div class="col-md-12">
<div class="form-group">
<label for="message" class="sr-only" >Message</label>
<textarea placeholder="Message" id="message" class="form-control input-lg" rows="3"></textarea>
</div>
</div>
<div class="col-md-12">
<div class="form-group">
<input type="submit" class="btn btn-primary btn-lg " action="" value="Send">
<p id="feedback"><?php echo $feedback;?></p>
</div>
</div>
</form>
我不能告诉如果两个单引号或一个双引号
if($_POST){ if($name == " || $email == " || $message == ")
这是不正确的?你的意思是
if($_POST){ if($name == " " || $email == " " || $message == " ")
如果你在编辑模式下查看他们的代码(这可能是一个混乱,我可能会添加),你会发现他们已经声明了'$ name = $ _POST ['name'];'条件。 –
另一个编辑正在等待审查....感谢您的提示,虽然 – brad
我批准了编辑,所以我们会看到看起来像什么。 *欢呼* –
我注意到你关闭了一个if语句括号两次,并关闭了另一个错误的地方。
您还没有为所有HTML输入添加名称。
该修正代码工作...
PHP
<?php
$to = 'Your email'; $subject = 'New Contact Submission on ';
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$body = "Hi! My name is $name
My Email is $email
$message";
$header = "from: $email";
if($_POST){
if($name == '' || $email == '' || $message == ''){
$feedback = 'Please Fill all areas';
}
}else{
mail($to, $subject, $body, $header);
$feedback = 'Thank you! We will contact you soon!';
}
?>
HTML
<form action="" method="post">
<div class="col-md-12">
<div class="form-group">
<label for="name" class="sr-only" >Name</label>
<input placeholder="Name" id="name" type="text" class="form-control input-lg" name="name">
</div>
</div>
<div class="col-md-12">
<div class="form-group">
<label for="email" class="sr-only" >Email</label>
<input placeholder="Email" id="email" type="text" class="form-control input-lg" name="email">
</div>
</div>
<div class="col-md-12">
<div class="form-group">
<label for="message" class="sr-only" >Message</label>
<textarea placeholder="Message" id="message" class="form-control input-lg" rows="3" name="message"></textarea>
</div>
</div>
<div class="col-md-12">
<div class="form-group">
<input type="submit" class="btn btn-primary btn-lg " action="" value="Send">
<p id="feedback"><?php echo $feedback;?></p>
</div>
</div>
</form>
请[格式](http://*.com/help/formatting )您的帖子正确。 – Script47
另请[read](http://php.net/manual/en/tutorial.forms.php)如何处理表单。 – Script47
是的,我放弃编辑这个。格式化时不要使用'>'字符,也不要使用'##'。 –