基于PHP的CMS網(wǎng)站系統(tǒng)開發(fā)_第1頁
基于PHP的CMS網(wǎng)站系統(tǒng)開發(fā)_第2頁
基于PHP的CMS網(wǎng)站系統(tǒng)開發(fā)_第3頁
基于PHP的CMS網(wǎng)站系統(tǒng)開發(fā)_第4頁
基于PHP的CMS網(wǎng)站系統(tǒng)開發(fā)_第5頁
已閱讀5頁,還剩25頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、山西省林業(yè)職業(yè)技術(shù)學(xué)院信息工程系畢業(yè)設(shè)計(jì)(論文)摘 要網(wǎng)絡(luò)的日益發(fā)展,使動(dòng)態(tài)網(wǎng)站的開發(fā)和管理倍受人們的關(guān)注。在這里,介紹了基于PHP框架CodeIgniter的CMS網(wǎng)站系統(tǒng)的開發(fā),剖析了MVC架構(gòu)在使用過程中的優(yōu)勢,展現(xiàn)了整個(gè)后臺(tái)的制作流程。該CMS以PHP做為主要語言,采用MySQL做為數(shù)據(jù)庫支持。為了方便開發(fā),選用了CI框架,該框架可以實(shí)現(xiàn)簡單入門、快速開發(fā)等。利用以上技術(shù)實(shí)現(xiàn)了一個(gè)小型CMS系統(tǒng),該系統(tǒng)后臺(tái)的主要功能有:文章管理、分類管理、靜態(tài)頁面生成、用戶管理及系統(tǒng)管理。關(guān)鍵字:PHP,CMS,CodeIgniter,網(wǎng)站開發(fā)Abstract The increasing devel

2、opment of the network, so that dynamic website development and management of much attention. Here, the introduced based on the CMS website PHP framework CodeIgniter system development, analysis of the MVC architecture in the use of the advantages of the process, displaying the entire background of t

3、he production process. The CMS with PHP as the main language, the use of MySQL as a database support. To facilitate the development, selection of the CI framework that can simple entry and rapid development. Using the above technology, a small CMS system, which has the main function of the backgroun

4、d: The article management, classification management, static page generation, user management and system management.keywords:PHP,CMS,CodeIgniter,Web Development目 錄 TOC o 1-3 h z u HYPERLINK l _Toc279949539 摘 要 PAGEREF _Toc279949539 h 1 HYPERLINK l _Toc279949540 Abstract PAGEREF _Toc279949540 h 2 HYP

5、ERLINK l _Toc279949541 前 言 PAGEREF _Toc279949541 h 5 HYPERLINK l _Toc279949542 1、技術(shù)概述 PAGEREF _Toc279949542 h 6 HYPERLINK l _Toc279949543 1.1、PHP PAGEREF _Toc279949543 h 6 HYPERLINK l _Toc279949544 1.2、CodeIgniter PAGEREF _Toc279949544 h 6 HYPERLINK l _Toc279949545 1.3、MySQL PAGEREF _Toc279949545 h

6、6 HYPERLINK l _Toc279949546 1.4、JQuery PAGEREF _Toc279949546 h 6 HYPERLINK l _Toc279949547 2、開發(fā)環(huán)境的安裝與配置 PAGEREF _Toc279949547 h 7 HYPERLINK l _Toc279949548 3、系統(tǒng)設(shè)計(jì) PAGEREF _Toc279949548 h 7 HYPERLINK l _Toc279949549 3.1、系統(tǒng)概述 PAGEREF _Toc279949549 h 7 HYPERLINK l _Toc279949550 3.2、功能模塊分析 PAGEREF _Toc2

7、79949550 h 8 HYPERLINK l _Toc279949551 3.3、編碼規(guī)定 PAGEREF _Toc279949551 h 8 HYPERLINK l _Toc279949552 4、數(shù)據(jù)庫設(shè)計(jì) PAGEREF _Toc279949552 h 9 HYPERLINK l _Toc279949553 5、CodeIginter的安裝及配置 PAGEREF _Toc279949553 h 12 HYPERLINK l _Toc279949554 6、后臺(tái)開發(fā) PAGEREF _Toc279949554 h 12 HYPERLINK l _Toc279949555 6.1、搭建后

