我正在尝试设置表单提交以触发我的 php 邮件脚本并将用户重定向到另一个页面/确认他们的消息已通过。
我已经设置了当前的动作属性:
<form id="contactform" action="send.php" method="post">
并且想知道是否有办法在邮件脚本的顶部添加重定向到表单操作。
提前致谢!
在您的send.php
文件中,您可以这样做:
<?php
// Send the email
$sent = mail("info@example.com", "Subject", "Hello!");
if ($sent) {
// This sends a header redirect to the client's browser
header("Location: http://mysite.com/success.php");
// This causes the redirect to happen immediately,
// instead of continuing to process the page
exit;
} else {
header("Location: http://mysite.com/failure.php");
exit;
}
?>
不。
任何重定向都必须由操作指向的资源启动。(header()
用于返回Location
响应头)。
(你可以做一些疯狂的事情,比如添加对 JavaScript 的依赖,使用 Ajax 提交数据,然后设置location
请求是否成功,但这会比send.php
发出重定向响应更复杂,更不可靠)。
您不能将其放入表单中,但您可以使用 php 轻松完成
header('Location: yourtarget.php');
如果您想更加动态,可以在表单操作中添加 GET 参数:
<form id="contactform" action="send.php?redirectto=yourtarget" method="post">
然后在php中:
header('Location: '.$_GET['redirectto']);