这是我的控制器:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class User extends CI_Controller {
public function __construct() {
parent::__construct();
$this->load->model('user_model');
}
public function index() {
redirect('user/login');
}
public function login() {
$this->load->library('form_validation', '', 'fv');
var_dump($this);
$this->fv->set_rules('nick_name', 'Nick Name', 'trim|required|max_length[12]|min_length[4]');
$this->fv->set_rules('password', 'Password', 'trim|required|md5');
}
}
?>
我基本上是在写一个登录控制器。在登录功能中,在此之后我加载视图等。但到此为止,我收到以下错误:
A PHP Error was encountered
Severity: Notice
Message: Undefined property: User::$fv
Filename: controllers/user.php
Line Number: 23
我已将控制器中的所有其他内容有效地注释到我上面粘贴的内容。我不知道问题出在哪里。感谢。
[编辑]
在var转储$ this对象时,我发现了一个更不寻常的东西。对象“fv”未在$ this对象内定义,而是在$ this-&gt; user_model对象下定义。所以isset($ this-&gt; fv)返回false并且isset($ this-&gt; user_model-&gt; fv)返回true。是的,我尝试了$ this-&gt; load-&gt; library('form_validation')而不是命名为“fv”,结果保持不变。
答案 0 :(得分:0)
您的控制器名称应命名为user.php&amp;它应该位于控制器文件夹内。
尝试CI推荐的编码样式,例如,
$这 - &GT;负载&GT;库(&#39; form_validation&#39);
$这 - &GT; form_validation-&GT; set_rules();等。