初學(xué)后臺(tái)框架總結(jié)篇二——快速了解CI框架
一、下載CI框架并安裝,這里放置一張自己的項(xiàng)目目錄結(jié)構(gòu)圖

目錄框架搭建好之后開始將自己的項(xiàng)目與框架融合
二、更改相關(guān)配置
1、用任何文本編輯器打開 application/config/config.php 去設(shè)置你的網(wǎng)站根 URL
$config['base_url'] = 'http://localhost/項(xiàng)目所在文件夾名/'
2、打開 application/config/database.php 去設(shè)置你的數(shù)據(jù)庫(kù)參數(shù)
$db['default']['username'] = '數(shù)據(jù)庫(kù)用戶名';
$db['default']['password'] = '數(shù)據(jù)庫(kù)密碼';
$db['default']['database'] = '數(shù)據(jù)庫(kù)名';
3、打開 application/config/routes.php 去設(shè)置網(wǎng)頁(yè)默認(rèn)首先打開的控制器
$route['default_controller'] = "former"; //這里我設(shè)置的默認(rèn)是先去找到former控制器,所以他會(huì)先去執(zhí)行former控制器中的index方法
三、框架與項(xiàng)目融合
application/controllers中放置前后臺(tái)控制器,與模型和視圖交互
application/models中放置前后臺(tái)模型,就是獲取數(shù)據(jù)庫(kù)信息將數(shù)據(jù)傳給控制器的地方
application/view中放置視圖,建former(前臺(tái))和admin(后臺(tái))兩個(gè)文件夾,放置前后臺(tái)視圖,此項(xiàng)目我只用到了前臺(tái)former,沒(méi)有寫后臺(tái),數(shù)據(jù)直接與前臺(tái)交互查詢了
四、簡(jiǎn)要一些方法的代碼實(shí)例
顯示相關(guān)視圖
function index(){
$this->load->view("former/index"); //調(diào)用former控制其中index方法,就可以顯示former文件夾下index視圖,注意區(qū)分前后former和index的不同
}
登錄
視圖中關(guān)鍵的依據(jù)
<form id="loginForm" method="post" action="<?php echo site_url('former/check_login')?>">
1 //控制器中的方法 2 function login(){ 3 $data['tips']=null; 4 $this->load->view("former/login",$data); 5 } 6 7 function check_login(){ 8 //判斷是否提交數(shù)據(jù) 9 10 //獲取提交的用戶名和密碼,排除特殊字符 11 $name=$this->input->post("name"); 12 $pwd=$this->input->post("pwd"); 13 //獲取提交的用戶名和密碼,排除特殊字符 14 $this->load->model("former_model"); 15 $result=$this->former_model->check_login(); 16 //驗(yàn)證 17 foreach ($result as $value){ 18 $username=$value->name; 19 $password=$value->pwd; 20 $iuser_id=$value->id; 21 } 22 if(empty($result)){ 23 $data['error']="用戶名或密碼錯(cuò)誤!"; 24 $this->load->view("former/login",$data); 25 }else if (md5($pwd)!=$password){ 26 $data['error']="密碼錯(cuò)誤!"; 27 $this->load->view("former/login",$data); 28 }else{ 29 $this->session->set_userdata('iuser_pwd',$pwd); //傳遞一個(gè)新的用戶數(shù)組到 session 數(shù)組中 30 $this->session->set_userdata('iuser_name',$name); 31 $this->session->set_userdata('iuser_id',$iuser_id); 32 redirect('former/upload'); 33 }
1 function check_login(){ 2 //獲取提交的用戶名和密碼,排除特殊字符 3 $name=$this->input->post("name"); 4 $pwd=$this->input->post("pwd"); 5 $name=$this->check_input($name); 6 // echo $name.'--'.$pwd;exit; 7 $pwd=md5($this->check_input($pwd)); 8 $query=$this->db->query("SELECT * FROM iuser WHERE name='$name' AND pwd='$pwd'"); 9 return $query->result(); 10 } 11 12 function check_input($input){ 13 //去除斜杠 14 if(get_magic_quotes_gpc()){ 15 $input=stripslashes($input); 16 //$data['error']="000!"; 17 } 18 $input=mysql_real_escape_string($input); 19 return $input; 20 }
上傳照片
1 //上傳圖片 2 function upload_photo(){ 3 //判斷是否登錄 4 $iuser_id=$this->session->userdata('iuser_id'); 5 if (!isset($iuser_id)||$iuser_id!=1){ 6 $data['error']="請(qǐng)先登錄!"; 7 $this->load->view("former/login",$data); 8 }else{ 9 $this->load->model('former_model'); 10 $config['upload_path']='upload/image/'; /*存儲(chǔ)路徑,這里的upload是相對(duì)于index.php入口文件*/ 11 $config['allowed_types']='jpg|gif|img|png|jpeg'; //允許上傳的格式 12 $config['max_size']='100000'; //允許上傳大小 13 $config['file_name']=date("YmdHis",time()).'_'.$iuser_id; //根據(jù)這里設(shè)置的文件名來(lái)對(duì)上傳的文件進(jìn)行重命名。文件名中的擴(kuò)展名也必須是允許的文件類型 14 $this->load->library('upload',$config); 15 //if(isset($_POST)){ 16 if(!$this->upload->do_upload()){ 17 $error=$this->upload->display_errors(); 18 $this->alert_tips($error, "-1"); 19 }else{ 20 $data['upload_data']=$this->upload->data(); //一個(gè)輔助函數(shù),它返回你上傳文件的所有相關(guān)信息的數(shù)組 21 $data['img_url']=$config['upload_path'].$config['file_name'].$data['upload_data']['file_ext']; 22 $result=$this->former_model->upload_photo($iuser_id,$data['img_url']); 23 //$data['pic_url']=$this->former_model->get_picture(); 24 if($result==true){ 25 //$data['one_article']=$this->former_model->get_one_article($cid); 26 $data['pic_url']=$this->former_model->get_picture(); 27 $this->load->view('former/picture',$data); 28 }else{ 29 $this->alert_tips("發(fā)生未知錯(cuò)誤,上傳照片失敗", "-1"); 30 } 31 } 32 } 33 }
1 function upload_photo($iuser_id,$img_url){ 2 $name=$this->input->post("name"); 3 //$img_url=$this->input->post("img_url"); 4 $date=date("Y-m-d",time()); 5 $describe=$this->input->post("describe"); 6 7 $data=array( 8 "iuser_id"=>$iuser_id, 9 "name"=>$name, 10 "url"=>$img_url, 11 "date"=>$date, 12 "describe"=>$describe 13 ); 14 $query=$this->db->insert("photos",$data); 15 16 //echo $query;exit; 17 if($query){ 18 $flag=true; 19 }else{ 20 $flag=false; 21 } 22 return $flag; 23 } 24 25 function get_picture(){ 26 $query=$this->db->query("SELECT * FROM photos"); 27 return $query->result(); 28 }
1 <?php foreach($pic_url as $value):?> 2 <li> 3 <img src="<?php echo $value->url;?>" /> 4 <span><?php echo $value->name;?></span> 5 <span class="hidden" ><img src="<?php echo $value->url;?>" /><div><?php echo $value->describe;?></div> 6 </span> 7 </li> 8 <?php endforeach;?>
這都是一些簡(jiǎn)要的基礎(chǔ)方法,但后臺(tái)都是基于這些基礎(chǔ)想通過(guò)各種變換,大致形式都一樣,所以大致明白這些差不多都能融會(huì)貫通,另外,要多學(xué)會(huì)看報(bào)錯(cuò)的信息,通過(guò)信息去查找自己的錯(cuò)誤地方,
就是因?yàn)殄e(cuò)誤才有機(jī)會(huì)改正,有時(shí)候始終找不到問(wèn)題出錯(cuò)地方,他也不報(bào)錯(cuò)這是很痛苦的一種情況,哈哈,所以有錯(cuò)誤提示也是一種幸福。
浙公網(wǎng)安備 33010602011771號(hào)