8、臺(tái)基本功能 PAGEREF _Toc279949555 h 12 HYPERLINK l _Toc279949556 6.2、后臺(tái)界面設(shè)計(jì) PAGEREF _Toc279949556 h 16 HYPERLINK l _Toc279949557 6.3、分類管理 PAGEREF _Toc279949557 h 18 HYPERLINK l _Toc279949558 6.3.1、分類的添加、刪除 PAGEREF _Toc279949558 h 18 HYPERLINK l _Toc279949559 6.3.2、分類屬性編輯(圖6.3.2) PAGEREF _Toc279949559 h 21

9、 HYPERLINK l _Toc279949560 6.4、文章管理 PAGEREF _Toc279949560 h 23 HYPERLINK l _Toc279949561 6.4.1、文章添加、編輯 PAGEREF _Toc279949561 h 23 HYPERLINK l _Toc279949562 6.4.1、文章的刪除 PAGEREF _Toc279949562 h 26 HYPERLINK l _Toc279949563 6.5、用戶管理 PAGEREF _Toc279949563 h 26 HYPERLINK l _Toc279949564 6.6、系統(tǒng)管理 PAGEREF

10、_Toc279949564 h 27 HYPERLINK l _Toc279949565 6.6.1、基本參數(shù) PAGEREF _Toc279949565 h 27 HYPERLINK l _Toc279949566 6.6.2、友情鏈接 PAGEREF _Toc279949566 h 27 HYPERLINK l _Toc279949567 結(jié) 論 PAGEREF _Toc279949567 h 28 HYPERLINK l _Toc279949568 參考文獻(xiàn) PAGEREF _Toc279949568 h 29 HYPERLINK l _Toc279949569 致謝 PAGEREF _

11、Toc279949569 h 30前 言動(dòng)態(tài)網(wǎng)站系統(tǒng)是建立在網(wǎng)絡(luò)基礎(chǔ)設(shè)施之上的Web應(yīng)用系統(tǒng),它由前臺(tái)和后臺(tái)兩部分構(gòu)成,后臺(tái)包括一組應(yīng)用服務(wù)程序、Web服務(wù)器、應(yīng)用服務(wù)器、數(shù)據(jù)庫服務(wù)器等,前臺(tái)是通過瀏覽器展示信息,實(shí)現(xiàn)與用戶交互的一組網(wǎng)頁。合理的體系結(jié)構(gòu)和良好的程序設(shè)計(jì)是實(shí)現(xiàn)網(wǎng)站功能的基礎(chǔ),友好簡潔的交互界面是發(fā)揮網(wǎng)站系統(tǒng)功能優(yōu)勢的條件。傳統(tǒng)靜態(tài)網(wǎng)站建設(shè)中存在的主要問題有:頁面制作風(fēng)格不統(tǒng)一,難以形成獨(dú)立可復(fù)用的模塊,降低了應(yīng)用集成的靈活性和可擴(kuò)展性;內(nèi)容組織繁瑣,管理效率低下,嚴(yán)重影響了更新效率,難以對信息進(jìn)行統(tǒng)一管理;應(yīng)用開發(fā)技術(shù)難度大,網(wǎng)站后臺(tái)開發(fā)與前臺(tái)頁面的開發(fā)都需要開發(fā)人員編寫代碼,

12、代碼編寫量大;網(wǎng)站開發(fā)周期長。為了解決傳統(tǒng)靜態(tài)網(wǎng)站建設(shè)中產(chǎn)生的系列問題,形成了以動(dòng)態(tài)網(wǎng)頁技術(shù)和數(shù)據(jù)庫技術(shù)為基礎(chǔ)的CMS(contentmanagementsystem,內(nèi)容管理系統(tǒng)),它能針對政府和企業(yè)網(wǎng)站建設(shè)需求,專門面向網(wǎng)站內(nèi)容編輯、發(fā)布與管理的應(yīng)用系統(tǒng)。CMS 的優(yōu)勢有:能夠比較靈活的定制欄目,對欄目進(jìn)行分類、增刪改和排序等管理;CMS 表現(xiàn)和內(nèi)容分離,用戶體驗(yàn)與內(nèi)容質(zhì)量的和諧統(tǒng)一,能夠方便地對信息發(fā)布、錄入、修改、刪除;能夠方便的管理網(wǎng)站的圖片、文檔、軟件等一切資源,達(dá)到資源共享;簡化了網(wǎng)站的內(nèi)容供給和內(nèi)容管理的責(zé)任委托,能夠?qū)π畔⒌陌踩院蜋?quán)限進(jìn)行控制,保證信息訪問的安全性和靈活性;

