简单介绍使用CI框架实现用户管理功能

简单介绍使用CI框架实现用户管理功能

一.CI框架:

MVC的实现框架:C控制层,M模型层,V是视图层。

上图controllers是控制层文件夹,models是模型层文件夹,views是视图层文件夹。

二.CI工作流程(以登陆为例):
1.前台页面制作完成后,把前台页面放在views文件夹下(logon.php)。

2.根据前台页面及功能要求,制作控制层的控制器:控制器(就是一个类文件)在controllers文件下建立(login.php),在类文件内写入类(Class Login),类名首字母大写,类继承CI_Controller类。在类内写具体的控制方法。

__construct()方法内重载本方法,并指定模型文件。index()方法指定视图文件(.php文件后缀不写)。在本控制器内构成了MVC的连接。
3.根据控制器的控制方法以及对数据库的操作具体实现,在模型层写数据库操作方法。在models文件下建立模型logon_mdl.php(也是一个类文件)。

在模型文件(logon_mdl.php)建立logon_mdl类,本类必须继承CI_Model。
4.框架安装,名字规则,文件路径,继承关系等按照CI框架要求进行即可。

三.用户管理制作:
1.用户管理:
制作后台是添删改查的规则的具体体现,用户管理属于后台管理用户功能:当管理员登陆账号以后,可以在用户管理界面添加用户,删除用户,编辑用户,查找用户。
2.制作:
制作形式多种多样,对数据库的操作原理都是一样的。CI框架为我们提供了现成的类,直接调用里面的方法即可。

2.1 登录页:

根据前台页面要求,输入用户名与密码,点击登陆后,表单提交到Logon控制器下的select()方法:<?php echo form_open(“/logon/select/”, array(“id” => “logon_form”, “name” => “logon_form”));?>。控制器根据模型的数据库操作方法select()去查询是否存在,如果存在,给session赋值,可以进入页面。否则转回登录页,要求客户重新登录。代码如下:

(登录功能)类文件内置方法:

$this->load->model(“logon_mdl”);//加载模型文件

$this->load->view(“logon”);//加载视图文件

$this->logon_mdl->select()//调用模型文件的select方法

$this->session->set_userdata();//存储session

redirect();//跳转(页面)

$this->session->unset_userdata()//销毁session

$this->session->all_userdata();//获取session数据

$this->db->query($sql);//执行sql语句

2.2 添加功能:
进入页面后,点击添加管理员,根据添加传值:<a href=”<?php echo DOMAINURL;?>/user_list/index/1″ style=”text-decoration: none;color: #000;”>添加管理员</a>。控制器user_list的index方法收到该值后,在页面显示一个添加表单:if(empty($cor)){echo form_open(“/user_list/insert/”, array(“id” => “user_list_form”, “name” => “user_list_form”));}。添加表单提交到控制器user_list的控制方法insert,根据对应的模型方法insert实现数据添加到数据库。

(添加功能)类文件内置方法:

$this->load->model(“user_list_mdl”);//加载模型文件

$this->uri->segment(3);//id传值

$this->user_list_mdl->get_select();//调用模型文件的方法

$this->load->view(“template”, $page);//加载视图文件并传值

$this->db->query($sql, array($data[“Account”],$data[“Password”],$data[“Name”],$data[“CreateTime”]));//执行sql语句

redirect(“/user_list/index”);//调转到其他页

2.3 列表功能:
如果没有点击添加:if(empty($id))。则通过控制器的控制方法指挥模型的数据库操作方法进行数据库内容查询列表(包含编辑和删除链接)

(列表功能)类文件内置方法:(同上)

public function index()

{

$data[“id”]  = $this->uri->segment(3);

$data[“row”]= $this->user_list_mdl->get_select();

$this->show($data);

}

2.4 删除功能:
当点击列表的删除链接时:<a onclick=”return confirm(“确认删除”)” href=”<?php echo DOMAINURL;?>/user_list/delete/<?php echo $i[“ID”];?>” style=”text-decoration: none;color: #000;”>删除</a>,通过控制器user_list模型方法delete,对数据进行删除,转回列表页。

(删除功能)类文件内置方法:

$this->uri->segment(3);//传id

$this->user_list_mdl->delete($data)//调用模型方法

redirect(“/user_list/index”);//调转到其他页面

$this->db->query($sql);//执行sql语句

2.5 更新功能:
当点击列表的更新链接时:<a href=”<?php echo DOMAINURL;?>/user_list/get_update/<?php echo $i[“ID”];?>” style=”text-decoration: none;color: #000;”>更新</a>,根据编辑传值到控制器user_list的方法get_update,得到查询数据显示在页面一个编辑表单if(empty($cor)){

echo form_open(“/user_list/insert/”, array(“id” => “user_list_form”, “name” => “user_list_form”));

}else{

echo form_open(“/user_list/update/”, array(“id” => “user_list_form1”, “name” => “user_list_form1”));

},提交到控制器user_list/的控制方法update,根据对应的模型方法update实现数据编辑,转回到列表。

(更新功能)类文件内置方法:

$this->uri->segment(3);//传ID

$this->user_list_mdl->get_update($data);//调用模型方法

redirect(“/user_list/index”);//调转其他页面

$this->db->query($sql);//执行sql语句

2.6 退出功能:
当点击退出链接时:<a href=”<?php echo DOMAINURL;?>/logon/logout” >退出</a>,执行控制器logon方法logout,销毁session,转到登录页。

(退出功能)类文件内置方法:

$this->session->unset_userdata($unset_sess);//销毁session

redirect();//跳转其他页面