【发布时间】:2011-07-17 19:13:12
【问题描述】:
有什么方法可以在我的 PHP 中做一个 if 语句的重定向。所以..只有在这样那样的条件为真时才重定向?另外,我可以通过该 URL 为 GET 请求传递变量吗?
【问题讨论】:
-
How do I get a link to run a PHP script? 这可以帮助你。看看所有的答案。
有什么方法可以在我的 PHP 中做一个 if 语句的重定向。所以..只有在这样那样的条件为真时才重定向?另外,我可以通过该 URL 为 GET 请求传递变量吗?
【问题讨论】:
if (condition)
{
header('Location: url');
}
在页面上输出任何内容之前放置它。将 url 替换为您希望重定向到的 url。您可以以标准方式添加 GET 变量 (url?var1=x&var2=y)。
【讨论】:
exit放在标题后面,所以它会在你发送标题后立即重定向。否则脚本将继续执行。
function redirect($url) {
header("location: " . $url);
}
【讨论】:
这是非常有用的重定向功能..
function RedirectURL($url, $refreshtime = null)
{
if(isset($refreshtime))
{
echo header('refresh:'.$refreshtime.';url='.$url);
}
else
{
echo header('Location:'.$url);
}
return $url;
}
RedirectURL('login.php' , 5);
RedirectURL('index.php');
或者您可以像这样将标题分配给函数内的变量。
function RedirectURL($url, $refreshtime = null)
{
if(isset($refreshtime))
{
$header = header('refresh:'.$refreshtime.';url='.$url);
}
else
{
$header = header('Location:'.$url);
}
return $header;
}
echo RedirectURL('login.php' , 5);
echo RedirectURL('login.php');
【讨论】:
header 不会返回任何可以回显的内容
echo 在header 的返回值上没有意义。此外,为什么该函数返回未更改的输入值?最后,不鼓励相对重定向,应该支持绝对重定向
echo?