基于CI框架的管理系统
1:ci框架是有入口文件的,前端和后台入口文件(index.php,admin.php);里面修改$application_folder = 'application/home';
2:项目基本都是在application里面的,home(前端)和admin(后台);
3:home文件夹下的config文件下面的routes.php($route['default_controller'] = 'article';),config.php($config['base_url'] = 'http://localhost/Ci';在上传服务器的时候改为$config['base_url'] = '/';还需要在最后加入时区设置:date_default_timezone_set('PRC');$config['time_zone'] = date_default_timezone_get(););
注意:Linux系统设置只能识别PRC,// date_default_timezone_set('Asia/ShangHai');不识别Asia/ShangHai,所以设置的时候注意:
4:controller是写控制器的,注意:
(1):文件名必须是大写字母开头,如:'Blog.php';文件保存到 application/controllers/ 目录下
(2):类名必须以大写字母开头。
model是写模型的,view是放视图的;
5:ci框架需要注意的一些细节问题:
define('IS_POST',strtolower($_SERVER["REQUEST_METHOD"]) == 'post');[自定义设置IS_POST方法]
$this->load->helper(array('form','url'));[加载辅助函数]
$this->load->library('session');[加载sessions]
$this->load->database();[加载连接数据库]
$this->load->view('article/add')[加载视图]
6:form表单提交:
($this->load->library('form_validation');
$this->form_validation->set_rules('pname','用户账号','required|max_length[10]');
$this->form_validation->set_rules('ppwd','密码','required');
$this->form_validation->set_rules('ypwd','确认密码','required|matches[ppwd]');
$this->form_validation->set_rules('pemail','邮箱','required|valid_email');
if($this->form_validation->run()==false){
$this->load->view('zhuce/index');
})
$arr=$this->input->post();[ci框架接受post提交数据]
7:ci框架加载连接数据库,查询数据:
($this->load->database();
$query=$this->db->get_where('ci_people',array('pname'=>$arr['pname']));
$res=$query->result();)
8:路径跳转问题
echo "<script>window.location.href='".site_url('Zhuce/index')."'</script>";[不加参数跳转]
echo "<script>window.location.href='".site_url('Zhuce/index/{$uid}')."'</script>";[加参数跳转]
9:加载模型
$this->load->model('Zhuce_model');
$res=$this->Zhuce_model->edit($arr);
10:ci框架地址栏获取参数
$aid=$this->uri->segment(3);[1是控制器,2是方法,3是值]
11:session存储和删除
$this->session->set_userdata('pname',$val->pname);[存储session];
$this->session->unset_userdata('plast_login',$val->plast_login);[删除session];
12:文件上传:
$arr=$this->input->post();
//文件上传:
$config['upload_path']="./public/uploads/";
$config['allowed_types']='jpg|gif|png|jpeg';
$config['file_name']=uniqid(time());
$config['max_size']=1024;
$config['max_height']=768;
$config['max_width']=1024;
$config['overwrite']=FALSE;
$this->load->library('upload',$config);
if(!file_exists($config['upload_path'])){
mkdir($config['upload_path'],0777,true);
}
if($this->upload->do_upload('pimg')){//上传表单图片的name名
$file=$this->upload->data();//返回上传文件信息
$arr['pimg']=$file['file_name'];
}else{
//图片上传失败报错:
$error=$this->upload->display_errors();
$error=strip_tags($error);
echo "<script>alert('".$error."')</script>";
echo "<script>window.location.href='".site_url('Ziliao/edit')."'</script>";
}
13:视图:view
<font color="red"><?php echo form_error('atitle'); ?></font>[表单报错]
视图字段截取
<td class='text-center'><?php if(strlen($val->aabs)>8){
echo mb_substr($val->aabs,0,8)."...";
}else{
echo $val->aabs;
} ?></td>
基于CI框架的管理系统的更多相关文章
- PHP RBAC权限控制,基于CI框架(版本3.1.9)
2018年11月7日更新:目前功能已做到事件级别权限控制,如:后台用户的添加操作.删除操作和保存操作等具体到事件级的操作方法有权限则展示相应的操作菜单,没权限则隐藏相应菜单或提示无权限到目前算是真正做 ...
- php获取json文件数据并动态修改网站头部文件meta信息 --基于CI框架
话不多说了.直接开始吧 (如果有中文.请注意json只认utf-8编码) 首先你需要有一个json文件数据 { "index": { ...
- 基于ci框架 修改出来了一个带农历的万年历。
1这里没有写model:代码一看就懂,没什么负杂地方,就是麻烦一点. 直接control模块的代码: <?php if ( ! defined('BASEPATH')) exit('No dir ...
- php获取服务器和mysql等信息输出到页面(基于ci框架)
function show($varName) { switch($result = get_cfg_var($varName)) { case 0: return '< ...
- 专家动态页面的实现——php基于CI框架的学习(二)
以下是本次学习的页面 打开相关文件,整个定义了一个Expert类 class Expert extends CI_Controller{} 在Expert类里定义了几个参数以及说明其使用了哪些mode ...
- nginx location匹配顺序及CI框架的nginx配置
Nginx location匹配顺序如下: 用前缀字符串定义的location规则对URI进行匹配测试. =号定义了精确的前缀字符串匹配,如果发现精确匹配则使用当前规则.否则继续下一步匹配. 匹配其它 ...
- CodeIgniter (CI)框架中的数据库查询汇总
引言: 前两天业务涉及到一个拉取答题排行榜的需求,数据库里数据是这样的: 同一个人可能提交过多次成绩,所以同一个人可能会有多次记录: 同一个人提交的多次成绩中可能有至少两次成绩是一样的. 于是,查询的 ...
- 某cms审计思路,以及ci框架如何找寻注入点
某cms审计思路,以及ci框架如何找寻注入点 ABOUT 之前闲着没事的时候审的某cms,之前看一群大表哥刷过一次这个cms,想着看看还能不能赶得上分一杯羹,还是审计出来些东西,来说一说一个前台注入吧 ...
- 基于SSH框架的学生公寓管理系统的质量属性
系统名称:学生公寓管理系统 首先介绍一下学生公寓管理系统,在学生公寓管理方面,针对学生有关住宿信息问题进行管理,学生公寓管理系统主要包含了1)学生信息记录:包括学号.姓名.性别.院系.班级:2)住宿信 ...
随机推荐
- JavaScript中对象的属性:如何遍历属性
for/in 语句循环遍历对象的属性. js中获取key得到某对象中相对应的value的方法:obj.key js中根据动态key得到某对象中相对应的value的方法有二: 一.var key = & ...
- Web中打印的各种方案参考
http://blog.csdn.net/chinahuyong/article/details/42527491
- 引入了junit为什么还是用不了@Test注解
pom文件明明引入了unit,为什么还是用不了@Test? 配置如下: <dependency> <groupId>junit</groupId> <arti ...
- 数据库-SQL语法:GROUP BY与HAVING
注意:select 后的字段,必须要么包含在group by中,要么包含在having 后的聚合函数里. 1. GROUP BY 是分组查询, 一般 GROUP BY 是和聚合函数配合使用. grou ...
- [BZOJ2938]病毒 (AC自动机+dfs)
题目描述 二进制病毒审查委员会最近发现了如下的规律:某些确定的二进制串是病毒的代码.如果某段代码中不存在任何一段病毒代码,那么我们就称这段代码是安全的.现在委员会已经找出了所有的病毒代码段,试问,是否 ...
- iOS 设计模式
很赞的总结 iOS Design Patterns 中文版 IOS设计模式之一(MVC模式,单例模式) IOS设计模式之二(门面模式,装饰器模式) IOS设计模式之三(适配器模式,观察者模式) IOS ...
- ios之coredata(二)
上面一篇文章介绍了coredata的有关基本概念,由于大部分是参考别人文章中的内容,所以感觉有点虚,而且估计也是比较难以理解,下面这篇文章通俗一点说说学习coredata后的一些理解,然后给出一个简单 ...
- Ubuntu 下的aegisub安装
大家用开源的软件用习惯了.推荐大家使用一下字幕编辑软件 分享的是Ubuntu下的安装教程: $ sudo add-apt-repository ppa:djcj/aegisub $ sudo apt- ...
- webservice 测试地址
腾讯QQ在线状态 WEB 服务Endpoint: http://www.webxml.com.cn/webservices/qqOnlineWebService.asmx Disco: http:// ...
- python基础-对象
1. 对象:一组数据和操作数据方法的集合 >>> class Person(object): ... def __init__(self,name): ... ...