13、能夠有效統(tǒng)一網(wǎng)站風(fēng)格;能在任意地點(diǎn)和時(shí)刻進(jìn)行信息發(fā)布,把動(dòng)態(tài)的內(nèi)容利用靜態(tài)的頁面發(fā)布出去,提高網(wǎng)站的訪問速度;CMS 集成性高,整體高效靈活,擴(kuò)展性和易維護(hù)性好。1、技術(shù)概述本系統(tǒng)采用 CodeIgniter框架(以下簡稱CI) + MySQL數(shù)據(jù)庫開發(fā),CI使用了模型(Model)- 視圖(View)- 控制器(Controllers)的方法(簡稱MVC),這樣可以更好地使表現(xiàn)層和邏輯層分離。這對項(xiàng)目的模板設(shè)計(jì)者來說是非常有用的,它最小化了模板中的程序代碼量。1.1、PHPPHP,是英文超級文本預(yù)處理語言Hypertext Preprocessor的縮寫。PHP 是一種 HTML 內(nèi)嵌式的語

14、言,是一種在服務(wù)器端執(zhí)行的嵌入HTML文檔的 HYPERLINK /view/76320.htm t _blank 腳本語言,語言的風(fēng)格有類似于 HYPERLINK /view/1219.htm t _blank C語言,被廣泛的運(yùn)用。PHP獨(dú)特的語法混合了 C、Java、Perl 以及 PHP 自創(chuàng)新的語法它可以比 CGI 或者 Perl 更快速的執(zhí)行動(dòng)態(tài)網(wǎng)頁。用PHP做出的動(dòng)態(tài)頁面與其他的編程語言相比,PHP是將程序嵌入到HTML文檔中去執(zhí)行,執(zhí)行效率比完全生成HTML標(biāo)記的CGI要高許多;PHP還可以執(zhí)行編譯后代碼,編譯可以達(dá)到加密和優(yōu)化代碼運(yùn)行,使代碼運(yùn)行更快。PHP具有非常強(qiáng)大的功能

15、,所有的CGI的功能PHP都能實(shí)現(xiàn),而且支持幾乎所有流行的數(shù)據(jù)庫以及操作系統(tǒng)。1.2、CodeIgniterCodeIgniter 是一套給 PHP 網(wǎng)站開發(fā)者使用的應(yīng)用程序開發(fā)框架和工具包。她提供一套豐富的標(biāo)準(zhǔn)庫以及簡單的接口和邏輯結(jié)構(gòu),其目的是使開發(fā)人員更快速地進(jìn)行項(xiàng)目開發(fā)。使用 CodeIgniter 可以減少代碼的編寫量,并將你的精力投入到項(xiàng)目的創(chuàng)造性開發(fā)上。1.3、MySQLMySQL是一個(gè)小型關(guān)系型數(shù)據(jù)庫管理系統(tǒng),開發(fā)者為瑞典MySQL AB公司。在2008年1月16號被Sun公司收購。而2009年,SUN又被Oracle收購.對于Mysql的前途,沒有任何人抱樂觀的態(tài)度.目前My

16、SQL被廣泛地應(yīng)用在Internet上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點(diǎn),許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫。1.4、JQueryjQuery由美國人John Resig創(chuàng)建,至今已吸引了來自世界各地的眾多javascript高手加入其team,包括來自德國的Jrn Zaefferer,羅馬尼亞的Stefan Petre等等。jQuery是繼prototype之后又一個(gè)優(yōu)秀的Javascrpt框架。其宗旨是WRITE LESS,DO MORE,寫更少的代碼,做更多的事情。它是輕量級的js庫(壓縮后只有21k) ,這是

