我正在尝试在单击html按钮时发送电子邮件,然后重定向到html确认页面。除了确认页面,我的所有代码都在同一个php文件中。它重定向没有问题只是不按钮点击发送电子邮件。它在某一点上工作但它会在页面加载后立即发送电子邮件。我在互联网上搜索了几天,这是我正在尝试的内容:
<form action="confirm.html" method="post" name= "confirm">
<?php
echo('<input type="button" value="Submit" onclick="this.form.submit();">');
?>
</form>
<?php
$to="mail@hello.com";
$subject= "New Application";
$message= "Name: ".$Name;
$headers= "";
mail($to, $subject, $message, $headers);
echo "<body onload=\"self.close();\">";
?>
答案 0 :(得分:0)
我正在尝试在点击html按钮时发送电子邮件,然后重定向到html确认页面。
上面的代码会在页面加载后立即发送电子邮件。如果您想在提交表单时发送电子邮件,则需要将邮件代码封装在一个检查后的块中,并为重定向发送location
标题。
您还需要一些带有值的命名元素,以包含在帖子中,例如:
<input type="button" name="submit" value="Submit" />
然后在PHP中,您可以使用
<?php
if (isset($_POST['submit'])) {
// Your email() code
// Redirect to another page
header("Location: http://example.com/confirmation.php");
die();
} else {
// echo/include your form here
}
确保在编写任何HTML之前将此代码放在PHP页面的顶部,否则header()
将无法正常运行。