【问题标题】:Passing GET variables using header in PHP在 PHP 中使用标头传递 GET 变量
【发布时间】:2014-12-03 14:11:33
【问题描述】:

我正在为网站编写“仅限用户”访问,当用户未登录时,仪表板将重定向到登录页面。

<?php
session_start();
$logged= $_SESSION['logged'];

if(!$logged){
    header("Location:http://www.someweb.com/system/login.php?logged_off=1");
}

?>

但是登录页面没有接收到 GET 变量,你能告诉我我做错了什么吗?

【问题讨论】:

  • 应该总是在标题之后调用exit();
  • @pc-shooter,这就是exit 所做的,它应该与header/redirect 一起使用。
  • @pc-shooter 你维护什么网站?我想检查一下...并在我的浏览器上打开“忽略重定向”:)
  • mmm 刚刚添加了 exit();成功了,谢谢!
  • @Dagon 我刚刚阅读了 Fred-ii (stackoverflow.com/a/2747803) 的链接.....哦,伙计,你说的太对了!这就是我喜欢这里的地方,一直在学习。

标签: php forms session get


【解决方案1】:

使用header location时,应调用exit();

为什么?因为脚本的执行不会终止。

括号() 是可选的,exit 是一种语言结构而不是一个函数,它们实际上是一个坏主意(如果它们存在,PHP 还有更多工作要做),只是我的一个糟糕的习惯。

【讨论】:

  • 没有关于 S.O 的新问题,只有新的提问(和回答)方式
  • 没错。有不止一种方法可以询问猎人/捕猎者如何剥去瓦斯基威兔的皮。
  • 直到“或任何标题”为止 - 设置标题和内容是完全正常的。例如header('Content-Type: application/json'); echo json_encode($something);
  • 随意编辑答案以使其更好 - 不,请这样做
  • @Dagon +1 也许你应该给我一些 PHP 课程 ;-)
猜你喜欢
  • 2020-01-11
  • 1970-01-01
  • 2021-10-13
  • 1970-01-01
  • 2012-08-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-05
相关资源
最近更新 更多