【发布时间】:2009-10-23 15:34:08
【问题描述】:
我有一个用于提交简历的 php 页面。一旦他们点击提交,他们会将所有帖子信息发送到 mail.php
发送邮件后,我希望用户返回网站上的不同页面(工作机会所在的位置)
在 mail.php 完成其业务后,我可以使用任何命令重定向到不同的页面吗??
谢谢
【问题讨论】:
我有一个用于提交简历的 php 页面。一旦他们点击提交,他们会将所有帖子信息发送到 mail.php
发送邮件后,我希望用户返回网站上的不同页面(工作机会所在的位置)
在 mail.php 完成其业务后,我可以使用任何命令重定向到不同的页面吗??
谢谢
【问题讨论】:
这是 PHP 中的标准重定向:
<?php
header( 'HTTP/1.1 301 Moved Permanently' );
header( 'Location: http://www.example.com' );
exit;
?>
但是,在您的情况下,301 重定向行可能不是必需的。需要注意的是exit是必须的,否则你的PHP脚本的其余部分将被执行,这可能是你不想要的(例如,如果出现错误,你可能想显示一些东西)。
此外,必须在任何输出发送到浏览器之前调用header 函数(包括空行)。如果您无法避免一些空行,请将ob_start(); 放在脚本的开头。
【讨论】:
header("Location: /yourpage.php");
【讨论】:
使用header()函数:
header('Location: http://example.com/new_loc/');
或
header('Location: /new_loc/'); // if it's within the same domain.
【讨论】:
在mail.php的最后添加
header("Location: anotherpage.php");
请记住,在 header() 调用以使重定向正常工作之前,您不能输出任何内容。
【讨论】:
在相关说明中,关于 PHP 标头命令的一件重要事情是,您必须确保在运行该命令的页面上显示任何内容之前运行此命令,否则它将无法工作。
例如,这将不起作用:
<html>
<head>
</head>
<body>
Hello world
</body>
<?php header("Location: mypage.php"); ?>
</html>
但这会起作用:
<?php header("Location: mypage.php"); ?>
<html>
<head>
</head>
<body>
Hello world
</body>
</html>
基本上,header 命令只有在任何 static 内容甚至 HTML 标记从脚本中吐出之前在 PHP 脚本中使用时才会起作用。
【讨论】: