基于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)住宿信 ...
随机推荐
- winform中让显示的图片覆盖到父窗体保持父窗体的不可选中的状态,且任务栏中不会显示子窗体的任务选项
要求:为父窗体添加一个类似于加载等待的功能,当窗体点击备份时弹出且覆盖掉窗体 问题一产生:当为弹窗添加控件时,form.show();导致窗体卡死,控件变得透明化; 问题一分析:当窗体show();之 ...
- 【转】数据库SQL的一些总结
http://www.cnblogs.com/yank/category/104903.html
- js获取主机名实现页面跳转
<script language="javascript" type="text/javascript"> var hostname ...
- iOS 设计模式
很赞的总结 iOS Design Patterns 中文版 IOS设计模式之一(MVC模式,单例模式) IOS设计模式之二(门面模式,装饰器模式) IOS设计模式之三(适配器模式,观察者模式) IOS ...
- ios之UISlider
初始化一个Slider UISlider *slider = [[UISlider alloc]initWithFrame:CGRectMake(0, 400,320 , 20)]; 滑块是一个标 ...
- Luogu P3727 曼哈顿计划E 点分治+hash
题目: P3727曼哈顿计划E 分析: 大长题面容易给人一种不可做的错觉,但是这题考的知识点都是我们熟悉的. 稍加分析我们可以得到,我们可以把每个点当成一个单独的游戏,如果k=1,就是简单的nim游戏 ...
- 【网络流】[USACO4.2]草地排水Drainage Ditches
用EdmondsKarp可过 题目背景 在农夫约翰的农场上,每逢下雨,贝茜最喜欢的三叶草地就积聚了一潭水.这意味着草地被水淹没了,并且小草要继续生长还要花相当长一段时间.因此,农夫约翰修建了一套排水系 ...
- 【Java_基础】java中的常量池
1.java常量池的介绍 java中的常量池,通常指的是运行时常量池,它是方法区的一部分,一个jvm实例只有一个运行常量池,各线程间共享该运行常量池. java常量池简介:java常量池中保存了一份在 ...
- js-DOM-css的className相关
1.在非标准的浏览器,IE8及以下的浏览器不支持className的操作,包括getElementByClassName,addClassName,removeClassName; 2.getEle ...
- 5.电影搜索之 自动填充,也叫autocomplete、搜索建议!
什么叫自动填充,用过百度的应该都知道!当你输入关键词之后,会有一个下拉的候选列表,都是与你输入的内容相关的,这个就是自动填充的搜索建议.一般的搜索引擎或者站内搜索都会有这个功能. 今天分享下这个功能的 ...