公佈欄
ver
0.4

 

 

 

 

下載程式

 

 

89/05/11
林朝敏

 

公佈欄程式(以PHP+MySQL實作)
說明:

本站所使用的最新消息公佈系統,供線上增刪編修。可以提供多個公佈系統使用(如分教務、訓導各處室自已發佈),也可以指定同時顯示多公佈欄的資料(如同時列出各處室的消息)。

程式設計目標:

以各處室(個人)為單位,各有代號及密碼可以自行做公佈編修(例:news.php3?room=sy1)。
也可以指定同時顯示多個公佈欄訊息,其中以分號做分隔(如:news.php3?room=sy1;sy2;sy3),另可以 "all" 代替配合參數檔中 $allroom = "sy1;sy2" ; 的設定。但無法做編修。建議以news2.php3來使用多公佈欄同時顯示,因為new.php3要求顯示背景、標題無法正確。
另以 news2.php3 可做嵌入網頁中,其中上方標題、頁的底圖、底色不顯示。用法(檔案需設為php3附檔名):
<?php include "http://sy3es.tnc.edu.tw/php/newspost/news2.php3?room=sy1;sy2" ?> 
當多公佈欄顯示時,無法做編修動作。

資料庫說明:(newsbook.mysql)
  建立資料庫
   #mysql -u root -p < newsbook.mysql 

  指定連線帳號、密碼(配合newspost.inf.php3中設定)
  #mysql -u root -p 
  mysql> grant all privileges on webdb.* to  schuser@localhost IDENTIFIED BY 'newspass' ;    

// newsbook.mysql 內容

//資料庫
create database webdb ;

use webdb ;

//佈告欄資料表
create table newsbook (
pid int not null auto_increment ,
pCaption varchar(80) not null ,
pNews text not null ,
pDate date not null ,
clDate date ,
pRoom varchar(10) not null,
pView int,
primary key (pid)
);

//各公佈欄代號、密碼及設定
create table schuser (
pRoom varchar(10) not null,
pPwd char(16) not null ,
pTitle varchar(80),
pWatch bigint ,
pBackg varchar(100) ,
pIcon varchar(100) ,
primary key(pRoom)
);

參數設定檔newspost.inf.php3

<?   //newspost.inf.php3
//預設定的標題
$homeDir = "http://s1.sy3es.tnc.edu.tw/php/" ; 
$mytitle = "新營國民小學最新消息";
//$allroom = "prolin;news1" ;

//資料庫連結帳號密碼
$host = "localhost" ; 
$dbuser = "schuser";
$dbpasswd = "newspass" ;

//公告日數二個月
$postDays = 60 ; 
//每頁十篇
$pps = 10 ; 

//管理員帳號、密碼
$admin = "admin" ;
$adminpwd = "1234" ; 
?>

 

檔案說明:

公告區news.php3
嵌入式公告區news2.php3
管理newsman.php3(配合以下畫面)
開新公佈欄admin.php3
加入一筆新公告addnews.php3
修改公告midify.php3
導回原畫面redir.php3
權限檢查author.php3
在使用上由於我直接連結時已指定有使用者帳號,所以只會檢查密碼是否正確。

使用說明:

  1. 第一次進入news.php3後先進入[開新公佈欄],增加一個公佈欄的代碼。(例如news1)
    管理密碼請看 newspost.inf.php3 中的設定(預設為1234)。
  2. 以後指向 news.php3?room=news1 就是你的公佈欄了。
  3. 各公佈欄的增刪修改,均需以各公佈欄設設定的密碼進入。
  4. 過了公佈期限日期後,會自動不顯示,如未設定公佈期限則表示永遠存在。
  5. news.php3?room=all 會把各公佈欄內的資料一併呈現,如果你有開放給私人用途,你在參數檔中修改
    $allroom = "prolin;news1" ;
    把公佈欄帳號以分號分隔,表示只呈現這幾區的資料。建議也開一個all的公佈欄,才能記錄下瀏灠的人數。
  6. 範例請看最新訊息(news.php3),及本網頁時的首頁(news2.php)。
  7. 本程式開放程式供大家使用,無版權問題。下載原始程式..

更新訊息:

89/5/11
在FreeBSD 中使用好像有些問題,好像出在 "include" 包含入檔案時目錄有些問題,我把使用到include 均加入了 "./",指向現在目錄,也許就可行了吧!或是把 include 改以 require 來替代。
請FreeBSD的使用者試一下吧!(煩來信告知)
89/4/24(ver0.4)
加入分頁顯示功能。檔案nextpre.inc 、 form.inc 取自 http://mark.ee.nctu.edu.tw:8888/ 加入了可以指定where的sql判斷。
newspost.inf.php3參數中加入$pps=10 ;(每頁篇數)
89/4/11
顯示日期改以民國年做輸出。
函數DtoCh($date,"-")
傳入西元日期,及分隔符號
(檔案PLlib.php3中)。
修改多公佈欄同時顯示時,不列出[人氣數]。
嵌入式news2.php3修改無編修的鏈結。
清除逾期公告的動作,移到在新增公告時一併執行。
在參數檔中加入 $host=localhost 的設定,以便有些mysql不在同台機器的修改使用。
89/4/9
加入了news2.php3做嵌入式公佈欄。
可以多公佈欄同時顯示。
89/4/1
放在網路上做測試。