我希望确保将一个$_GET变量设置为我的URL中的另一个变量的值。如果不是,那么我想重新加载页面/url来显示一个变量集。这是我使用的代码:
session_start();
$openfile = $_SESSION['openfile'];
//check if $GET variable isset to the current $SESSION variable
if($_GET['file'] !== $_SESSION['openfile'] && !empty($_SESSION['openfile'])){
//if not then create new URL string
$hloc = basename($_SERVER['PHP_SELF']).'?file='.$openfile;
//change location to new URL string
header("Location: $hloc");
}
我不明白为什么它不能工作。任何帮助都是最好的。谢谢。
编辑:问题是url没有反映出标题信息应该是什么。如果页面随后再次重新加载,这会很好地修复自身。然而,这显然不是我想要的。
发布于 2013-03-29 19:49:46
我找到问题了。
这是由于在脚本下面有不正确的头信息。
发布于 2013-03-26 18:13:41
if(isset($_GET['file'])) {
//its set means value is not equal to null or false
} else {
//its not set so redirect
}
发布于 2013-03-26 18:13:20
你能提供一个示例URL,这样我们就可以看到它是否正在焦化它?除此之外,你可以试试这个。请注意,$hloc
现在位于引号之外:
session_start();
//check if $GET variable isset to the current $SESSION variable
if($_GET['file'] !== $_SESSION['openfile'] && !empty($_SESSION['openfile'])){
//if not then create new URL string
$hloc = basename($_SERVER['PHP_SELF']).'?file='.$openfile;
//change location to new URL string
header("Location: " . $hloc);
}
https://stackoverflow.com/questions/15644403
复制相似问题