【问题标题】:Getting vBulletin data in an external directory在外部目录中获取 vBulletin 数据
【发布时间】:2016-03-25 23:08:06
【问题描述】:

我正在尝试获取 vbulletin 会话变量,例如:来自 vbulletin 父目录中的外部页面/文件的用户 ID 和用户名(在 magento 安装中)。 我已按照以下建议的步骤进行此过程。

    <?php
    global $vbulletin;
$curdir = getcwd();
chdir($curdir.'/forum');
require_once('./global.php');

//Use $bbuserinfo. 
echo('userid: ' . $vbulletin->userinfo['userid']);
echo('username: ' . $vbulletin->userinfo['username']);
chdir($curdir);  
    ?>

然后我会像下面的代码一样回显数据

<?php echo $vbulletin->userinfo['username']; ?>

这在 vbulletin 目录中完美运行,但是它返回未注册的用户名和 0 的用户 ID,它还让我退出当前的 vbulletin 会话。

我已经检查过了 1.保存Cookies的路径设置为“建议设置'/'” 2.$bbuserinfo['userid'] 不起作用 3.$vbulletin-&gt;userinfo['userid']$vbulletin-&gt;userinfo['username']分别返回0和未注册 4.代码对于vbulletin 4.2.3版本是正确的,建议

谁能告诉我如何正确获取 vbulletin 安装外部目录中当前登录用户的 vbulletin 会话变量(用户 ID 和用户名)/[PHP]$vbulletin->userinfo[/PHP] 数组。

注意:我遇到了无法打开流:没有这样的文件或 我使用上述代码的magento目录(父目录)中的autoload.php目录错误,我怀疑这与手头的问题有关

请随时询问任何其他信息。 非常感谢:)。

【问题讨论】:

    标签: php session session-cookies magento-1.9 vbulletin


    【解决方案1】:

    这适用于我服务器上 vBulletin 目录之外的每个路径:

    $curdir = getcwd();
    chdir('/absolute/path/to/your/vbulletin/');
    define('DIE_QUIETLY', 1);
    define('NO_REGISTER_GLOBALS', 1);
    define('NOCOOKIES', 1);
    define('SESSION_BYPASS', 1);
    define('THIS_SCRIPT', 'my_external_script');
    
    $globaltemplates = array();
    $specialtemplates = array();
    $actiontemplates = array();
    $phrasegroups = array();
    
    require_once('./includes/init.php');
    $vbphrase = init_language();
    require('./includes/functions_user.php');
    
    echo $vbulletin->userinfo['userid'];
    
    chdir($curdir);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多