Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
你能发现这个PHP错误吗?I';我被难住了_Php - Fatal编程技术网

你能发现这个PHP错误吗?I';我被难住了

你能发现这个PHP错误吗?I';我被难住了,php,Php,以下是脚本中发生的场景: 会话正在启动 $id设置为一个数字(锦标赛id号) 结果: 使用ID号和ID号各自的用户数据重置用户会话变量。本质上是用不同的帐户登录用户 故障排除: 将$id重命名为$tid将停止该故障 不启动会话(session\u start())会停止该故障 思维过程: $id必须覆盖包含以下内容的块中的类似变量: if(isset($\u会话['someVar'])){ $id=“某些值”; } 因为,$id仅在会话启动时被覆盖 问题: 没有使用该语法的代码

以下是脚本中发生的场景:

  • 会话正在启动
  • $id
    设置为一个数字(锦标赛id号)
结果:

  • 使用ID号和ID号各自的用户数据重置用户会话变量。本质上是用不同的帐户登录用户
故障排除:

  • $id
    重命名为
    $tid
    将停止该故障
  • 不启动会话(
    session\u start()
    )会停止该故障
思维过程:

  • $id必须覆盖包含以下内容的块中的类似变量:
    if(isset($\u会话['someVar'])){
    $id=“某些值”;
    }
因为,
$id
仅在会话启动时被覆盖

问题:

  • 没有使用该语法的代码块
这是调用堆栈

jointourney.php

<?
session_start();
$id = (isset($_POST['id'])) ? $_POST['id'] : false;
include("html.php");
?>

html.php

<?
if(session_id() == '') session_start();
if(!function_exists('isLogged')) include("includes/islogged.inc.php");
include("includes/autologin.inc.php");
$query = mysql_query("SELECT value FROM config WHERE name='shutdown'");
$query = mysql_fetch_array($query);
$shutdown = end($query);
if(!class_exists('ban')) include("class/ban.class.php");
$ban = new ban();
if(isLogged()){
    $ban->setUsername($_SESSION['username']);
}
$user_level = (isset($_SESSION['user_level'])) ? $_SESSION['user_level'] : "0";
$ban->setIP($_SERVER['REMOTE_ADDR']);
if((strlen($shutdown) > 0 || $ban->isBanned()) && $user_level == 0 && strtolower($_SERVER['REQUEST_URI']) != "/login.php"){
    if(strtolower($_SERVER['REQUEST_URI']) != "/error.php"){
        header("Location: ./error.php");
    }
}
?>


在服务器的
php.ini中关闭
register\u globals
在服务器的
php.ini中关闭
register\u globals
您是否碰巧打开了
register\u globals
?(在register\u globals关闭的情况下不应该说什么)没关系-我在看我的本地主机,而不是测试服务器-是的register\u globals在上这不是你的问题,但作为一个补充,您应该在您的
位置:
标题中使用完整的URL以符合RFCs。您是否碰巧打开了
register\u globals
?您是否随时使用session\u register?(不应该对register\u globals Off说什么)没关系-我在看我的本地主机,而不是测试服务器-是的register\u globals在上这不是你的问题,但作为补充说明,你应该在
位置:
标题中使用完整的URL以符合RFC。谢谢,但是这个主机不允许访问更改PHP.ini-在中使用
PHP\u flag register\u globals off
htaccess仍然可以工作,对吗?@TurdPile:我听说-它对我从来都不起作用,但也许你会有更好的运气:)显然不是-给我的网站ISE 500LOL@TurdPile:尝试在包含php文件的目录中放置一个
php.ini
,其中只有一行
register\u globals=Off
。如果它能工作,该死,因为它不是继承的,你也必须将它复制到每个子目录。幸好我所有读取环境变量的处理脚本都在一个文件夹中:)看起来它能工作。谢谢,但是这个主机不允许访问更改PHP.ini-在中使用
PHP\u flag register\u globals off
htaccess仍然可以工作,对吗?@TurdPile:我听说-它对我从来都不起作用,但也许你会有更好的运气:)显然不是-给我的网站ISE 500LOL@TurdPile:尝试在包含php文件的目录中放置一个
php.ini
,其中只有一行
register\u globals=Off
。如果它能工作,该死,因为它不是继承的,你也必须将它复制到每个子目录中。好消息是,我所有读取环境变量的处理脚本都在一个文件夹中:)看起来工作正常。
<?
if(!class_exists('login')) include("./class/login.class.php");
$login = new Login();
    if(isset($_COOKIE['username'],$_COOKIE['password']) && !$login->isLoggedIn()){
        $login->setUsername($_COOKIE['username']);
        $login->setPasswordDirect($_COOKIE['password']);
        if(!$login->_error){
            $login->processLogin();
        }
}
?>