php会话id重定向

php会话id重定向,php,redirect,userid,Php,Redirect,Userid,我试图做的是使用$\u SESSION['user\u id']检查'user\u id'是否=到“number”,比如说56,如果是,加载页面,如果不是,则将用户重定向到“billing/”$\u SESSION['user\u id'..php” 到目前为止,我有这个 <?php if ($_SESSION['user_id']) === 56) { //do nothing } else { header("Location: bi

我试图做的是使用
$\u SESSION['user\u id']
检查
'user\u id'
是否=到“number”,比如说56,如果是,加载页面,如果不是,则将用户重定向到
“billing/”$\u SESSION['user\u id'..php”

到目前为止,我有这个

<?php
    if ($_SESSION['user_id']) === 56) {
        //do nothing
    } else {
          header("Location: billing/".$_SESSION['user_id'].".php");
          exit();   
    }
?>

您已经非常接近了,但是为了更简洁(需要PECL库),您可以使用php函数来代替重定向:


为什么不检查相反的选项?为了可读性,明智的做法是使用{}而不是“.”(只要编辑器突出显示这一点)

这个提供了很多关于如何使用header函数的信息。最重要的是:

  • 在调用
    header()
    之前,请确保没有任何html或文本被回显或发送到浏览器
  • 您需要一个
    exit()
    header()之后(
    ),因为您已经完成了页面渲染,而且一些浏览器更喜欢它
  • HTTP/1.1需要一个绝对URI作为»位置:的参数,包括方案、主机名和绝对路径,因此您需要将完整URL放在“位置:”之后。例如,请参见php文档
  • 不要根据答案编辑问题中的代码。你让人无法理解你在说什么。
    如果您想添加内容,请将其添加到原始文本下方

  • 问清楚的、确定的问题。描述你面临的问题以及你需要什么样的解决方案

  • 单独事项。事实上,会话与重定向无关。如果你想知道如何使用会话-询问如何使用会话。如果您已经拥有有效且经过验证的会话变量,但不知道重定向,请询问重定向。如果你不知道如何比较价值观,那就去问吧。若您对代码样式的一些细节了如指掌,但不确定,那个么可以问这个问题


  • 现在,你的问题是什么?

    添加
    退出
    标题
    行之后。除了
    位置
    需要完整的url之外,没有
    退出标题
    后加上code>,在
    if
    中的
    ['user\u id']
    后加上错误的括号。怎么了?我想知道这个的目的…问题是什么?只是想知道每个用户是否有单独的页面???@Gianps可能是一种访问控制形式。从我所看到的来看,PHP atm无效,需要一个PECL库。PHP有什么无效之处?
    if($\u SESSION['user\u id')==56){
    不管是谁投了反对票,想解释一下吗?我想提出这个建议。测试是否为真没有意义,然后只运行是否为假的代码。为了可读性,这是更好的方法。我没有投反对票,但我无法使重定向生效?不管怎样,如果用户id不正确,代码仍然会阻止页面加载。感谢您的支持elp:)
    <?php
        if ($_SESSION['user_id'] == 56) {
            //do nothing
        } else {
            http_redirect("billing/".$_SESSION['user_id'].".php", array(), true, HTTP_REDIRECT_PERM);
        }
    ?>
    
    <?php 
    if($_SESSION["user_id"] != 56) {
        header("location: billing/{$_SESSION['user_id']}.php");
        die();
    }
    ?>