基于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)住宿信 ...
随机推荐
- python基础一 day11 装饰器复习
# 复习# 讲作业# 装饰器的进阶 # functools.wraps # 带参数的装饰器 # 多个装饰器装饰同一个函数# 周末的作业 # 文件操作 # 字符串处理 # 输入输出 # 流程控制 # 装 ...
- shell脚本自动部署及监控
一.shell脚本部署nginx反向代理和三个web服务 1 对反向代理服务器进行配置 #!/bin/bash #修改用户交互页面 用户输入参数执行相应的参数 #安装epel扩展包和nginx fun ...
- blog.yiz96.com
欢迎访问我的新博客 blog.yiz96.com
- 005 String s = "Hello";s = s + " world!";执行这两行代码执行后,原始的 String 对象中的内容到底变了没有?
原始的String对象中的内容没有改变成“Hello world”. 1.原因 因为在Java中String类被设计成不可改变的类,所以String类的所有对象都是不可变的.第一句代码中,s(存储在栈 ...
- PAT (Basic Level) Practise (中文)- 1026. 程序运行时间(15)
PAT (Basic Level) Practise (中文)- 1026. 程序运行时间(15) http://www.patest.cn/contests/pat-b-practise/10 ...
- WPF显示尺寸与设备无关问题
WPF单位 WPF窗口以及其中的所有元素都是用与设备无关的单位进行度量.一个与设备无关的单位被定义为1/96英寸.WPF程序统一用下面一个公式来定义物理单位尺寸: [ 物理单位尺寸(像素)] = [ ...
- CF-1027-B. Curiosity Has No Limits
CF-1027-B. Curiosity Has No Limits http://codeforces.com/contest/1072/problem/B 题意: 给定两组序列a,b,长度为n-1 ...
- Cookies和Session的区别和理解
Cookies和Session的区别和理解 cookie机制 Cookies是服务器在本地机器上存储的小段文本并随每一个请求发送至同一个服务器.IETF RFC 2965 HTTP State Man ...
- Python运算符总结
一.简介 Python中运算符分为: 算术运算符:主要用于两个对象算数计算(加减乘除等运算) 比较(关系)运算符:用于两个对象比较(判断是否相等.大于等运算) 赋值运算符:用于对象的赋值,将运算符右边 ...
- perl学习之五:列表和数组
列表及其形式 数组 数组的赋值 数组的读取 数组片段 数组函数 二维数组简介 总结 1.列表形式: 1.(item1,item2,...) 2.qw(item1 item2 item3 ...) 3. ...