亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        用開源軟件構(gòu)建牽引電氣安全檢查信息交互系統(tǒng)

        2014-12-23 07:14:50陳道琳
        科技視界 2014年14期
        關(guān)鍵詞:郵件辦公部門

        陳道琳

        (武漢鐵路局 襄陽供電段,湖北 襄陽441001)

        0 引言

        當(dāng)前電子辦公在企業(yè)的應(yīng)用熱浪滔天, 在基層站段的管理體制中,引入一種利用信息平臺來提升各級部門間信息交互的效率、節(jié)省辦公成本、加速標(biāo)準(zhǔn)化管理進程的電子辦公機制是一種促進管理的有效嘗試。

        本文對用PHP 和MySQL 兩種開源軟件來實現(xiàn)B/S 結(jié)構(gòu)的信息交互系統(tǒng)展開論述。

        1 需求分析

        1.1 項目概述

        本系統(tǒng)以Web 為載體, 允許單位內(nèi)的各個部門 (通常是管理部門)發(fā)布信息,該信息可公開,也可只由指定的部門查看,還可以由相關(guān)部門對信息作出反饋,實現(xiàn)辦公中的信息交互,便于各種信息的備案。

        1.2 基本功能

        (1)信息錄入。 滿足發(fā)布信息的部門和反饋信息的部門錄入自己的信息。

        (2)存取控制。對訪問者的身份進行識別,為用戶提供與他們的身份相符的存取權(quán)限。

        (3)用戶管理。 對系統(tǒng)中的用戶信息和相關(guān)的權(quán)限進行管理。

        (4)信息管理。 對已錄入的信息(包括反饋信息)進行管理。

        1.3 高級功能

        (1)查找。 允許用戶按標(biāo)題或信息內(nèi)容查找他們想查看的歷史信息。

        (2)指定反饋對象。 允許信息發(fā)布者對他們發(fā)布的信息專門指定應(yīng)該作出反饋的部門。

        (3)郵件通知。當(dāng)指定反饋對象后,可以向指定應(yīng)作出反饋的部門發(fā)出相關(guān)的提示郵件,通知用戶應(yīng)該對某個特定的信息作出反饋了。

        (4)列表滾動顯示尚未反饋完全的信息和尚未反饋信息的部門。

        1.4 工具的選擇

        本系統(tǒng)基于B/S 結(jié)構(gòu),主要的事務(wù)邏輯放在服務(wù)器上實現(xiàn)。 采用PHP 作為開發(fā)語言,用MySQL 作為后臺數(shù)據(jù)庫。

        PHP 是一種服務(wù)器端的HTML 嵌入式腳本語言, 它類似于ASP,然而它的不同之處在于PHP 的開放源碼和跨平臺特性。 PHP 語言類似于C 和Perl,具有強大的數(shù)據(jù)庫操作功能,它還提供了面向?qū)ο筇匦?,為快速開發(fā)和軟件復(fù)用提供了很好的支持。

        MySQL 是一個多用戶、多線程、跨平臺、開源的SQL 數(shù)據(jù)庫服務(wù)器。與其它大型的數(shù)據(jù)庫如Oracle、DB2、SQL Server 相比,MySQL 自有它的不足之處,如規(guī)模小,功能有限,但這絲毫也沒有減少它受歡迎的程度,因為MySQL 的主要目標(biāo)是快速、健壯和易用。

        1.5 運行環(huán)境

        本系統(tǒng)使用PHP 4.4.0 和MySQL 4.0.28 作為開發(fā)工具,理論上可以在任何支持PHP 和MySQL 的平臺上運行, 這里我們在Windows 2000 Server 和Linux 上都做過測試,運行狀態(tài)良好。

        2 系統(tǒng)設(shè)計

        2.1 系統(tǒng)結(jié)構(gòu)設(shè)計

        本系統(tǒng)分為前臺用戶端和后臺管理端。 系統(tǒng)結(jié)構(gòu)圖如圖1 所示。

        圖1

        前臺用戶端主要顯示已發(fā)布的信息列表,能為用戶提供按類型顯示已公布的信息的選擇操作,對尚未反饋完的信息和尚未反饋的部門滾動顯示。 后臺管理端由管理員和信息的發(fā)布者使用,管理員和信息發(fā)布者擁有不同的權(quán)限, 信息發(fā)布者可以發(fā)布并修改自己發(fā)布的信息,還可以指定應(yīng)作出反饋的部門;管理員還另外擁有用戶及部門管理的權(quán)限。

        2.2 數(shù)據(jù)庫設(shè)計

        根據(jù)2.1 中對系統(tǒng)結(jié)構(gòu)的分析可知,整個系統(tǒng)需要存儲的數(shù)據(jù)分為信息(包括反饋信息)數(shù)據(jù)、部門數(shù)據(jù)和用戶數(shù)據(jù)三類。 其ER 圖如圖2。

        圖2

        圖2 中的ER 圖并不是整個系統(tǒng)的完整的實體聯(lián)系模型描述,因為關(guān)于用戶信息的存儲我們會用到php_lib_login (一個PHP 庫) 庫提供的關(guān)于用戶信息,其中部門實體的登錄名會和php_lib_login 庫中的用戶名關(guān)聯(lián),形成外部鍵。

        3 系統(tǒng)實現(xiàn)

        3.1 MySQL 數(shù)據(jù)庫的結(jié)構(gòu)

        根據(jù)2.2 中對數(shù)據(jù)庫邏輯結(jié)構(gòu)的分析,可知在MySQL 數(shù)據(jù)庫中我們需要建立能存儲信息及其反饋信息、指定反饋記錄、部門信息相關(guān)的表項,幾個主要表的結(jié)構(gòu)如下:

        (1)maintext /* 信息記錄*/

        {

        id varbinary, type tinyint, allow tinyint, time varbinary, ipaddr varbinary, plant tinyint, content blob

        }

        (2)slavetext /* 反饋信息記錄*/

        {

        slaveid varbinary, id varbinary, plant tinyint, time varbinary,ipaddr varbinary, content blob

        }

        (3)plants /* 部門信息記錄*/

        {

        sid tinyint, sname varbinary, pid tinyint, pname varbinary,loginuser varbinay, inuse tinyint default 1, priviledge tinyint

        }

        (4)feedback /* 指定反饋的記錄*/

        {

        id varbinary, dept tinyint, plant tinyint, send tinyint default 0,back tinyint default 0

        }

        3.2 編程實現(xiàn)

        本系統(tǒng)程序的幾個主要代碼片斷如下:

        (1)全局變量

        需要被多個PHP 腳本共同使用的變量和常會被修改的變量放在config.php 文件中,幾個主要的變量如下:

        $database /* 數(shù)據(jù)庫名*/

        $title_page /* 每頁顯示的信息標(biāo)題數(shù)*/

        $login_space /* 用戶登錄后的最大的睡眠時間*/

        $lenmax /* 信息內(nèi)容的最大長度*/

        $echomax /* 反饋信息內(nèi)容的最大長度*/

        $mailhost /* 郵件服務(wù)器地址*/

        (2)身份識別

        通過獲取遠程訪問者的IP 地址,將這個IP 地址與系統(tǒng)中允許訪問的IP 地址作比較,便能得知遠程訪問者是否在許可的范圍以內(nèi)。 代碼片斷如下:

        $ips = get_allow_ip( ); //返回允許訪問的IP 地址列表

        $allow = check_ip($_SERVER[‘REMOTE_ADDR’], $ips);

        (3)用戶登錄及部門權(quán)限

        用戶登錄不只是驗證用戶名和口令,還包括對已登錄用戶進行記帳、對用戶登錄失敗的次數(shù)的統(tǒng)計、對特定地址上的用戶的禁止等操作。 PHP 另一個流行的原因是有很多高質(zhì)量的免費的開源的PHP 庫供我們使用,php_lib_login 就是這樣一個包含了登錄用戶的許多特性的PHP 庫。 使用php_lib_login 來實現(xiàn)用戶登錄的驗證非常簡單,只需調(diào)用一個php_lib_login 庫函數(shù)即可:

        lib_login_show_login_form($error);

        當(dāng)用戶登錄后,繼續(xù)調(diào)用php_lib_login 的一個庫函數(shù):

        $user = lib_login_protect_page( );

        即可獲取當(dāng)前已登錄用戶的用戶名并賦值給變量$user, 然后將$user 與plants 表中的loginuser 字段相關(guān)聯(lián)即可獲取當(dāng)前登錄用戶所屬部門的權(quán)限。

        (4)發(fā)布信息與反饋

        實現(xiàn)發(fā)布信息與反饋時要注意兩點:

        ①當(dāng)用戶提交時要對