Php 分析错误:语法错误,意外';公共';(T_PUBLIC)在codeifniter中
我正在从codeigniter教程电影中创建Php 分析错误:语法错误,意外';公共';(T_PUBLIC)在codeifniter中,php,codeigniter,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;
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');
}
}
}
?>
我检查了我的代码好几次,并将其与教师代码进行了比较,但我没有发现它们之间的任何差异,但是jusy他的代码工作得很好发生此错误是因为您在方法中声明了$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');
}
}
}
?>
在类方法之外定义类属性:public$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');
}
}
}
?>