php会话ID重定向

时间:2011-10-03 15:25:53

标签: php redirect userid

我尝试做的是使用$_SESSION['user_id']检查'user_id'是否=“数字”,例如56,如果加载页面,如果没有将用户重定向到{{1} }

到目前为止,我有这个

"billing/".$_SESSION['user_id'].".php";

我知道这段代码是错误的,但希望它传达了我想要完成的任务。 提前感谢您的帮助和代码段。

4 个答案:

答案 0 :(得分:1)

  1. 不要根据答案编辑问题中的代码。你无法理解你在说什么 如果您想添加一些内容 - 请将其添加到原始文本下方。

  2. 问清楚,某个问题。描述您面临的问题以及您需要什么样的解决方案。

  3. 分开的事情。事实上,会话与重定向无关。如果您想知道如何使用会话 - 请询问如何使用会话。如果您已经拥有有效且经过验证的会话变量但不知道重定向 - 请询问重定向。如果你不知道如何比较价值 - 请问它。如果你知道一切但不确定代码样式的一些花俏 - 请问这个特殊的问题。

  4. 现在,你的问题是什么?

答案 1 :(得分:0)

你非常接近,但你可以使用php函数http_redirect代替重定向,更简洁(需要PECL库):

<?php
    if ($_SESSION['user_id'] == 56) {
        //do nothing
    } else {
        http_redirect("billing/".$_SESSION['user_id'].".php", array(), true, HTTP_REDIRECT_PERM);
    }
?>

答案 2 :(得分:0)

为什么不检查相反的情况?为了便于阅读,明智的做法是使用{}而不是“。” (只要你的编辑强调这一点)

<?php 
if($_SESSION["user_id"] != 56) {
    header("location: billing/{$_SESSION['user_id']}.php");
    die();
}
?>

答案 3 :(得分:0)

PHP Doc for header() 提供了有关如何使用标头功能的大量信息。最重要的是:

  • 在致电header() 之前,请确保没有html或文字被回显或发送到浏览器。
  • exit();之后需要header(),因为您已完成呈现页面,而某些浏览器更喜欢它。
  • HTTP / 1.1需要绝对URI 作为»位置的参数:包括方案,主机名和绝对路径,因此您需要在“位置:”之后放置完整的URL。例如,请参阅php doc。