我是PHP的新手。基本上我是一名平面设计师转为前端设计师。我知道html css和简单的jquery。我需要在网站中包含此联系表单,但似乎无法正常工作。 Plz的帮助。如果有人可以指出代码是否有任何问题,那将会很有帮助。 提前谢谢。
这是联系表单的html部分:
<div class="form">
<form action="mail.php" method="POST">
<label>Name</label>
<br>
<input type="text" name="name" placeholder="Type Here">
<br><br><br>
<label>Email</label>
<br>
<input type="email" name="email" placeholder="Type Here">
<br><br><br>
<label>Message</label>
<br>
<textarea name="message" rows="20" cols="20" placeholder="Type Here"> </textarea>
<br><br><br>
<label>*What is 2+2? (Anti-spam)</label>
<br>
<input type="text" name="human" placeholder="Type
<br><br><br><br>
<input id="submit" name="submit" type="submit" value="SUBMIT">
</form>
这是php:
<?php
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$formcontent=" From: $name \n Message: $message";
$recipient = "saurabhdey84@gmail.com";
$subject = "Vibhor Sogani Website Contact Form";
$mailheader = "From: $email \r\n";
mail($recipient, $subject, $formcontent, $mailheader) or die("Error!");
echo "Thank You! Your message has been sent." . "-" . <a href='home.html' style='text-decoration:none;color:#ff0099;'> Return Home</a>";
?>
答案 0 :(得分:0)
<强> HTML 强>:
将文字控制更改为
<input type="text" name="human" placeholder="Type the answer"/>
检测到格式错误:
<input type="text" name="human" placeholder="Type
<br><br><br><br>
<input id="submit" name="submit" type="submit" value="SUBMIT">
<强> PHP 强>: 最后的回声声明应该是这样的:(错过双引号)
echo "Thank You! Your message has been sent." . "-" . "<a href='home.html' style='text-decoration:none;color:#ff0099;'> Return Home</a>";
不喜欢这样:
echo "Thank You! Your message has been sent." . "-" . <a href='home.html' style='text-decoration:none;color:#ff0099;'> Return Home</a>";
更好:
echo "Thank You! Your message has been sent. - <a href='home.html' style='text-decoration:none;color:#ff0099;'> Return Home</a>";
这里不需要任何连接!
答案 1 :(得分:0)
像这样改变你的回声,
echo "Thank You! Your message has been sent." . "- <a href='home.html' style='text-decoration:none;color:#ff0099;'> Return Home</a>";
^// no need of contenation here
答案 2 :(得分:0)
如果你正在调用php页面,它只是取空白值,尝试这些更改并让我知道,
include_once("home.html");
if(isset($_POST['submit']))
{
**Your php code here**
}
答案 3 :(得分:0)
通过回显$ _POST ['name']检查您的POSTS是否被发送到服务器脚本。如果是,则mail()函数存在问题。 您正在使用默认的php mail()函数。如果没有正确的标头,它将无法正常工作。我看到你只使用了一个'回复'标题。所以你需要更深入地了解使用mail函数()。发送电子邮件的替代方法可能是广泛使用的phpmailer库
答案 4 :(得分:0)
试试这个,然后在输入结束标记处输入
<?php
if(isset($_POST['submit']))
{
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$to = "maild@gmail.com";
$subject = " contact form" ;
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
$mesg = '$name $email $message';
$kk=mail($to,$subject,$mesg,$headers);
if($kk){
?>
<script>
window.location.href='thankyou.html';
</script>
}
}
?>
答案 5 :(得分:0)
这通常是
$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";
$headers .= 'From: <webmaster@example.com>' . "\r\n";
$headers .= 'Cc: myboss@example.com' . "\r\n";
就像之前所说的,phpmailer库是一个更可靠的备用