繁体   English   中英

CodeIgniter中的未定义全局变量

[英]Undefined global variable in CodeIgniter

我想在CodeIgniter控制器中使用全局变量,我试图在控制器中使用本帖子Codeigniter全局变量中的解决方案,但它对我不起作用。 我认为是因为首先调用session函数,然后在用户身份验证后调用user函数,但是网页已刷新并且值丢失了。 在第一个函数调用之后是否有任何变量可以存储在某个地方,以后再从第二个函数中检索出来?

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

  class Auth extends CI_Controller
{
    //Constructor
      function __construct() {
          parent::__construct();
      }

    public $user;

    public function session()
    {

        require 'facebook/facebook.php';

    $facebook = new Facebook(array(  
    'appId'  => '***********',  
    'secret' => '*****************',  
    'cookie' => true
    ));  

    $user = $facebook->getUser();

      if ($user) {
        $uid = $facebook->getUser();

      } else {
        // proceed knowing you require user login and/or authentication
        $login_url = $facebook->getLoginUrl();  
          header("Location: ".$login_url);  
      }
    }

    public function user()
    {
        echo ($user);
    }

}

您可以在config文件夹下的constant.php文件中定义全局常量,并且可以使用该常量在任何位置查看它

喜欢

define('MY_VAR','MY_value');

现在,如果您想使用它,只需执行echo MY_VAR;

检查链接,我认为它对您有用http://ellislab.com/forums/viewthread/155141/

当您直接调用函数user()时,PHP将在定义后分配变量,因为该变量未定义,因此该变量不存在。为了引用全局变量,还应使用$ this-> user 。在这种情况下,变量$ user应该是一个会话变量。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM