视图SESSION的问题
header.php main.php在main.php 中include('header.php');
现在header.php中有一段判断如果用户登录 就显示用户的个人信息 如果没登录就显示登录框。
我在控制器里面$data['username'] = $this->session->userdata('username'); 然后在模板里面判断username
问题是 我每个页面只要带头部的都这样写非常麻烦啊 有没有方便的方法 不用每次都写一遍的? 同问,帮顶。。。。哥,这么夜啊?????
我是刚学习CI的。共勉。。。。。 楼主需要的是 HMVC
参考 http://codeigniter.org.cn/forums/thread-1319-1-1.html HEX没明白我的需求吧?我只是想判断一下在每个头文件判断SESSION 对啊,就是 HMVC 啊,你应该做一个 header 的模块,然后在这个模块里判断 Session。
而现在是 header 视图,视图虽然可以判断 session,但更复杂的操作就不适合放到视图里了。
$data['username'] = $this->session->userdata('username');
这句话就可以放到模块里,而不用放到控制器里,这样你的 header 模块放到哪里都可以,这个和“控件”的概念很像。 明白了非常感谢 这个1.7.2可以使用吗、 我用了HMVC做了一个header模块
文件:modules/header/controllers/index.php
class Header_Index_module extends Module{
function __construct()
{
parent::__construct();
}
function index()
{
$this->load->library('session');
$userData = array(
'username' => $this->session->userdata('username'),
'email' => $this->session->userdata('email'),
);
$this->load->view('view_header',$userData);
}
}
视图文件:modules/header/views/view_header.php
<div class="header">
<?php if($username): ?>
已经登录
<?php endif; ?>
</div>
系统提示:
A PHP Error was encountered
Severity: Notice
Message: Undefined property: Header_Index_module::$session
Filename: controllers/index.php
Line Number: 17
是不是 HEX的HMVC不支持SESSION? 你要是确定每个页面都要用这段代码,那就用hook,把这段代码hook到post_controller_constructor
继续发问前,请先看hook手册:http://codeigniter.org.cn/user_guide/general/hooks.html
页:
[1]
2