0

我是codeigniter的新手。我有一个users加载login视图的控制器。

class user extends CI_Controller {
    function __construct()
    {
        parent::__construct();
        $this->load->helper(array('form'));
    }
    public function login()
    {
        $this->load->model('user_images');
        $data = $this->load->model('login');
        $this->load->view('login', $data);
    }
}

login模型中,我处理所有的验证和处理。如果有验证错误或类似的返回,我会$data['msg'] = 'some error message';通过$data = $this->load->model('login');to$this->load->view('login', $data);和 view I echo传递这些数据$msg。但是,在提交表单过程时,如果我输入正确的凭据,我会登录,但是如果我输入一些错误的凭据,验证错误不会传递到视图。我正在将这个项目从非框架环境中转移过来,所以我确信验证规则可以工作.etc。我只是不确定为什么视图上没有解析消息。

4

1 回答 1

1

看起来你弄错了

 $data = $this->load->model('login');

load->model()加载login_model 并使其方法通过

$this->login->youMethodHere()。

f 存在验证错误或类似错误,我返回 $data['msg'] = 'some error message'; 我通过 $data = $this->load->model('login'); 传递这些数据 到 $this->load->view('login', $data);

当您从方法/函数返回某些内容时,您不会返回变量。您返回变量的值。

您应该将您的方法添加到 login_model(也许这应该是 user_model ...)并返回 ex。模型中的数组或 mysqli 结果集。根据模型返回的内容,您应该设置数据。

$this->load->model('user_model');
$login_succes = $this->user_model->login($username, $password);
if( $login_success ) 
{
   $data['msg'] = 'hurrah you did it
   ...
于 2013-08-21T20:33:04.167 回答