我正在尝试设置我的PHP联系人表单,当您点击“发送”时,它会说谢谢并将您重定向到主页。这是我的php和html脚本。我知道它只需要调整几行,但不确定究竟如何。我将mail.php文件上传到我的网站目录。
<?php
$name = $_POST['name'];
$email = $_POST['email'];
$phone = $_POST['phone'];
$call = $_POST['call'];
$website = $_POST['website'];
$priority = $_POST['priority'];
$type = $_POST['type'];
$message = $_POST['message'];
$formcontent=" From: $name \n Phone: $phone \n Call Back: $call \n Website: $website \n Priority: $priority \n Type: $type \n Message: $message";
$recipient = "horgantm@gmail.com";
$subject = "Contact Form";
$mailheader = "From: $email \r\n";
mail($recipient, $subject, $formcontent, $mailheader) or die("Error!");
if(mail($recipient, $subject, $formcontent, $mailheader))
{
header("Location: http://www.darthvixcustomsabers.com/index.html");
exit;
}
else
{
die("Error!");
}
echo "Thank You!" . " -" . "<a href='index.html' style='text-decoration:none;color:#ff0099;'> Return Home</a>";
?>
<!doctype html>
<html>
<head>
<title> DV Custom Sabers </title>
<meta charset="utf-8">
<link type="text/css" rel="stylesheet" href="style/kotorsale.css" />
<meta name="viewport" content="width=device-width" />
</head>
<div class="header"><a href="index.html">Darthvix Custom Sabers</a></div>
<div class="header1">DV Custom Sabers is the place to go for your saber needs!</div>
<div class="logo"><a href="index.html"><img src="images/logo.png" alt="schedule" height="200" width="350" border="0"></a></div>
<ul id="nav">
<li><a href="index.html">Home</a></li>
<li><a href="aboutme.html">About Me</a></li>
<li><a href="services.html">Services</a></li>
<li><a href="Gallery.html">Gallery</a></li>
<li><a href="kotorsale.html">For Sale</a></li>
<li><a href="buildlog.html">Build Log</a></li>
<li><a href="contact.html"> Contact Us</a></li>
</ul>
<div id="form">
<<form action="mail.php" method="POST">
<p>Name</p> <input type="text" name="name">
<p>Email</p> <input type="text" name="email">
<p>Priority</p>
<select name="priority" size="1">
<option value="Low">Low</option>
<option value="Normal">Normal</option>
<option value="High">High</option>
<option value="Emergency">Emergency</option>
</select>
<br />
<p>Message</p><textarea name="message" rows="6" cols="25"></textarea><br />
<input type="submit" value="Send"><input type="reset" value="Clear">
</form>
</div>
</body>
</html>
答案 0 :(得分:0)
究竟什么不起作用或者您需要帮助?请更具体一点。
话虽如此,我立即看到了一些问题。
您的主要问题是此行无效,这可能导致整个脚本失败:
$recipient = "horgantm@gmail.com<script type="text/javascript"> ...
您必须转义双引号或改为使用单引号。 (看看突出显示如何变化?)
此行中还有一个额外的括号:
<<form action="mail.php" method="POST">
为什么收件人字段中还嵌入了脚本?
编辑:OP在我的回答发布后更改了代码。
答案 1 :(得分:0)
问题可能在于您没有重定向任何人。
我会像这样编辑你的代码
if(mail($recipient, $subject, $formcontent, $mailheader)) { header("Location: http://www.example.com/home.php?successfulySent"); exit; } else { die("Error!"); }
在页面上,您希望重定向用户
if(isset($_GET['successfulySent'])) echo "Thank you for sendinf a message!";
修改强>
我不希望我们被误解。
我创建了这个条件,因为你写了关于重定向的声明…and redirects you to the home page.…
,而你的代码中没有它。
您在问题中编辑了代码,但是您忘记删除最后一行(echo "Thank You!" . " -" .…
),现在它已被使用,因为该脚本会重定向用户或停止并显示消息Error!
然后,URL参数?successfulySent
对于脚本非常重要,您可以在其中重定向,知道这是应该做的事情。
因此,将Location
网址更改为http://www.darthvixcustomsabers.com/index.php?successfulySent
。
我写了php
扩展名,是的,你需要把这个文件作为PHP文件类型,因为你放置了PHP条件。在大多数情况下,我只会将index.html
重命名为index.php
在哪里放置第二个条件,就在那里,您希望在哪里显示消息。
<?php if(isset($_GET['successfulySent'])):?>
<div class="message" id="message-sent">
<p>Your message has been successfuly sent to our team...</p>
</div>
<?php endif;?>