首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >登录后的离子/代码点火器登录抛出错误

登录后的离子/代码点火器登录抛出错误
EN

Stack Overflow用户
提问于 2014-04-22 20:09:44
回答 2查看 1.2K关注 0票数 0

这是我使用Codeigniter和Ion的第一个项目,我已经完成了本教程:http://www.rappasoft.com/tutorials/view/5#.U1bJLeZdWpo

但是现在我已经接近尾声了,当我的所有代码看起来都与教程相同时,就会出现一个错误。错误是:

消息:从空值创建默认对象

文件名: core/MY_Controller.php

线路号码: 13

但奇怪的是,MY_Controller文件中的代码是从教程中复制的。下面是我的代码:

代码语言:javascript
复制
<?php

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

class MY_Controller extends CI_Controller {
    public function __construct() {
       parent::__construct();

       if (!$this->ion_auth->is_admin()) {
            redirect('auth/login');
       } else {
            //Store user in $data
            $data->user_info = $this->ion_auth->user()->row();
            //Load $the_user in all views
            $this->load->vars($data);        
       }
    }
}

?>

正确的视图加载在错误下面,但显然我想知道是什么问题。因为这是我第一次使用ion-auth,而且我对代码点火器也比较陌生,所以我想知道是否有人知道如何调试这样的错误。教人钓鱼,喂他一辈子!我真的很感激不仅仅是解决方案,而是方法,这样我就可以自己学习和做这件事。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-04-22 20:40:58

你在做PHP 5.4+吗?

在这种情况下,必须在使用$data之前声明它:

更改:

代码语言:javascript
复制
$data->user_info = $this->ion_auth->user()->row();

代码语言:javascript
复制
$data = new stdClass(); 
$data->user_info = $this->ion_auth->user()->row();

再试一次。Hpe它有帮助!

票数 3
EN

Stack Overflow用户

发布于 2014-04-22 20:43:58

我想我可能已经搞清楚了。我认为问题可能是默认登录信息(由ion提供的登录信息)在数据库中没有任何附加信息。这意味着当$data变量设置附加帐户信息时,它不会发现任何内容。这不是一个强大的错误,使网页崩溃,但它警告我,没有其他帐户信息,即使它应该是寻找更多的信息。

那怎么解决这个问题?创建一个用于测试目的的用户,充分补充帐户信息,并查看这是否解决了问题。唯一的问题是,我不知道如何使用ion添加新用户,而且我的观点还不够复杂,不足以使这个过程变得简单。

我已经查看了create_user()方法在auth.php文件中,但是当您在填写表单后按submit时,它会将您踢回包含所有信息的同一个页面。我觉得需要在这里进行编辑,尽管我不太知道该改变什么。我一直在看这份文件,但似乎有点.稀疏。我想我是在正确的轨道上,虽然我真的很想知道是否有人有一个更好的解释或解决方案。到现在为止,我还没有真正修好它。只是推论而已。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23229217

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档