比如:管理员后台的登入我是这么写的
$where = array(
'adminname'=>strtolower(trim($this->input->post('adminname',TRUE))),
'password'=>strtolower(trim(md5($this->input->post('password',TRUE))))
);//有时我会把session放在数据库查询判断里边,也就是下边这个if里边
$_SESSION['adminname'] = $where['adminname'];
$select = join(',', array_keys( $where ) );
if($this->m->selects('admin',$where,$select)){
redirect('admin/Home/index');
}else{
$data['error'] = '用户名和密码错误,请重新填写';
$this->load->view('admin/message',$data);
}
在windows的php5.3它是正常跳转到后台首页的!
但是在liunx的php5.2.17它会报错。
再比如会员后台判断是否登入状态我是这么写的!
if(empty($_SESSION['username'])){
header("Location:" . site_url('home/login'));
}
$_SESSION['username']//在空值的情况这个if并没有阻拦非登入的访客让他跳转至登入。
$_SESSION['username']$_SESSION['VIP']$_SESSION['phone']$_SESSION['email']
//以上这些都是空值,当然会报错,上图:
还有以及会员登入状态点击退出我是这么写的!
public function exits(){
$where['username'] = $_SESSION['username'];
$IP['U_IP'] = $_SERVER['REMOTE_ADDR'];
if($this->db->update('users', $IP, $where)){
unset($_SESSION['username']);
unset($_SESSION['phone']);
unset($_SESSION['email']);
redirect('home/index');
}}
它同样也会报错,和后台的登入报的错一模一样!
注意:以上这些报错在本地笔记本上边都是可以正常运行的!
是否是服务器配置问题呢?
见:http://segmentfault.com/q/1010000000427492查看phpinfo;