My_Controller extendsCI_Controller,我在 My_Controller 中的public 变量 ,如何在hmvc modules的Controller中访问 这个public 变量,请增加这个功能.
如何 模块中的controllers 中 访问 全局变量
本帖最后由 imhuzi 于 2013-5-21 18:37 编辑
加上HMVC后,原来的表单验证用不了了。我吧所有验证规则放在了:config/form_validation.php里,如下:$config = array(
'account/signin/session'=>array(
array(
'field'=>'login_key',
'label'=>'邮箱地址',
'rules'=>'trim|required|valid_email|xss_clean',
),
array(
'field'=>'password',
'label'=>'登录密码',
'rules'=>'trim|callback_md5password_check|required',
),
),
'app/permission/user/add'=>array(),
)account是controller,
account的代码如下:class Account extends CI_Controller {
//put your code here
function __construct() {
parent::__construct();
$this->load->model('Account_model');
$this->load->library('form_validation');
}
publicfunction index(){
$this->load->view('account/signin');
}
/**
* 登录
*/
public function signin($slug = '') {
if ($slug !== 'session') {
$this->load->view('account/signin');
} else {
//登录表单验证
$this->load->helper('url');
$valid_flag = $this->form_validation->run();
//登录处理
$signin_flag = false;
if($valid_flag!=FALSE){
$signin_flag = $this->Account_model->do_signin();
}
if (!$valid_flag || !$signin_flag) {
//设置提示信息并跳转
$this->session->set_flashdata('validation_error_messages',validation_errors_array());
setFlash_Message('error', 'Email Account or Password error.');
redirect('/account/signin');
} else {
redirect('/app/');
}
}
}
public functionsignout(){
}
/**
* 检查md5密码是否正确
* @param type $str
* @return boolean
*/
public function md5password_check() {
$pass = $this->input->get_md5PasswordValue('password');
if ($pass == -1 || empty($pass)) {
$this->form_validation->set_message('md5password_check', '密码不能为空');
return FALSE;
} else {
return TRUE;
}
}
}我跟踪调试后发现:在CI_Form_validation.php里的run方法去不到验证规则,不知道是什么问题,Hex大神...
不错 、这个很像phpcms的modules
学习,顺便标记一下以便以后查看
imhuzi 发表于 2013-5-21 14:39 static/image/common/back.gif
加上HMVC后,原来的表单验证用不了了。我吧所有验证规则放在了:config/form_validation.php里,如下:accou ...
表单验证类只能关联到控制器/方法吧 你这个已经是三级了,不能关联到参数,你再看看。
问下这里是不是写错了
我这么写提示错误找不到module_url
改成
$this->load->module_url('要访问的方法名/参数1/..../参数n', '控制器名');
才不会报错。
但是这么写有会出现
这该怎么解决?直接用site_url好像不返回内容
学习一下
kinwyb 发表于 2013-7-2 11:22 static/image/common/back.gif
问下这里是不是写错了
我这么写提示错误找不到module_url
这是用在视图里的,我在说明里也说明要在视图里使用。
不能用在控制器中。
本身我写的 HMVC 就是用在视图里的,类似 widget 的概念。
Hex 发表于 2013-8-7 14:42 static/image/common/back.gif
这是用在视图里的,我在说明里也说明要在视图里使用。
不能用在控制器中。
本身我写的 HMVC 就是用在视图 ...
额,谢谢指导