国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > Oracle > 正文

帶Oracle數據庫分頁顯示功能的留言簿(3)

2024-08-29 13:32:36
字體:
來源:轉載
供稿:網友
程序分成四部份

  1.. 初始化

  2.. 取數據庫中的數據

  3.. 計算要顯示的頁數

  4.. 送出資料

  這個程序在 biglobe 上有實作,由于這是一間 isp 公司,因此在設定時限定連結或專線的會員才能看到,進入前要輸入帳號及密碼。為了保護留言者的隱私,留言以馬賽克處理。

$webmasteriparray = array(
"10.0.1.30", // 管理人員甲的機器 ip
"10.0.2.28" // 管理人員乙的機器 ip
);

$webmasterip=false;
for ($i=0; $i<count($webmasteriparray); $i++) {
if ($remote_addr == $webmasteriparray[$i]) $webmasterip=true;
}
// 之后初始化 oracle 程序略

  顯示程序和留言程序的初始化部份都差不多,但顯示程序多加了一個功能,設定webmaster 的電腦。將 webmaster 使用的 ip address 加在 $webmasteriparray 陣列變數中,可以在顯示留言時,顯示刪除留言的字串,方便處理不當的留言。

$handle=ora_logon("[email protected]","iam3849") or die;
$cursor=ora_open($handle);
ora_commitoff($handle);

$query="select serial, ref, id, alias, ip, to_char(msgdate,
'yyyy/mm/dd hh:mi:ss'), email, msg from guestbook where flag='1' order by
msgdate desc";
ora_parse($cursor, $query) or die;
ora_exec($cursor);
$i=0;
while(ora_fetch($cursor)) {
$guestbook[$i][0] = ora_getcolumn($cursor,0);
$guestbook[$i][1] = ora_getcolumn($cursor,1);
$guestbook[$i][2] = ora_getcolumn($cursor,2);
$guestbook[$i][3] = ora_getcolumn($cursor,3);
$guestbook[$i][4] = ora_getcolumn($cursor,4);
$guestbook[$i][5] = ora_getcolumn($cursor,5);
$guestbook[$i][6] = ora_getcolumn($cursor,6);
$guestbook[$i][7] = ora_getcolumn($cursor,7);
$i++;
}
ora_close($cursor);
ora_logoff($handle);

  在初始化后,就可以連上 oracle 資料庫,將留言的資料取出放在 $guestbook陣列中。取得資料后,就趕緊將資料庫關閉,再來處理 $guestbook 陣列的資料了。

if ($query_string!="") {
$page = $query_string;
} else {
$page = 0;
}

  這一段程序判斷是要顯示第幾頁,內定值是顯示第一頁。要顯示第三頁的頁面,需要使用 http://xxxxxx/index.php?2 的格式,也就是傳入 $query_string,余類推。之后的數行程序,都是用來處理顯示的頁數及筆數的資料。

$msgnum=20; // 每頁二十筆

  要改變每頁的顯示筆數,可以改 $msgnum 變數。程序的內定值為 20 筆。

for ($i=$start; $i<$end; $i++) {
echo "<p><hr><p>/n";
echo "<p>/n<font color=e06060>".$guestbook[$i][5]."</font>   ";
if ($guestbook[$i][6]!="") echo "<a
href=mailto:".$guestbook[$i][6].">";
echo "<strong>".$guestbook[$i][3]."</strong>";
if ($guestbook[$i][6]!="") echo "</a>";
echo "<br>/n";
if ($webmasterip) echo "<a href=erase.php?".$guestbook[$i][0].">刪除
本篇!!</a> (".$guestbook[$i][2].")   ";
echo "<font size=-1 color=c0c0c0>from:
".$guestbook[$i][4]."</font><p>/n";
$msg=base64_decode($guestbook[$i][7]);
$msg=nl2br($msg);
echo $msg;
echo "<p>/n";
}

  這一段程序就是真正顯示留言資料給使用者看的程序了。利用 for 回圈,將$guestbook 陣列的資料按照設定的頁數取出,顯示給使用者看。值得一提的是,若看留言的機器 ip 為 $webmasteriparray 變數陣列中的一個元素的話,則會在留言者的匿稱后顯示 "刪除本篇!!" 的字串,供管理人員刪除不當留言。

  以下即為刪除留言的程序。

<?php
file://---------------------------
// 留言刪除程序 erase.php
// author: wilson peng
// copyright (c) 2000
file://---------------------------
putenv("oracle_sid=www");
putenv("nls_lang=american_taiwan.zht16big5");
putenv("oracle_home=/home/oracle/product/7.3.2");
putenv("ld_library_path=/home/oracle/product/7.3.2/lib");

putenv("ora_nls=/home/oracle/product/7.3.2/ocommon/nls/admin/data");

putenv("ora_nls32=/home/oracle/product/7.3.2/ocommon/nls/admin/data");

$handle=ora_logon("[email protected]","iam3849") or die;
$cursor=ora_open($handle);
ora_commitoff($handle);

$query="update guestbook set flag='0' where
serial='".$query_string."'";
ora_parse($cursor, $query) or die;
ora_exec($cursor);

ora_close($cursor);
ora_logoff($handle);

header("location: ./index.php");
?>

  其實這個程序很單純,只要打開 oracle 資料庫,將欲刪除的序號那筆資料的flag 欄位設成 0 就可以了,不用將資料真的從資料庫上移除。



收集最實用的網頁特效代碼!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 富川| 安新县| 伊宁市| 昌江| 芒康县| 宝清县| 革吉县| 辽宁省| 镇安县| 庆城县| 武定县| 自治县| 伊金霍洛旗| 柞水县| 汉川市| 盱眙县| 大足县| 成武县| 客服| 驻马店市| 故城县| 太原市| 家居| 吕梁市| 焦作市| 布拖县| 新巴尔虎右旗| 浦东新区| 罗山县| 高淳县| 乌审旗| 浙江省| 苏州市| 左贡县| 昌黎县| 钟祥市| 邵武市| 钟祥市| 宝清县| 镇宁| 伊宁县|