王龍軍
(成都工業(yè)學(xué)院 圖書與檔案信息中心,成都 611730)
PHP和Oracle技術(shù)在圖書館新聞管理系統(tǒng)中的應(yīng)用
王龍軍*
(成都工業(yè)學(xué)院 圖書與檔案信息中心,成都 611730)
針對(duì)目前高校圖書館新聞管理系統(tǒng)開發(fā)成本高、集成化程度低、互動(dòng)性不夠等問(wèn)題,采用PHP和Oracle數(shù)據(jù)庫(kù)技術(shù),設(shè)計(jì)并實(shí)現(xiàn)了一套圖書館新聞管理系統(tǒng)。該系統(tǒng)前臺(tái)實(shí)現(xiàn)了新聞信息顯示、搜索功能,系統(tǒng)后臺(tái)實(shí)現(xiàn)了用戶登錄、添加新聞信息、修改新聞信息以及刪除信息等功能。
PHP;Oracle數(shù)據(jù)庫(kù);新聞管理系統(tǒng);圖書館
隨著互聯(lián)網(wǎng)技術(shù)和Web技術(shù)的迅速發(fā)展,高校圖書館信息化建設(shè)取得了較大的進(jìn)展。圖書館新聞管理系統(tǒng)作為高校圖書館信息化建設(shè)和圖書館網(wǎng)站建設(shè)的重要組成部分,已成為讀者最常點(diǎn)擊的區(qū)塊[1]。目前大多數(shù)圖書館新聞管理系統(tǒng)采用的開發(fā)語(yǔ)言是ASP(Active Server Page,動(dòng)態(tài)服務(wù)器頁(yè)面)、ASP.NET、JSP(Java Server Pages,java服務(wù)器頁(yè)面),數(shù)據(jù)庫(kù)一般采用SQL Server數(shù)據(jù)庫(kù),主要存在的問(wèn)題有:1)開發(fā)平臺(tái)技術(shù)成本高。采用ASP、ASP.NET需要IIS(Internet Information Server)平臺(tái)和Visual Studio開發(fā)軟件,這些均需要購(gòu)買。2)系統(tǒng)的集成化程度和效率較低。目前高校圖書館系統(tǒng)的新聞采編、發(fā)布、維護(hù)等環(huán)節(jié)均采用人工處理的方式,不能做到所有環(huán)節(jié)高度集成,存在處理新聞信息時(shí)速度低、出錯(cuò)率高、重復(fù)性多等問(wèn)題,因而導(dǎo)致效率低下。3)系統(tǒng)功能不夠完善,缺乏與讀者的互動(dòng)。新聞管理系統(tǒng)不僅是讓讀者瀏覽新聞,更需要讀者的參與。
針對(duì)以上問(wèn)題,本文將免費(fèi)的PHP(Hypertext Preprocessor,超文本預(yù)處理器)語(yǔ)言[2-3]和Oracle數(shù)據(jù)庫(kù)技術(shù)[4-6]應(yīng)用于圖書館新聞管理系統(tǒng),使其功能更加全面,效率更高。
1.1 系統(tǒng)功能結(jié)構(gòu)
本系統(tǒng)在功能上主要分為前臺(tái)顯示模塊和后臺(tái)功能管理模塊,如圖1所示。其中,前臺(tái)顯示模塊包括新聞顯示模塊、新聞搜索模塊;后臺(tái)管理模塊包括用戶管理模塊、新聞信息管理模塊。
圖1 系統(tǒng)功能結(jié)構(gòu)
前臺(tái)顯示模塊中的新聞顯示模塊主要分為列表顯示新聞模塊和詳細(xì)顯示新聞模塊。列表顯示新聞模塊主要顯示新聞的關(guān)鍵信息,如新聞標(biāo)題、日期等信息;詳細(xì)顯示新聞模塊主要顯示某一條具體新聞的詳細(xì)信息,主要顯示新聞的標(biāo)題、日期、發(fā)表作者、新聞具體內(nèi)容等。
新聞搜索模塊主要是指瀏覽新聞的讀者可以在本模塊中快速搜索到自己需要的新聞信息。
登錄驗(yàn)證模塊主要是驗(yàn)證不同角色的用戶登錄,本系統(tǒng)的用戶主要分為匿名用戶、信息管理員、系統(tǒng)管理員3類。各個(gè)用戶角色根據(jù)自己的權(quán)限進(jìn)行相應(yīng)的操作。匿名用戶不需要登錄,信息管理員和系統(tǒng)管理員需要登錄。信息管理員擁有發(fā)表新聞信息、撤銷新聞信息等功能,其發(fā)表的信息需要系統(tǒng)管理員審核通過(guò)后才能顯示。系統(tǒng)管理員不僅擁有信息管理員的所有權(quán)限,而且擁有審核信息、修改信息、刪除信息、增加用戶、刪除用戶等權(quán)限。
新聞信息管理模塊包括添加新聞、修改新聞、刪除新聞、審核新聞等功能,其模塊業(yè)務(wù)流程如圖2所示。
圖2 新聞信息管理模塊
1.2 數(shù)據(jù)庫(kù)的設(shè)計(jì)與實(shí)現(xiàn)
本系統(tǒng)數(shù)據(jù)庫(kù)的設(shè)計(jì)主要用到新聞表news、用戶表users,如表1、表2所示。
表1 新聞表(news)
表2 用戶表(users)
本系統(tǒng)是基于B/S(Browse/Server)[7-8]結(jié)構(gòu)進(jìn)行開發(fā),服務(wù)器系統(tǒng)平臺(tái)為Windows Server 2003作為,Web服務(wù)器為Apache,開發(fā)語(yǔ)言采用PHP,后臺(tái)數(shù)據(jù)庫(kù)選用Oracle數(shù)據(jù)庫(kù)。
2.1 功能模塊實(shí)現(xiàn)
2.1.1 配置PHP連接Oracle環(huán)境
本文使用的PHP版本為PHP 5.4.9,Oracle選擇Oracle 11g。PHP要訪問(wèn)Oracle 11g,要用到OCI8。這個(gè)擴(kuò)展模塊需要Oracle8的客戶端函數(shù)庫(kù),由于web服務(wù)器和數(shù)據(jù)庫(kù)服務(wù)器在不同的機(jī)器上,因此需要安裝Oracle的客戶端軟件。
配置系統(tǒng)開發(fā)環(huán)境分2步:
第1步:安裝Oracle 11g客戶端,通過(guò)Net Configuration Assistant建立一個(gè)服務(wù),Oracle服務(wù)名為newsorcl。
第2步:配置PHP文件,使PHP能支持對(duì)Oracle數(shù)據(jù)庫(kù)的操作。在php.ini中把;extension=php_oci8.dll前面的注釋符號(hào)“;”去掉,使PHP能夠加載支持Oracle的模塊。并把php_oci8.dll拷貝到Windows 2003 server安裝目錄下的system32子目錄,重新啟動(dòng)服務(wù)器。
2.1.2 PHP連接Oracle數(shù)據(jù)庫(kù)公共文件
在應(yīng)用數(shù)據(jù)庫(kù)前首先要與數(shù)據(jù)庫(kù)建立連接,因此可以將數(shù)據(jù)庫(kù)的連接代碼作為一個(gè)公共文件進(jìn)行存儲(chǔ)[9]。本公共文件為conn.php文件,內(nèi)容如下:
$conn->Connect("orcl","scott","scott");?>
2.1.3 關(guān)鍵功能模塊界面顯示與代碼實(shí)現(xiàn)
登錄驗(yàn)證模塊和新聞顯示模塊的界面顯示和代碼實(shí)現(xiàn)如下,其他功能模塊的實(shí)現(xiàn)不在此討論。
1)登錄驗(yàn)證模塊
圖書館新聞管理系統(tǒng)登錄時(shí),系統(tǒng)將判斷用戶名、密碼、用戶權(quán)限是否正確。實(shí)現(xiàn)界面如圖3所示。
圖3 登錄驗(yàn)證模塊的界面
登錄驗(yàn)證模塊實(shí)現(xiàn)代碼為:
session_start();
include("conn/conn.php");if($_POST[user]!="" && $_POST[pass]!=""){
$user=iconv("utf-8","gb2312",$_POST[user]);
$pass=iconv("utf-8","gb2312",$_POST[pass]);
$sql="select * from users where name=".$user."and password=".$pass."";
$rst = $conn->execute ( $sql ) or die (error:. $conn->errorMsg () );
if(count($rst->GetArray())>0){
}else{
}
}else{
}
?>
2)新聞顯示模塊
新聞顯示模塊主要分為列表顯示新聞模塊和詳細(xì)顯示新聞模塊,這里列舉列表顯示新聞模塊實(shí)現(xiàn)界面,如圖4所示。
圖4 列表顯示新聞模塊的界面
列表顯示新聞模塊實(shí)現(xiàn)代碼如下:
$rst = $conn->execute ( $sqlstr ) or die (error:. $conn->errorMsg () );
while ( ! $rst->EOF ) {
?>
$rst->movenext (); }
$rst->close (); $conn->close ();
?>
本系統(tǒng)使用當(dāng)前流行的PHP語(yǔ)言和Oracle數(shù)據(jù)庫(kù),以高校圖書館的日常新聞發(fā)布與管理為研究目的。其前臺(tái)功能包括瀏覽新聞和搜索新聞等功能,能讓讀者及時(shí)準(zhǔn)確地獲取圖書館的各種信息;后臺(tái)功能包括用戶權(quán)限登錄、新聞發(fā)布與管理等功能。本系統(tǒng)設(shè)計(jì)的功能更加全面,發(fā)布與編輯新聞的效率更高,互動(dòng)性更好,提高了圖書館新聞管理的效率。
[1] 王玥琳.圖書館新聞發(fā)布及管理系統(tǒng)[D].天津:天津師范大學(xué),2011:1-2.
[2] 李欣,劉慧.PHP開發(fā)寶典[M].北京:機(jī)械工業(yè)出版社,2012:4-6.
[3] 潘凱華,劉中華.PHP從入門到精通[M].北京:清華大學(xué)出版社,2010:4-6.
[4] 張恒智.Oralce數(shù)據(jù)庫(kù)的注入攻擊和防御研究[D].上海:上海交通大學(xué),2012:5-9.
[5] 明日科技.Oracle從入門到精通[M].北京: 清華大學(xué)出版社,2012:4-5.
[6] 張朝明.21天學(xué)通Oracle[M].3版.北京: 電子工業(yè)出版社,2014:2-3.
[7] 明日科技,王國(guó)輝,王春斌.Java Web編程寶典[M].北京:人民郵電出版社,2011:5-6.
[8] 張恩民.PHP開發(fā)實(shí)戰(zhàn)權(quán)威指南[M].北京:清華大學(xué)出版社,2012:5-6.
[9] 軟件開發(fā)技術(shù)聯(lián)盟.PHP+MySQL開發(fā)實(shí)戰(zhàn)[M].北京:清華大學(xué)出版社,2013:274-276.
Application of PHP and Oracle Technology in A Library News Management System
WANGLongjun*
(Information Center of Library and Archives, Chengdu Technological University, Chengdu 611730, China)
In view of the situation of the current general news management system for university library with high cost, low integration level ,lack of interactivity, a set of library news management system is designed and implemented based on PHP and Oracle technology in this paper. The system realizes the display and search function for news information, system background implements functions of user login, adding news information, modifing news information and deleting information and other functions. Compared with other systems, the system design is more comprehensive, more efficient in the news of release and editing, the use of more advanced technology and with better interactivity, this system has a certain reference and reference for the development of news management system of university libraries.
PHP(Hypertext Preprocessor); Oracle Database; News Management System; library
10.13542/j.cnki.51-1747/tn.2015.04.008
2015-09-14
王龍軍(1977— ),男(漢族),陜西西安人,講師,碩士,研究方向:計(jì)算機(jī)網(wǎng)絡(luò)、數(shù)據(jù)庫(kù)、網(wǎng)站開發(fā)、軟件開發(fā)、Android移動(dòng)應(yīng)用開發(fā),通信作者郵箱:longlikesoft@163.com。
TP311
A
2095-5383(2015)04-0025-03