17、其它的js庫所不及的,它兼容CSS3,還兼容各種瀏覽器 (IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+)。jQuery是一個(gè)快速的,簡潔的javaScript庫,使用戶能更方便地處理HTML documents、events、實(shí)現(xiàn)動(dòng)畫效果,并且方便地為網(wǎng)站提供AJAX交互。jQuery還有一個(gè)比較大的優(yōu)勢是,它的文檔說明很全,而且各種應(yīng)用也說得很詳細(xì),同時(shí)還有許多成熟的插件可供選擇。jQuery能夠使用戶的html頁保持代碼和html內(nèi)容分離,也就是說,不用再在html里面插入一堆js來調(diào)用命令了,只需定義id即可。2、開發(fā)環(huán)境的安裝與配置在系統(tǒng)中按部就班

18、的配置PHP的運(yùn)行環(huán)境相對比較麻煩,所以我直接選擇了WampServer。wampserver是在windows下將Apache+PHP+Mysql 集成環(huán)境,擁有簡單的圖形和菜單安裝和配置環(huán)境。PHP擴(kuò)展、Apache模塊,開啟/關(guān)閉鼠標(biāo)點(diǎn)點(diǎn)就搞定,再也不用親自去修改配置文件了,WAMP它會(huì)去做。再也不用到處詢問PHP的安裝問題了,wampserver一切都搞定了。我選擇的是WampServer2.0i版本,里面包含的軟件版本分別為:Apache2.2.11、MySQL5.1.36、PHP5.3.0開發(fā)工具我選擇了EasyEclipse for PHP。相比Zend Studio,沒有它那么

19、“龐大”,但是功能缺一點(diǎn)都不少,對于我們一般的開發(fā)者來說足夠了。3、系統(tǒng)設(shè)計(jì)3.1、系統(tǒng)概述CMS是Content Management System的縮寫,意為內(nèi)容管理系統(tǒng),它具有許多基于模板的優(yōu)秀設(shè)計(jì),可以加快網(wǎng)站開發(fā)的速度和減少開發(fā)的成本。CMS的功能并不只限于文本處理,它也可以處理圖片、Flash動(dòng)畫、聲像流、圖像甚至電子郵件檔案。3.2、功能模塊分析內(nèi)容模塊因?yàn)樽龅氖莾?nèi)容管理系統(tǒng),所以這一塊兒也是使用最頻繁的一個(gè)模塊了,我們的文章、圖片、視頻都是從這里添加,功能:文章添加、編輯、刪除等分類模塊設(shè)置網(wǎng)站的分類信息,方便用戶查看各類信息,功能:分類添加、刪除、分類屬性等用戶模塊管理用戶信

20、息,查找用戶的注冊時(shí)間,注冊IP等,功能:普通會(huì)員、管理員的添加、刪除等系統(tǒng)模塊設(shè)置網(wǎng)站基本參數(shù)、上傳路徑、水印文字、友情鏈接等3.3、編碼規(guī)定考慮到編碼不統(tǒng)一照成的各種錯(cuò)誤,所以我選用UTF-8編碼首先設(shè)置EasyEclipse for PHP的默認(rèn)編碼。依次打開WindowsPreferences-General-Workspace,將里面的Text file encoding設(shè)置為UTF-8然后打開WindowsPreferences-General-Content Types,將Text下面的所有文件都設(shè)置成UTF-8這樣,在開發(fā)過程中,就會(huì)減少各種因?yàn)榫幋a不統(tǒng)一,照成的各種問題,網(wǎng)站

21、具體功能模塊如下圖:后臺(tái)管理系統(tǒng)用戶生成常用首頁友情鏈接更新管理基本參數(shù)管理員列表會(huì)員列表更新緩存一鍵更新分類管理文章管理文章添加4、數(shù)據(jù)庫設(shè)計(jì)開發(fā)之前,先設(shè)計(jì)數(shù)據(jù)庫,我們要實(shí)現(xiàn)的功能有:文章管理、分類管理、用戶管理、網(wǎng)站系統(tǒng)信息和友情鏈接管理,首先建立數(shù)據(jù)庫zhjx922,同樣的編碼設(shè)定為UTF-8,建表信息如下:文章表:字段名稱數(shù)據(jù)類型字段大小是否主鍵說明aidint20是自動(dòng)編號IDtitlechar160標(biāo)題sourcechar160來源authorchar30作者keychar200關(guān)鍵字sort_idint8對應(yīng)分類IDcontenttext內(nèi)容countint20點(diǎn)擊量updat

