解析错误:语法错误,codeigniter中的意外“公共”(T_PUBLIC)

时间:2015-03-24 08:22:32

标签: php codeigniter

我正在创建一个codeigniter教程电影的core/MY_Controller.php文件,我的代码是:

<?php
/**
* MY_Controller extends CI_Controller
*/
class MY_Controller extends CI_Controller
{

    function __construct()
    {
        parent::__construct();
        public $username;
        $slogin = $this->input->cookie('userblog');
        if (!empty($slogin)) 
        {
            $this->load->library('encrypt');
            $login = $this->encrypt->decode($slogin,ENCRYPT_KEY) ;
            echo 'login is : ' .$login ;
            $login_info = explode('_',$login) ;
            $this->username = $login_info[0] ;
            $is_login = $login_info[1];
            if ( $is_login !='islogin')
            {
                redirrect('login');
            }
        }
        $login = $this->session->userdata('login') ;
        if(!empty($login))
        {
            if ($login != true) 
            {
                redirect('login');
            }
        }
        else
        {
            redirect('login');
        }
    }
}

?>

这是教师编写的确切代码,但是当我想要运行时,页面会告诉我这个错误public $username;

 Parse error: syntax error, unexpected 'public' (T_PUBLIC) in D:\Software\wamp\www\ci\admin\application\core\MY_Controller.php on line 11

我多次检查了我的代码并且我将它与教师代码进行了比较,但我们之间没有任何区别,但是jusy他的代码运行良好

1 个答案:

答案 0 :(得分:3)

发生此错误是因为您在方法中声明了$ username。你不应该。 改为使用它,它在方法之外和类内部声明它。

<?php
/**
* MY_Controller extends CI_Controller
*/
class MY_Controller extends CI_Controller
{

    public $username;

    function __construct()
    {
        parent::__construct();

        $slogin = $this->input->cookie('userblog');
        if (!empty($slogin)) 
        {
            $this->load->library('encrypt');
            $login = $this->encrypt->decode($slogin,ENCRYPT_KEY) ;
            echo 'login is : ' .$login ;
            $login_info = explode('_',$login) ;
            $this->username = $login_info[0] ;
            $is_login = $login_info[1];
            if ( $is_login !='islogin')
            {
                redirrect('login');
            }
        }
        $login = $this->session->userdata('login') ;
        if(!empty($login))
        {
            if ($login != true) 
            {
                redirect('login');
            }
        }
        else
        {
            redirect('login');
        }
    }
}

?>