用户
 找回密码
 入住 CI 中国社区
搜索
查看: 2157|回复: 2
收起左侧

[已解决] 帮忙看下这样做会不会有什么问题?

[复制链接]
发表于 2010-6-18 17:43:50 | 显示全部楼层 |阅读模式
控制器:
PHP复制代码
 
class Home extends Controller
{
        function index()
        {
                $this->form_validation->set_rules('name','用户名','required') ;
                $this->form_validation->set_rules('pwd','密码','required');
                //设置错误提示
                $this->form_validation->set_message('required', '必须填写%s');
                //运行验证程序
                if( $this->form_validation->run() == FALSE )
                {
                        //验证不通过则重显示登陆界面
                        $this->load->view('frame_folder/V_admin_log');
                }
                else
                {
                        //通过表单验证规则之后检测用户名和密码
                        $this->load->model('user');
                        if($data=$this->user->check_login() )
                        {
                                //设置session
                                session_start();
                                $_SESSION['is_login']=TRUE;
                                $this->load->view('V_admin_frame');
                        }
                        else
                        {
                                //没有通过用户名密码检测则显示登陆界面
                                $data['error']='用户名或密码不正确';
                                $this->load->view('V_admin_log',$data);
                        }
                }
        }
}
 
复制代码

V_admin_log :一个登陆框页面,用户名,密码,提交按钮组成。
V_admin_frame:由几个frame文件组成
HTML复制代码
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh-CN" lang="zh-CN">
<head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <meta http-equiv="Content-Language" content="zh-CN" />
        <title></title>
        <meta name="keywords" content="" />
        <meta name="description" content="" />
        <link rel="stylesheet" type="text/css" href="" />
        <script language="JavaScript" type="text/javascript" src=""></script>
</head>
        <frameset rows="15%,*">
                <frame frameborder='1' name="top"
                        src="<?php echo site_url('admin/frame_top') ?>"
                />
               
                <frameset cols="15%,85%">
                        <frame frameborder='1' name="left"
                                src="<?php echo site_url('admin/frame_left') ?>"
                        />
                        <frame frameborder='1' name="right"
                                src="<?php echo site_url('admin/frame_right') ?>"
                        />
                </frameset>
               
               
        </frameset>
 
</html>
 
复制代码

请问:
1:V_admin_frame,frame_frame_top,frame_left,frame_right这四个文件中是否要进行一下判断“是否登录”?还是只要在每个控制器里检测一下就可以了,视图文件里不用检测?
2:对于这种后台页面还有其他什么好的设计方法吗?
非常感谢
发表于 2010-6-18 20:40:20 | 显示全部楼层
每个frame都相当一个独立页面,后台的东西最好都做权限检测
视图只负责页面显示逻辑,表在里面弄用户检测
后台一定要用frameset吗?我做过几个平板后台,客户也没说不好用
在视图里可以用<?php echo $this->load->view('侧边栏的视图',true)?>嵌套视图
 楼主| 发表于 2010-6-20 14:13:03 | 显示全部楼层
多谢斑竹

本版积分规则