22、eint20更新時(shí)間(記錄時(shí)間戳)分類表字段名稱數(shù)據(jù)類型字段大小是否主鍵說明sidint10是自動(dòng)編號IDfidint10父分類IDsort_namechar50分類名稱sort_orderint8排序sort_datechar20添加時(shí)間sort_typeint2分類類型sort_contributetinyint2是否支持投稿sort_hiddentinyint2是否隱藏欄目sort_competenceint2瀏覽權(quán)限sort_tagchar50分類標(biāo)簽其它表單建表代碼:/*評論表單*/CREATE TABLE dz_comments(id INT(20) NOT NULL AUTO_I

23、NCREMENT,comments_art_id INT(20) NOT NULL,comments_user CHAR(20) NOT NULL,comments_mail CHAR(30) NOT NULL,comments_site CHAR(30) NOT NULL,comments_comments TEXT NOT NULL,comments_date CHAR(20) NOT NULL,PRIMARY KEY (id)ENGINE=InnoDB DEFAULT CHARSET=UTF8 AUTO_INCREMENT=1;/*網(wǎng)站訪問信息表單*/CREATE TABLE dz_co

24、unt(id INT(20) NOT NULL AUTO_INCREMENT,count_date CHAR(20) NOT NULL,count_day INT(20) NOT NULL,PRIMARY KEY (id)ENGINE=InnoDB DEFAULT CHARSET=UTF8 AUTO_INCREMENT=1;/*鏈接表單*/CREATE TABLE dz_links(lid INT(10) NOT NULL AUTO_INCREMENT,links_name CHAR(50) NOT NULL,links_site CHAR(100) NOT NULL,links_date C

25、HAR(20) NOT NULL,PRIMARY KEY (lid)DEFAULT CHARSET=UTF8 AUTO_INCREMENT=1;/*用戶表單*/CREATE TABLE dz_member(mid INT(5) NOT NULL AUTO_INCREMENT,username CHAR(20) NOT NULL,password CHAR(50) NOT NULL,cercode CHAR(50) NOT NULL,email CHAR(32),regip CHAR(15),regdate INT(10),lastloginip INT(10),lastlogintime IN

26、T(10),group_id INT(2),PRIMARY KEY (mid)DEFAULT CHARSET=UTF8 AUTO_INCREMENT=1;21232f297a57a5a743894a0e4a801fc3/*網(wǎng)站參數(shù)表單*/CREATE TABLE dz_sys(sys_name CHAR(50) NOT NULL,sys_value CHAR(200),sys_explain CHAR(50),PRIMARY KEY (sys_name)DEFAULT CHARSET=UTF8;5、CodeIginter的安裝及配置我的網(wǎng)站設(shè)定在E:wampwwwzhjx922目錄下首先下載好

27、CI 1.7.2的壓縮包,只需把里面system文件夾和index.php文件解壓到根目錄下簡單配置一下,打開 app/config/config.php,$configbase_url= http:/localhost/zhjx922/;$configsubclass_prefix = DZ_;然后打開app/config/database.php設(shè)置數(shù)據(jù)庫參數(shù)$dbdefaulthostname = localhost;$dbdefaultusername = root;$dbdefaultpassword = ;$dbdefaultdatabase = zhjx922;$dbdefaul

28、tdbdriver = mysql;$dbdefaultdbprefix = dz_;添加HMVC支持CI是MVC架構(gòu),為了開發(fā)方便,在網(wǎng)上找個(gè)一個(gè)HMVC模塊modular_extensions_5231,將里面的3個(gè)文件(Controller.php、Modules.php、MY_Router.php)解壓以后放到app/library里面。App下新建modules目錄。里面就可以放不同的模塊了。如圖:6、后臺(tái)開發(fā)6.1、搭建后臺(tái)基本功能啟動(dòng)WampServer,然后啟動(dòng)EasyEclipse for PHP為方便后臺(tái)的管理,后臺(tái)所有的程序均繼承app/libraries下DZcms類,

29、該類主要是判斷管理員是否登錄,以保證程序后臺(tái)的安全代碼如下:/DZcms類繼承Controllerclass DZcms extends Controller function DZcms()/構(gòu)造函數(shù)parent:Controller();$this-is_login();/判斷用戶是否登錄/操作提示function msg($msg,$url)$datamsg = $msg;$dataurl = $url;$this-load-view(msg ,$data);/*判斷用戶是否登錄的函數(shù)*這里調(diào)用了CI自帶的兩個(gè)方法fetch_class和fech_method來判 *斷當(dāng)前所在的類和方法

30、*/ function is_login()if($this-session-userdata(login_name) = TRUE)if($this-router-fetch_class() = member & $this-router-fetch_method() = login) redirect(admin); elseif($this-router-fetch_method() != login) redirect(member/login); 為了方便開發(fā),于是擴(kuò)展了一下Loader核心類,在app/libraries下新建文件DZ_Loader.php,關(guān)鍵代碼如下:class

31、 DZ_Loader extends Loader public function Loader() parent:Loader();public function view($view, $vars = array(), $return = FALSE) $varsadminurl = $this-config-item(base_url).APPPATH.admin/;/后臺(tái)文件存放位置$varsbaseurl = $this-config-item(base_url).web/;return Loader:view($view, $vars, $return);/前臺(tái)文件存放位置CI里面

32、有一個(gè)非常好,非常方便的功能-模型(Model),只要按照CI的要求寫出我們自己的模型,可以方便的調(diào)用,我把數(shù)據(jù)庫中各個(gè)表的操作放到了app/models中,根據(jù)表的名字,建立了article_model.php、links_model.php、member_model.php、sort_model.php、sys_model.php,以article_model.php為例:/*首先繼承Model*/class Article_model extends Modelfunction Article_model()parent:Model();$this-dz_db = article;/表的

33、名稱/*獲取文章總數(shù)*/function art_count()$this-db-join(sort, sort.sid = .$this-dz_db.sort_id);$this-db-order_by(aid, desc);$this-db-from($this-dz_db);return $this-db-count_all_results();/運(yùn)用CI的Active Record 類,有效減少程序代碼,增加代碼質(zhì)量function get_art_sort($sid, $limit = 0, $offset = 1)$this-db-join(sort, sort.sid = .$t

34、his-dz_db.sort_id);$this-db-where(sort_id, $sid);$this-db-limit($offset, $limit);$this-db-order_by(update, desc);$query = $this-db-get($this-dz_db);return $query-result_array();6.2、后臺(tái)界面設(shè)計(jì)我把后臺(tái)所需的CSS,JS及IMAGES統(tǒng)一放在app/admin目錄下面接著就是后臺(tái)的入口,app/modules下的admin控制器代碼如下:/后臺(tái)所有類均繼承DZcmsclass Admin extends DZcmsf

35、unction Admin()parent:DZcms();function index()$this-load-view(admin);/加載后臺(tái)視圖后臺(tái)首頁面整個(gè)后臺(tái)使用DIV+CSS布局,及iframe框架,考慮到到適應(yīng)各種瀏覽器,在這里運(yùn)用了相對布局及相關(guān)jQuery插件,布局關(guān)鍵代碼于admin.php中,CSS樣式則寫在admin.css文件中,而一些常用JS寫在admin.js中。后臺(tái)的樣式布置好了,然后就進(jìn)入了我們的功能開發(fā)階段6.3、分類管理上圖:分類界面(6.3.1)上圖:分類屬性(6.3.2)6.3.1、分類的添加、刪除該部分運(yùn)用了AJAX的無刷新技術(shù),快速、明了的添加刪

36、除分類(圖6.3.1)關(guān)鍵JQUERY代碼如下(實(shí)現(xiàn)了無刷新添加分類的功能):/* 添加頂級分類 */$(.add_top).click(function()$(this).parent().parent().before(););/* 添加自分類 */$(.add_son).click(function()var order = new + $(this).parent().prev(td).children(input).attr(name) + ;var name = new + $(this).prev(input).attr(name) + ;$(this).parent().par

37、ent().after(););$(.add_son1).click(function()var order = $(this).parent().prev(td).children(input).attr(name) + ;var name = $(this).prev(input).attr(name) + ;var cc = $(this).prevAll(span).html() + ;$(this).parent().parent().after(+cc+););動(dòng)態(tài)生成HTML之后,我們需要將數(shù)據(jù)提交到數(shù)據(jù)庫中,數(shù)據(jù)分兩類,一類是原有的(數(shù)據(jù)庫讀出來的),一類是新加的,根據(jù)這種情況

38、分成兩類數(shù)據(jù)提交,因?yàn)樵械臄?shù)據(jù)Input標(biāo)簽的name是從數(shù)據(jù)庫讀出來的(賦予其name為name*),而新的卻不是這樣(賦予其name為newname*),根據(jù)這個(gè)的不同,來識(shí)別數(shù)據(jù)是新的還是原有的。關(guān)鍵代碼如下:/* 獲取新添加的分類信息 */$neworder = $this-input-post(neworder);$newname = $this-input-post(newname);/* 更新原有的信息 */$order = $this-input-post(order);$name = $this-input-post(name);然后根據(jù)提交的值做出相應(yīng)的處理,提交或更新到

39、數(shù)據(jù)庫分類信息的刪除過程:先刪除當(dāng)前分類,然后刪除分類下的文章(同時(shí)刪除文章下的附件),之后刪除分類的子類,這樣循環(huán)下去就可以刪除干凈了,關(guān)鍵代碼:function del_sort()$sid = $this-uri-segment(3,0);if($sid != 0)if($this-msort-del_sort($sid) = TRUE)/獲取分類下屬文章$sart = $this-marticle-get_sort_article($sid);foreach($sart as $value)$this-delupload($valueaid);/單獨(dú)定義一個(gè)刪除附件的函數(shù),方便調(diào)用if

40、($this-marticle-del_sort_article($sid) = TRUE)/判斷是否刪除成功function delupload($aid)/附件刪除函數(shù)/刪除文章下的附件(圖片,動(dòng)畫)$paths = $this-msys-get_one_sys(site_uploads);/上傳路徑$upload_path = $pathssys_value;$imgresult = $this-mimages-get_images($aid);/獲取要?jiǎng)h除的對象if($imgresult = TRUE)foreach($imgresult as $value)$file = ./.$u

41、pload_path./.$valuename;/刪除文件位置unlink($file);$this-mimages-del_images($aid);/刪除數(shù)據(jù)庫中的信息6.3.2、分類屬性編輯(圖6.3.2)可以設(shè)置分類是否支持投稿、是否隱藏欄目、分類類型及瀏覽權(quán)限等,關(guān)鍵代碼:function edit_sort()$sid = $this-uri-segment(3,0);/分類ID$newsid = $this-input-post(sid);if($sid != 0)$query = $this-msort-get_one_sort($sid);/獲取分類信息$dataonesor

42、t = $query0;if(isset($_POSTsubmit)/添加、更新分類信息$array = array(sort_type = $this-input-post(type),sort_contribute = $this-input-post(contribute),sort_hidden = $this-input-post(hidden),sort_competence = $this-input-post(competence),sort_tag = $this-input-post(tag);$query = $this-msort-up_sort($array, $ne

43、wsid);else$this-load-view(sort_edit, $data);6.4、文章管理圖:文章列表(6.4.1)圖:文章添加(6.4.2)6.4.1、文章添加、編輯在文章添加這塊兒,文章的添加和編輯屬于同一個(gè)模板,為方便判斷用戶當(dāng)前屬于那種模式,在HTML中,我添加了一個(gè)隱藏域input type=hidden name=edit value= /,如果有值的話,屬于編輯狀態(tài),反之為添加狀態(tài),關(guān)鍵代碼如下:function art_add()$aid = $this-uri-segment(3,0);$datasortlist = $this-msort-get_all();

44、if($aid != 0)/如果獲取到aid,說明屬于編輯模式$query = $this-marticle-get_one($aid);/讀取當(dāng)前要編輯的文章$dataonearticle = $query0;else/防止錯(cuò)誤$dataonearticle = array(aid=,title=,sort_id=,source= ,author=,key=,content=);if(isset($_POSTsubmit)if($_POSTedit != )/更新模式$array = array(title=$this-input-post(title),sort_id=$this-inpu

45、t-post(sort_id),source= $this-input-post(source),author=$this-input-post(author),key=$this-input-post(key),content=$this-input-post(content),update=time();$query = $this-marticle-up_article($_POSTedit, $array);$imagesname = $_POSTimagesname;/獲取媒體信息if(isset($imagesname)/媒體信息加入數(shù)據(jù)庫$newimages = explode(,$imagesname);$n = count($newimages);for($i=0;$i, aid=$_POSTedit, name=$newimages$i, update=time() );$this-mimages-add_images($imgarray);else/添加模式$array = array(aid=,title=$this

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論