如果没有错误,如何让下面的代码重定向到另一个页面?
// If there are no errors, send the email
if (!$errName && !$errEmail) {
if (mail ($to, $subject, $body, $from)) {
$result= 'http://www.example.com';
} else {
$result='<div class="alert alert-danger">Sorry there was an error sending your message. Please try again later.</div>';
}
目前,由于网址位于刻度线之间,因此将其写入页面,我不知道用于制作的符号实际上是有效的。
答案 0 :(得分:2)
在您的网址后使用以下内容:
header('Location: ' . $result, true);
exit;
它会重定向到您想要的页面。
答案 1 :(得分:1)
使用PHP标头功能,如下所示:
// If there are no errors, send the email
if (!$errName && !$errEmail) {
if (mail ($to, $subject, $body, $from)) {
header('Location: http://www.example.com');
die();
} else {
$result='<div class="alert alert-danger">Sorry there was an error sending your message. Please try again later.</div>';
}
标头功能必须在任何echo,print或其他输出语句之前。
确保在重定向后使用die(),否则可能是安全问题。如果没有die()命令,PHP将继续将其余的PHP文件发送到Web客户端。用户可以通过阻止任何重定向来捕获此信息。当然如果在此之后文件中没有其他语句你不需要使用die(),但每次你有一个重定向都是一个好习惯,你永远不知道是否可以添加更多代码。
答案 2 :(得分:0)
您可以简单地使用location.href
if (!$errName && !$errEmail) {
if (mail ($to, $subject, $body, $from)) {
$result= 'http://www.example.com';
echo "<script>location.href='$result'</script>";
} else {
$result='<div class="alert alert-danger">Sorry there was an error sending your message. Please try again later.</div>';
}
或PHP的header功能
if (!$errName && !$errEmail) {
if (mail ($to, $subject, $body, $from)) {
$result= 'http://www.example.com';
header("Location: $result");
} else {
$result='<div class="alert alert-danger">Sorry there was an error sending your message. Please try again later.</div>';
}
但是当你使用标题功能时:
请记住,在任何实际输出之前必须调用header() 通过普通HTML标记,文件中的空行或PHP发送。 使用include或require读取代码是一个非常常见的错误, 函数或其他文件访问函数,并且有空格或空 调用header()之前输出的行。一样的问题 使用单个PHP / HTML文件时存在。
答案 3 :(得分:0)
简单重定向
要将访问者重定向到另一个页面(在条件循环中特别有用),只需使用以下代码:
<?php
header('Location: http://www.example.com');
?>
如果目标页面在另一台服务器上,则包含完整的
<?php
header('Location: http://www.example.com/mypage');
?>
HTTP标头
临时/永久重定向
默认情况下,上面显示的重定向类型是临时的。这意味着谷歌等搜索引擎不会考虑索引。 因此,如果您想通知搜索引擎页面已永久移动到其他位置:
<?php
header('Status: 301 Moved Permanently', false, 301);
header('Location: http://www.example.com');
?>
解释PHP代码
位于header()之后的PHP代码将由服务器解释,即使访问者移动到重定向中指定的地址,这意味着在大多数情况下,您需要一个遵循header()函数的方法exit()函数,以减少服务器的负载。
<?php
header('Status: 301 Moved Permanently', false, 301);
header('Location: http://www.example.com');
?>