第一篇:留言板回復功能實現
第8周留言板回復功能實現
日期:4-20 課程名稱:asp網站制作 課時數:2 教學目標:
知識與技能:通過URL和表單傳值實現回復功能
過程與方法:留言板回復功能操作。
情感與價值觀:通過小實例的制作和完成激發學生的學習興趣 教學重點:留言回復操作 教學難點:傳值的理解
教法:講授、任務驅動,分組教學 教學過程:
一、回顧:用戶權限設置
留言板設置不同用戶權限,對不同的用戶有不同的操作。一般用戶只能發表留言,管理員可以對留言刪除、回復。
用戶權限修改以后,message表中的字段也要做相應改變,添加回復字段“m_reply”
二、留言回復頁面制作
留言顯示頁面的刪除和回復,是對權限為管理員的用戶才能有的操作,所以需要通過判斷權限來控制。
1、在登陸時用session保存權限
2、在顯示頁面判斷權限并且要傳遞m_id參數過去
三、回復功能制作
要實現刪除功能,需要有回復頁面傳遞m_id和回復內容m_reply到后臺,再進一步完成的是訪問數據庫,更新相應的記錄的m_reply字段。所選記錄的依據,就是m_id,由index.asp傳遞到reply.asp再傳遞到mreply index.asp
reply.asp
mreply.asp
四、總結
1、用戶權限設置,數據庫設置
2、session內建對象
3、參數傳遞
4、回復功能實現
第二篇:留言板回復藏頭詩精選
留言板回復藏頭詩精選
朋友們,對于來我空間做客的好友或者非好友,我真誠的說聲謝謝,特別是那些在我空間留下筆跡的朋友,紫陌感謝你們的厚愛和支持。由于這幾天心情實在太糟,飲酒之后,情緒化的刪掉了空間所有的東西,但是我把好友視為上賓,留下了我對好友給我留言的回復,一般都是藏頭詩(姑且這樣認為吧,朋友見笑了),紫陌才情有限,也就是亂涂一通,但是絕對是真誠之意。現在粘貼在這兒,供大家欣賞:
紫陌凌霄:【紫】嫣清雅綻芳容,【陌】 上幽香漫春風,【凌】寒雪消春來早,【霄】 月柳梢夜伴卿。
【紫】夢呢喃春雨凄,【陌】上蝶舞戀花枝,【凌】亂天涯芳草稀,【霄】漢嬌花心已癡。
【紫】心傳香遠,【陌】塵淚未干,【凌】云空有志,【霄】晨山骨寒。
【紫】閣紅樓春意濃,【陌】上花開與卿逢,【凌】空翱翔北歸雁,【霄】漢征程笑春風。
1,芳草: 【芳】草連天迷遠望,【草】色萋萋滿路春。
2,小家碧玉:【小】閣低窗香草蓬,【家】居細柳春意濃。【碧】山終日思無盡,【玉】笙夜送醉芙蓉。
3,心若無塵:【心】 有靈犀一點通,【若 】是有緣醉春風。【無】 端惹得桃花淚,【塵】 埃空留杏葉青。
4,清清小溪:【清】 雅靈香沐春風,【清】 逸飄柔煙雨中。【小】 窗風雨惹人醉,【溪】 聲雨聲分不清。
5,思思心雨:【思】 海正嘆江南景,【思 】緒隨風又一春。【心】 搖只待東窗曉,【雨】 灑輕黃柳條蔭。
6,雨蝶: 【雨】 潤荷池映垂柳,【蝶 】戀春花吐幽香。
7,紫菱兒: 【紫 】氣東來艷春歸,【菱】 歌香脆韻春魂,【兒】 女沐浴春陽美。
8,點亮心燈:【點】 點不離楊柳岸,【亮】 艷紫紅棲春庵。【心】 似春水無漣漪,【燈】 火春夜賞花閑。
9,三十五了:【三 】月桃花雨紛紛,【十】 度有春未逢君。【五】 湖四海空間聚,【了】 解心愿是緣分。
10,水韻幽蘭:【水】 面無塵春更清,【韻 】白嬌紅花更濃。【幽】 庭小院暗香里,【蘭】 質蕙心醉青風。
11,愛的甜蜜:【愛】 賞紫陌春雨遲,【的】 應踏春折柳枝。【甜 】迷蝶醉亂起舞,【蜜】 蜂嗡嗡采花蜜。
12,和風細雨:【和 】風細雨一葉舟,【風 】吹香閣小洞幽。【細 】草河邊北歸雁,【雨 】淋翠柳柳自羞。
13,回眸淚傾城:【回】 眸一笑百媚生,【眸】 明皓齒是俊英,【淚】 自長流花春俏,【傾】 山春景煙雨中,【城 】里城外意相通。
14,碧水青蓮:【碧】 湖春水生紫煙,【水】 繞荷花月滿船。【青】 荷戀水護刺莖,【蓮】 花岸邊柳絲纏。
15,空谷幽蘭:【空 】蒙煙雨戀江南,【谷 】雨未到情雨綿。【幽 】情往事已不見,【蘭】 質蕙心付華年。
16,浪漫: 【浪】 萍春風誠多益,【漫】 舞清歌心自通。
17,孤影凝眸:【孤】 聽春風楊柳曲,【影】 動清池品詩書,【凝】 指輕彈鳳凰淚,【眸】 間盈盈深情足。
18,花開燦爛:【花】 露初開喜春雨,【開】 花僅占春幾許?【燦】 爛春景終有盡,【爛 】漫心境存心渠。
19,雨中回眸:【雨 】細長柳柳翠堤,【中 】有詩意意成詩,【回 】首望春春明媚,【眸 】眼流淚淚化癡。
20,花香滿園:【花 】開紫陌陌上花,【香 】山吐幽醉萬家。【滿 】池春水何人愛?【園】 中桃李人人夸!
21,飛雪: 【飛】香走紅滿天春,【雪】膚花貌醉乾坤。
22,心靜如水:【心】 起漣漪江南春,【靜】 雨心愁淚紛紛,【如 】煙似霧花開處,【水】 剪雙眸點絳唇。
23,已若成風:【已】 消殘雪又是春,【若】 水佳人思夢君,【成】 韻含風枝頭鳥,【風】 住塵香草木深。
24,滄海一束:【滄 】海明月珠有淚,【海 】吹春風人亦醉。【一】 燈熒熒照孤影,【束 】心癡情伊憔悴。
25,依夢:【依】山依水夢錦秀,【夢】美夢甜依相思。
26,夢的衣裳:【夢】 蝶嬉鬧醉春花 【的】 應喜雨潤柳芽。【衣】 遮玉體玲瓏倩,【裳】 裙芙蓉艷桃花。
27,快樂天使:【快】 風一瞬斜雨簾 【樂】 飲閑游醉春庵。【天】 涯蒼翠青青漫,【使】 君無奈何時還?
28,煙雨梨花:【煙】添柳色疑似仙,【雨】過殘紅淚潸潸。【梨】花滿巷玉鶯叫,【花】間蝶舞舞蹁躚。
29,麗影飄香:【麗】質仙姿舞春風,【影】動倒景現聘婷。【漂】泊浮萍紅塵事,【香】靄潛來紫陌情。
30,胭脂一笑醉紅塵:【胭】脂亮艷桃正紅,【脂】粉沁香散春風。【一】曲悲歌唱不盡,【笑】看江湖付平生。【醉】聽清吟笙歌起,【紅】顏戀情玉妝啼,【塵】世相逢切珍惜。
31,真情梅: 【真】情梅花舞袖香,【情】真意切露芬芳,【梅】花滿枝空斷腸。
32,夢荷: 【夢】灑春閣思香荷,【荷】戀夏雨清池夢。
33,緣萍: 【緣】聚空間是姐妹,【萍】水相逢捧誠心。
34,雨后清荷:【雨】擺細柳柳翠堤,【后】夜戀花花開遲。【清】溪流水水柔凈,【菏】蓮飄香香滿池。
35,月兒彎彎:【月】融暗香桃花紅,【兒】女嗅春逾寒冬,【彎】橋流水愁何在?【彎】眉秀發戀春風。
36,深谷幽蘭:【深】夜美女入紫苑,【谷】雨清明雨未軒。【幽】園獨涼春還早,【蘭】花一叢居澗間。
37,惠質雅馨:【惠】心忽贈祝福詞,【質】麗妙語暖人心。【雅】倩娉婷羞月貌,【馨】歲桃花彩蝶飛。
38,楊柳青青:【楊】柳青青柳絮飛,【柳】暗花明春事深。【青】光好去莫惆悵,【青】衫紫衣舞瑤琴。
39,在水一方:【在】 春紫陌百花艷 【水】 邊珠翠香彌漫 【一】 時節氣思賢君 【方】 寸花箋寄嬋娟。
40,幽香雪兒:【幽】音繞耳淚潸潸,【香】語綿綿情難斷,【雪】漫瑤池仙子笑,【兒】郎脈脈奇思篇。
【幽】谷疊翠蕩清音,【香】蕊嬌羞招癡魂,【雪】花輕舞心飄絮,【兒】郎韻詞賦情心。
41,麗水佳人:【麗】花幽香蝶雙歡,【水】護嬌蓮霧似煙,【佳】人秀目凝眸處,【人】后相思淚潸潸。
第三篇:實驗10 Servlet實現用戶留言板
實驗九 Servlet實現用戶留言板
專業班級: 軟件1102學號:201116040225姓名:李云娜
一、實驗目的綜合應用JSP+JavaBean+Servlet+JDBC技術,設計一個留言板,掌握Java Web開發的基本技術和方法。
二、實驗內容
1.設計數據庫,保存用戶及留言信息。
2.應用JSP技術,設計留言板主頁面。
3.應用JavaBean,保存留言信息。
4.應用Servlet技術,設計數據庫存儲控制和信息顯示控制。
5.設計JSP頁面,實現留言信息顯示。
三、實驗方案
四、實驗結果
五、分析和總結
第四篇:留言板
日照職業技術學院畢業設計(論文)
php留言板系統
學生姓名 院 部
電子信息科學與工程學院 專 業 計算機應用技術 指導老師 魯 紅 日 期 2015-05-19
目錄
一 留言板簡介..........................................................................................................................................4 二 留言板設計原理..................................................................................................................................4 三 四 五 PHP技術介紹...................................................................................................................................4 PHP技術優點...................................................................................................................................4 MYSQL介紹......................................................................................................................................6
六 留言板系統的概要設計......................................................................................................................6(一)系統開發環境...............................................................................................................................6(二)php語言選擇...............................................................................................................................6(三)系統功能.......................................................................................................................................7 七 留言板詳細設計..................................................................................................................................7(一)數據庫設計...................................................................................................................................8(二)留言板數據庫連接 寫入和保存..................................................................................................9(三)留言板文件夾中文件的介紹.....................................................................................................15(四)留言板首頁設計.........................................................................................................................15 八 總結....................................................................................................................................................15 九 留言板特色和不足............................................................................................................................15 參考文獻:................................................................................................................................................16
第1頁
留言板系統
摘要:隨著Internet的發展,網站的作用越來越重要,被稱之為繼廣播、報紙、雜志、電視后的
第五種媒體——數字媒體,擁有眾多優勢,所以現在不少企業都有或正在建設自己的網站。而留言板作為網站重要的一個部分,從來就是一個大家交流的平臺!留言板是一種最為簡單的BBS應用,借助留言板,瀏覽者可以張貼留言的方式給站長、版主或其他瀏覽者進行留言和提問。
本文主要介紹留言板系統的設計思路和制作過程,從留言板的重要性開始,介紹我的留言版采用的PHP技術和MYSQL數據庫,進而闡述整個留言板系統的制作過程和具體的設計思路。該留言板較全面地利用PHP技術實現留言板的基本功能:留言、查看、刪除,并增加了一些特色功能。最后介紹自己在設計過程的心得體會。關鍵詞:留言板,PHP,MYSOL數據庫
第2頁
引言
Internet起源于20世紀60年代末、70年代初,當時,美國國防部為了將充斥于軍事基地內各種廠商的電腦主機互連,讓它們可以進行數據交換以便研究工作順利進行,于是成立了ARPA網絡計劃。ARPA計劃嘗試建設1個網絡系統,它可將各種不同廠商的電腦連接起來。隨著這個計劃的成功,各學術單位,研究機構也紛紛與ARPA計劃所建立的ARPANet連接。到了20世紀80年代,Internet這個名詞因勢產生,它代表著這10年來所構建涵蓋全球各地的網絡系統。從1990年起,商業使用的Internet在美國急速地擴大,而Internet也從原來屬于少數人使用的網絡系統轉變為普通百姓也能夠使用的網絡系統。
最初的Internet資源服務都還停留在文本模式,1989年,量子物理實驗室(CERN)下的1個研究小組著手開發1種全新的Internet服務,它可以在網絡上傳送圖片、文本、影像、聲音等多媒體數據。于是由Tim Berners Lee領導的小組開發出了1種主從、分布式的網絡服務系統,這就是www.tmdps.cnpile編譯或鏈接程序,可在服務器端直接執行,這無疑是更加方便了我們的編寫過程。
2、使用編程環境方便簡單。可以使用普通的記事本之類的文本編輯器,即可進行編輯設計,如:Windows的記事本、FrontPage等文本編輯器。也可以用dreamweaver和專業的Microsoft Visual InterDev開發工具。
3、瀏覽網頁方便,交互速度也快。PHP是運行在服務器端,所以我們無須擔心瀏覽器是否支持PHP所使用的編程語言,用戶端只要使用可執行HTML碼的瀏覽器,即可瀏覽Personal home pages所設計的網頁內容。PHP在服務器端運行,當程序執行完畢后,服務器僅將執行的結果返回給客戶瀏覽器,這樣也就減輕了客戶端瀏覽器的負擔,大大提高了交互的速度。
4、提供多種編程語言。PHP能與任何ActiveX scripting語言相容。除了可用VBScript或JScript語言來設計外,還通過plug-in的方式,使用由第三方所提供的其他腳本語言,譬如Perl等。
5、提高代碼的安全性。Personal home pages的程序代碼隱藏,已編碼的腳本在運行時由腳本引擎解碼,因此不需要單獨的應用程序。客戶端上僅可以看到由PHP輸出的動態HTML文件。因而可以避免所寫的源程序被他人剽竊,也提高了程序的安全性。
6、功能強大。編程是面向對象的(Object oriented),并可擴展ActiveX Server組件功能。Personal home page Components(ActiveX服務器組件)具有無限可擴充性。你可以使用任何編程語言來編寫你所需要的Personal Server 組件。可以使用Visual Basic、Java、Visual C++、COBOL等編程語言來編寫你所需要的Personal Server Component。也可以使用第三方組件或自己開發的Personal Server組件。理論上說,可以實現任何功能。
7、訪問數據庫十分方便。可以通過PDO(Personal Data Objects,微軟的一種新的數據訪問模型,是一種可以提供WEB頁面開發者輕松存取Internet的數據庫,并可以在用戶端實現網上立即、即時更新顯示的最新WEB頁面數據庫技術。)非常方便地訪問數據庫。
總之,PHP從字面上說,包含三方面含義: 1.Personal:PHP使用了微軟的Personal技術。Personal(COM)技術是現在Microsoft軟件的重要基礎。它采用封裝對象,程序調用對象的技術,簡化編程,加強程序間合作。PHP本身封裝了一些基本組件和常用組件,有很多公司也開發了很多實用組件。只要你可以在服務器上安裝這些組件,通過訪問組件,你就可以快速、簡易地建立自己的WEB應用。
2.home:PHP運行在服務器端。這樣就不必擔心瀏覽器是否支持PHP所使用的編程語言。PHP的編程語言可以是VBSCRIPT和JSCRIPT。VBSCRIPT是VB的一個簡集,會VB的人可以很方便的快速上手。然而NETscape瀏覽器不支持客戶端的VBSCRIPT,所以最好不要在客戶端使用VBSCRIPT。而在服務器端,則無需考慮瀏覽器的支持問題。NETscape瀏覽器也可以正常顯示PHP頁面。
3.page:PHP返回標準的HTML頁面,可以正常地在常用的瀏覽器中顯示。瀏覽者查看頁面源文件時,看到的是PHP生成的HTML代碼,而不是PHP程序代碼。這樣就可以防止別人抄襲程序。由此可以看出,PHP是在IIS下開發WEB應用的一種簡單、方便的編程工具。在了解了VBSCRIPT的基本語法后,只需要清楚各個組件的用途、屬性、方法,就可以輕松編寫出自己的PHP系統。
第5頁
而我這次所開發的留言本系統,主要是利用PHP技術的簡單和實用的特點,以及PHP使用的廣泛性,而且非常適合于網絡中小型系統開發。
五 MYSQL介紹
MySQL是一個小型關系型數據庫管理系統,開發者為瑞典MySQL AB公司。在2008 年1月16號被Sun公司收購。而2009年,SUN又被Oracle收購.對于Mysql的前途,沒有任何人抱樂觀的態度.目前MySQL被廣泛地應用在Internet上的中小型網站中。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,許多中小型網站為了降低網站總體擁有成本而選擇了MySQL作為網站數據庫。
1.使用C和C++編寫,并使用了多種編譯器進行測試,保證源代碼的可移植性 2.支持AIX、FreeBSD、HP-UX、Linux、Mac OS、Novell Netware、OpenBSD、OS/2 Wrap、Solaris、Windows等多種操作系統
3.為多種編程語言提供了API。這些編程語言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。
4.支持多線程,充分利用CPU資源
5.優化的SQL查詢算法,有效地提高查詢速度
6.既能夠作為一個單獨的應用程序應用在客戶端服務器網絡環境中,也能夠作為一個庫而嵌入到其他的軟件中提供多語言支持,常見的編碼如中文的GB 2312、BIG5,日文的Shift_JIS等都可以用作數據表名和數據列名
7.提供TCP/IP、ODBC和JDBC等多種數據庫連接途徑 8.提供用于管理、檢查、優化數據庫操作的管理工具 9.可以處理擁有上千萬條記錄的大型數據庫
六 留言板系統的概要設計
(一)系統開發環境
基于微軟平臺PHP環境,使用MYSQL數據庫。適用于IE8.0以上版本瀏覽器,Win2000+APACHE 或win7+APACHE以上運行環境。(本人用的win7+APACHE測試)。
(二)php語言選擇
選擇一個好的編程語言十分的重要,當前,面對眾多的編程語言,很多人無從選擇,而本人看到PHP的以上眾多特點,個人認為:
MYSQL后臺數據庫+PHP服務器端程序+客戶端IE瀏覽器,是一個精練實用高效的組合模式。在這種使用模式中,PHP程序無疑是最重要的,是溝通客戶端和后臺數據庫之間的橋梁。在PHP程序中,通過數據庫語言,建立對MYSQL數據庫的連接,是客戶能夠訪問后
第6頁
臺數據庫的前提。
鑒于前面介紹PHP優點的原因,又有上面組合的優勢,本人的留言板使用PHP語言也是十分正確而實用的。
(三)系統功能
該留言板具有的主要功能如下:
1.可以按照發言時間的先后順序,留言板自動排序; 2.留言板的主要欄目組成圖
3.本留言板不需注冊,陌生人即可留言。
4.因為是個人留言板所以具有留言、查看、刪除的功能。
七 留言板詳細設計
有了技術和流程圖以及留言板要實現的功能,接下來就應該進行詳細設計了。數據庫是首當其沖的,接下來就是用戶常接觸的首頁的設計,然后就是該留言板特色功能的設計和實現。
第7頁
(一)數據庫設計
我的數據庫采用的是MY SQL數據庫,采用的原因也已經介紹了。以下就介紹留言板數據庫的組成。
第8頁
(二)留言板數據庫連接 寫入和保存
數據庫鏈接失敗!
”;
exit();} mysql_select_db(“gbook”, $con);mysql_query(“set names 'gb2312'”);date_default_timezone_set(PRC);?>
第9頁
if(isset($_REQUEST['GLOBALS'])OR isset($_FILES['GLOBALS'])){ exit('Request tainting attempted.');} //Session保存路徑
$sessSavePath = LOVE_ROOT.“data/sessions/”;if(is_writeable($sessSavePath)&& is_readable($sessSavePath)){ session_save_path($sessSavePath);} date_default_timezone_set(Singapore);$timestamp = time();require_once LOVE_ROOT.'./data/config.inc.php';require_once LOVE_ROOT.'./data/db.inc.php';require_once LOVE_ROOT.'./include/db_mysql.class.php';require_once LOVE_ROOT.'./include/template.class.php';if(defined('UC_KG')){include_once TM_ROOT.'/uc_client/client.php';} $PHP_SELF = $_SERVER['PHP_SELF'] ? $_SERVER['PHP_SELF'] : $_SERVER['SCRIPT_NAME'];$SCRIPT_FILENAME = str_replace('', '/',($_SERVER['PATH_TRANSLATED'] ? $_SERVER['PATH_TRANSLATED'] : $_SERVER['SCRIPT_FILENAME']));//$homeurl = 'http://'.$_SERVER['HTTP_HOST'].preg_replace(“//+(api|archiver|wap)?/*$/i”, '', substr($PHP_SELF, 0, strrpos($PHP_SELF, '/'))).'/';
//實例化數據庫操作 $db = new dbstuff;$db->connect($dbhost, $dbuser, $dbpw, $dbname, $pconnect);unset($dbhost, $dbuser, $dbpw, $dbname, $pconnect);$db->query(“set names gbk”);if(getenv('HTTP_CLIENT_IP')&& strcasecmp(getenv('HTTP_CLIENT_IP'), 'unknown')){ $onlineip = getenv('HTTP_CLIENT_IP');} elseif(getenv('HTTP_X_FORWARDED_FOR')&& strcasecmp(getenv('HTTP_X_FORWARDED_FOR'), 'unknown')){ $onlineip = getenv('HTTP_X_FORWARDED_FOR');} elseif(getenv('REMOTE_ADDR')&& strcasecmp(getenv('REMOTE_ADDR'), 'unknown')){ $onlineip = getenv('REMOTE_ADDR');} elseif(isset($_SERVER['REMOTE_ADDR'])&& $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], 'unknown')){ $onlineip = $_SERVER['REMOTE_ADDR'];}
preg_match(“/[d.]{7,15}/”, $onlineip, $onlineipmatches);$onlineip = $onlineipmatches[0] ? $onlineipmatches[0] : 'unknown';unset($onlineipmatches);?>
第10頁
var $querynum = 0;var $link;var $histories;
var $dbhost;var $dbuser;var $dbpw;var $dbcharset;var $pconnect;var $tablepre;var $time;
var $goneaway = 5;
function connect($dbhost, $dbuser, $dbpw, $dbname = '', $dbcharset = '', $pconnect = 0, $tablepre='', $time = 0){
$this->dbhost = $dbhost;
$this->dbuser = $dbuser;
$this->dbpw = $dbpw;
$this->dbname = $dbname;
$this->dbcharset = $dbcharset;
$this->pconnect = $pconnect;
$this->tablepre = $tablepre;
$this->time = $time;
if($pconnect){
if(!$this->link = mysql_pconnect($dbhost, $dbuser, $dbpw)){
$this->halt('Can not connect to MySQL server');
}
} else {
if(!$this->link = mysql_connect($dbhost, $dbuser, $dbpw)){
$this->halt('Can not connect to MySQL server');
}
}
if($this->version()> '4.1'){
if($dbcharset){
mysql_query(“SET character_set_connection=”.$dbcharset.“, character_set_results=”.$dbcharset.“, character_set_client=binary”, $this->link);
}
if($this->version()> '5.0.1'){
mysql_query(“SET sql_mode=''”, $this->link);
}
第11頁
} } if($dbname){ mysql_select_db($dbname, $this->link);} function fetch_array($query, $result_type = MYSQL_ASSOC){
return mysql_fetch_array($query, $result_type);}
function result_first($sql){
$query = $this->query($sql);
return $this->result($query, 0);}
function fetch_first($sql){
$query = $this->query($sql);
return $this->fetch_array($query);} function fetch_row($query){
$query = mysql_fetch_row($query);
return $query;} function fetch_fields($query){
return mysql_fetch_field($query);} function fetch_rows($sql){
$result = $this->query($sql);
$arr = array();
while($row = $this->fetch_array($result))
{
$arr[] = $row;
}
$this->free_result($result);
return $arr;} function fetch_one($sql){
$rs = $this->query($sql);
$arr = $this->fetch_array($rs,MYSQL_NUM);$this->free_result($rs);
第12頁
return $arr[0];} function fetch_all($sql, $id = ''){
$arr = array();
$query = $this->query($sql);
while($data = $this->fetch_array($query)){
$id ? $arr[$data[$id]] = $data : $arr[] = $data;
}
return $arr;}
function cache_gc(){
$this->query(“DELETE FROM {$this->tablepre}sqlcaches WHERE expiry<$this->time”);}
function query($sql, $type = '', $cachetime = FALSE){
$func = $type == 'UNBUFFERED' && @function_exists('mysql_unbuffered_query')'mysql_unbuffered_query' : 'mysql_query';
if(!($query = $func($sql, $this->link))&& $type!= 'SILENT'){
$this->halt('MySQL Query Error', $sql);
}
$this->querynum++;
$this->histories[] = $sql;
return $query;}
function affected_rows(){
return mysql_affected_rows($this->link);}
function error(){
return(($this->link)? mysql_error($this->link): mysql_error());}
function errno(){
return intval(($this->link)? mysql_errno($this->link): mysql_errno());}
function result($query, $row){
$query = @mysql_result($query, $row);
return $query;}
function num_rows($query){
第13頁
?
$query = mysql_num_rows($query);
return $query;}
function num_fields($query){
return mysql_num_fields($query);}
function free_result($query){
return mysql_free_result($query);}
function insert_id(){
return($id = mysql_insert_id($this->link))>= 0 ? $id : $this->result($this->query(“SELECT last_insert_id()”), 0);}
function version(){
return mysql_get_server_info($this->link);}
function close(){
return mysql_close($this->link);}
function halt($message = '', $sql = ''){
$error = mysql_error();
$errorno = mysql_errno();
if($errorno == 2006 && $this->goneaway--> 0){
$this->connect($this->dbhost, $this->dbuser, $this->dbpw, $this->dbname, $this->dbcharset, $this->pconnect, $this->tablepre, $this->time);
$this->query($sql);
} else {
$s = 'Error:'.$error.'
';
$s.= 'Errno:'.$errorno.'
';
$s.= 'SQL::'.$sql;
exit($s);
} } } ?>
第14頁
(三)留言板文件夾中文件的介紹
有了數據庫,就應該設計留言板的各個頁面。本留言板由2個文件夾,11個文件組成,簡單介紹各文件的作用:
index.PHP:留言板主頁,主要功能是查看留言,任何人都可以查看留言信息。Fun.php連接數據庫并統計留言條數、計算頁數 Config.php連接配置數據庫。
(四)留言板首頁設計
我留言板的首頁文件index.PHP,功能主要是為訪客留下相關的信息,并進行留言。界面相對簡單,但功能很實用!留言板的基本功能實現具體如下:
圖7.1留言首頁
圖7.2愿望
圖7.3愿望列表
結束語:通過上面的介紹,相信對該留言板整體的構建和各項功能都有了一定的認識,最重要的是學會了留言板的設計以及類似網絡的編程,更對實際操作和具體設計流程有了清晰的認識。該留言板實現了基本功能,并具有自己的特色,例如屏蔽關鍵字和防灌水功能。由于該留言板功能實用,而且界面友好,特別適合于中小型網站使用。對于剛剛接觸網絡編程人員的信心和興趣也會有很大提高。
八 總結
通過本次畢業設計,我學到了很多東西,例如:編程規范,PHP技術等。這次畢業設計是對我大學本科四年所學知識的一次綜合應用,讓我認識到了自己的不足,并不斷的加強改進。在系統不斷的完善改進中,我學到了很多新的知識,也懂得了很多。這使我對自己的未來充滿了信心。
九 留言板特色和不足
特色:任何人都可以留言,任何人都可以看到。無需注冊和登錄,完全開放。不足:管理員功能較弱。
第15頁
參考文獻:
1.《PHP語言,進階和高級應用》 龍浩等編著 清華大學出版社
2.《PHP & MYSQL Web數據庫應用開發指南》 Hugh E.Williams等著 謝君英 歐陽宇譯2003年5月
3.《php程序設計》 Programming PHP 中國電力出版社 2003年7月 4.《phpmysql數據庫開發指南》焦桐順著 電子工業出版社 2001年9月 5.《php4交互網頁數據庫實戰手冊》清華大學出版社 2004年7月
第16頁
第五篇:ASPNET留言板
一、留言板的簡介(一)留言板
留言板是一種電子便簽管理系統,是用 ASP 或其它腳本語言編寫的網絡應用程序。在網絡用戶交流中起很大的作用, 每個人都可以將他的資料和要求等信息保留在頁面上,以供他人觀看。留言板供其他網友給自己留言,或者臨時存放自己的感受。留言操作相對簡單, 在您進入網站后, 進入任何一個留言板貨社區均可以看到有輸入框,輸入后提交即可。留言板提供完備的信息發布功能,在網絡用戶交流中也有很大的作用。而這個留言板僅僅是簡單的留言和管理員對留言板進行設置和進行回復、刪除管理的工具。該留言板簡單但實用, 而且具備了大多數留言板的基本功能。
二、需求分析(一)需求分析
要求系統具有良好的人機界面, 能夠滿足用戶的留言要求, 能夠讓訪客在查看留言內容后,對留言的內容發表自己的意見,管理員能夠實現對留言的回復及刪除操作, 網站最大限度地實現維護和易操作性,網站運行穩定、安全可靠。(二)設計目標
界面設計美觀友好,使用靈活便捷,數據存儲安全可靠,提供留言查看、留言發表、留言回復、留言刪除功能,系統最大限度地實現易維護和易操作性。(三)功能分析
可以按照發言時間的先后順序,留言板自動排序,友好簡潔的管理界面,便于管理員維護留言板,管理員具有回復和刪除留言的權限,具有頁數跳轉功能系統功能模塊圖,三、系統功能設計
在編寫留言系統前,首先需要確定留言系統所需要的一些功能模塊和適用場景,例如留言系統是以何種形式呈現給用戶, 如何對這些留言進行管理等等,這些功能都是需要在開發初級進行設計和規劃的。后臺主頁,后臺主頁面, 后臺管理,后臺留言信息管理,后臺會員。前臺主頁,留言系統網站登陸界面,主頁,留言動態。登陸界面主要有,注冊、登陸、看帖、發帖。(一)主要功能 ,、留言網站用戶登陸界面功能
當用戶訪問 W eb 頁面時需要進行登錄進入留言板網站界面,用戶不進行登錄就不能夠進入系統,也不能夠分享相應的信息。管理員可以配置是否需要進行登錄才能查看留言板網站的內容, 如果管理員設置需要登錄查看,則用戶不登陸就不能夠查看相應的內容。
2、用戶主頁功能
用戶登錄之后就可以看到留言板系統的內容。
3、用戶注冊功能
訪客需要注冊賬戶后才能夠看帖,發帖。
4、用戶看帖功能
用戶登錄留言板網站后,就可以查看到網站內的留言貼。
5、用戶發帖功能
用戶登錄留言板網站后,就可以根據其它留言貼而發帖。
6、管理員登錄功能
為了方便管理留言板系統,管理員進行對留言板管理。
7、回復功能
用戶對留言進行回復(二)數據庫設計 ASP.NET 留言板系統在數據庫上并不是很困難, 但是也不會簡單,其中包含了很多的功能, 這些功能能夠讓用戶在網站上分享自己的見解、意見、聊天等,所以在數據庫的設計上, 其表的數量和表與表之間的關系也原有的模塊或系統更加復雜。
1、數據表的創建
創建表可以通過 SQL Server 進行創建
2、事務表 Admin Member Info
3、公告數據
公告數據可以不使用數據庫進行存儲,在這里可以使用 txt 文檔進行數據存儲, 這樣不僅可以減輕數據庫服務器的壓力, 也能夠增加公告中文本的可擴展性。注意,對于公告的數據直接存儲在 txt 文檔中,當首頁需要調用公告時,可以直接從 txt 文檔中讀取數據進行 HTML 呈現。
(四)設計技術
1、ASP Microsoft Active Server Pages 即我們所稱的 ASP,其實是一套微軟開發的服務器端腳本環境。Active Server Page 是創建動態網頁的一個很好的工具, 它起一種編程語言的作用,可以利用它編寫動態產生 HTML 的程序代碼。而且 ASP 也是服務器端腳本環境,可以用來創建交互式 WEB 頁并建立強大的的 Web 應用程序。因此,只要用戶瀏覽 Web 站點并請求一個 ASP 頁,Web 服務器就可以處理相應的 ASP 代碼,生成 HTML 代碼,然后將它傳遞到用戶瀏覽器并顯示出網頁。ASP 內含于 IIS4.0 和 5.0 之中,通過 ASP 我們可以結合 HTML 網頁、ASP 指令和 ActiveX 元件建立動態、交互且高效的 WEB服務器應用程序。有了 ASP 就不必擔心客戶的瀏覽器是否能運行所編寫的代碼, 因為所有的程序都將在服務器端執行, 包括所有嵌在普通HTML 中的腳本程序。當程序執行完畢后,服務器僅將執行的結果返回給客戶瀏覽器, 這樣也就減輕了客戶端瀏覽器的負擔, 大大提高了交互的速度。
2、SQL SQL 全稱是“結構化查詢語言(Structured Query Language)” ,最早的是 IBM 的圣約瑟研究實驗室為其關系數據庫管理系統 SYSTEM R開發的一種查詢語言,它的前身是 SQUARE 語言。SQL 語言結構簡潔,功能強大,簡單易學,所以自從 IBM 公司 1981 年推出以來,SQL 語言,得到了廣泛的應用。如今無論是像 Oracle ,Sybase, SQL Server這些大型的數據庫管理系統,還是像 Visual Foxporo, PowerBuilder這些微機上常用的數據庫開發系統,都支持 SQL 語言作為查詢語言。
3、IIS IIS 是 Internet Information Server 的縮寫,它是微軟公司主推的服務器,最新的版本是 Windows2003 里面包含的 IIS 6,IIS 與WindowNT Server 完全集成在一起,因而用戶能夠利用 Windows NTServer 和 NTFS,NT File SystemNT 的文件系統,內置的安全特性,建立強大,靈活而安全的 Internet 和 Intranet 站點。IIS 支持 HTTP,Hypertext Transfer Protocol,超文本傳輸協議, ,FTP,Fele Transfer Protocol,文件傳輸協議,以及 SMTP 協議,通過使用 CGI 和 ISAPI,IIS 可以得到高度的擴展。
四、系統界面和代碼實現
1、用戶登錄界面, 代碼如下, u s i n g
S y s t e m.D a t a.S q l C l i e n t;p u b l i c
p a r t i a l
c l a s s
L o g i n
:
S y s t e m.W e b.U I.P a g e { p r o t e c t e d
v o i d
P a g e _ L o a d(o b j e c t
s e n d e r ,E v e n t A r g s
e)
{
} p r o t e c t e d
v o i d
B t n L o g i n _ C l i c k(o b j e c t
s e n d e r ,E v e n t A r g s
e){
i f
(T x t N a m e.T e x t
= =
“ ”
|
T x t P a s s.T e x t
= =
“ ”)
{ L a b e l 1.T e x t
=
“ 必須輸入帳號和密碼,”;r e t u r n;
} e l s e
{ S q l C o n n e c t i o n
c o n n
=
n e w
S q l C o n n e c t i o n(“ D a t a
S o u r c e =.;I n i t i a l C a t a l o g = B B S;I n t e g r a t e d
S e c u r i t y = t r u e ”);c o n n.O p e n();S q l C o m m a n d
C m d
=
n e w
S q l C o m m a n d();
C m d.C o n n e c t i o n
=
c o n n;C m d.C o m m a n d T e x t
=
“ s e l e c t
[ 用戶名]
f r o m
[ m e m b e r ]
w h e r e
[ 用戶名] = ' ”
+
T x t N a m e.T e x t +
“ '
a n d
[ 密碼] = ' ”
+
T x t P a s s.T e x t
+
“ ' ”;S q l D a t a R e a d e r
d r
=
C m d.E x e c u t e R e a d e r();i f
(d r.R e a d()){ S e s s i o n [ “ m e m ” ]
=
T x t N a m e.T e x t;
/ / 登錄成功后記下該用戶昵稱,以便后續功能使用
L a b e l 1.T e x t
=
“ 登錄成功,”;T x t N a m e.T e x t
=
“ ”;T x t N a m e.E n a b l e d
=
f a l s e;T x t P a s s.T e x t
=
“ ”;T x t P a s s.E n a b l e d
=
f a l s e;d r.C l o s e();
} e l s e {
L a b e l 1.T e x t
=
“ 昵稱不存在或密碼不對,”;
} c o n n.C l o s e();
}
} p r o t e c t e d
v o i d
L i n k B u t t o n 1 _ C l i c k(o b j e c t
s e n d e r ,E v e n t A r g s
e){
R e s p o n s e.R e d i r e c t(“ g u a n l i.a s p x ”);
} }
2、用戶注冊界面, 代碼如下,u s i n g
S y s t e m.D a t a.S q l C l i e n t;p u b l i c
p a r t i a l
c l a s s
_ D e f a u l t
:
S y s t e m.W e b.U I.P a g e
{
p r o t e c t e d
v o i d
P a g e _ L o a d(o b j e c t
s e n d e r ,E v e n t A r g s
e)
{
} p u b l i c
b o o l
C h e c k I n p u t(){
i f
(T x t N a m e.T e x t
= =
“ ”
|
T x t P a s s.T e x t
= =
“ ”
| T x t P a s s C o n f.T e x t
= =
“ ”
|
T x t E m a i l.T e x t
= =
“ ”){ L a b e l 1.T e x t
=
“ 你輸入的信息不正確,請重新輸入,”;T x t N a m e.T e x t
=
“ ”;T x t P a s s.T e x t
=
“ ”;T x t P a s s C o n f.T e x t
=
“ ”;T x t E m a i l.T e x t
=
“ ”;r e t u r n
f a l s e;
} e l s e {
i f
(T x t P a s s.T e x t
!=
T x t P a s s C o n f.T e x t){
L a b e l 1.T e x t
=
“ 你兩次輸入的密碼不同,請重新輸入,”;T x t N a m e.T e x t
=
“ ”;T x t P a s s.T e x t
=
“ ”;T x t P a s s C o n f.T e x t
=
“ ”;T x t E m a i l.T e x t
=
“ ”;r e t u r n
f a l s e;
}
} r e t u r n
t r u e;
} p r o t e c t e d
v o i d
B t n R e g _ C l i c k(o b j e c t
s e n d e r ,E v e n t A r g s
e){ i f
(C h e c k I n p u t()){ S q l C o n n e c t i o n
c o n n
=
n e w
S q l C o n n e c t i o n(“ D a t a
S o u r c e =.;I n i t i a l
C a t a l o g = B B S;I n t e g r a t e d S e c u r i t y = t r u e ”);c o n n.O p e n();/ / 檢查用戶是否已存在
S q l C o m m a n d
C m d
=
n e w
S q l C o m m a n d();C m d.C o n n e c t i o n
=
c o n n;C m d.C o m m a n d T e x t
=
“ s e l e c t
[ 用戶名]
f r o m
m e m b e r ”;S q l D a t a R e a d e r
d r
=
C m d.E x e c u t e R e a d e r();w h i l e
(d r.R e a d()){ i f
(d r.G e t S t r i n g(0)
= =
T x t N a m e.T e x t){
L a b e l 1.T e x t
=
T x t N a m e.T e x t
+
“ 已經存在,請你選擇另外的昵稱,”;c o n n.C l o s e();r e t u r n;
}
} c o n n.C l o s e();s t r i n g
S q l S t r;S q l S t r
=
“ I n s e r t
i n t o
m e m b e r([ 用戶名] , [ 密碼] , [ 電子郵件])
v a l u e s(' ”
+
T x t N a m e.T e x t +
“ ' , ' ”
+
T x t P a s s.T e x t
+
“ ' , ' ”
+
T x t E m a i l.T e x t
+
“ ')”;C m d.C o m m a n d T e x t
=
S q l S t r;c o n n.O p e n();C m d.E x e c u t e N o n Q u e r y();c o n n.C l o s e();L a b e l 1.T e x t
=
“ 恭喜你,你已注冊成功,”;}
}
p r o t e c t e d
v o i d
B t n C a n c e l _ C l i c k(o b j e c t
s e n d e r ,E v e n t A r g s
e){
R e s p o n s e.W r i t e(“ < s c r i p t
l a n g u a g e = j a v a s c r i p t > a l e r t(' 用戶已取消注冊,');< / s c r i p t > ”);
} p r o t e c t e d
v o i d
L i n k B u t t o n 1 _ C l i c k(o b j e c t
s e n d e r ,E v e n t A r g s
e){
R e s p o n s e.R e d i r e c t(“ g u a n l i.a s p x ”);
} } 3、看帖界面, 代碼如下, u s i n g
S y s t e m.D a t a.S q l C l i e n t;p u b l i c
p a r t i a l
c l a s s
S h o w
:
S y s t e m.W e b.U I.P a g e {
p r o t e c t e d
v o i d
P a g e _ L o a d(o b j e c t
s e n d e r ,E v e n t A r g s
e){ S q l C o n n e c t i o n
c o n n
=
n e w
S q l C o n n e c t i o n(“ D a t a
S o u r c e =.;I n i t i a l
C a t a l o g = B B S;I n t e g r a t e d S e c u r i t y = t r u e ”);S q l D a t a A d a p t e r
a d a p t e r
=
n e w
S q l D a t a A d a p t e r(“ s e l e c t
*
f r o m
[ I n f o ] ” ,c o n n);D a t a S e t
d s
=
n e w
D a t a S e t();a d a p t e r.F i l l(d s ,“ I n f o T a b l e ”);G r i d V i e w 1.D a t a S o u r c e
=
d s.T a b l e s [ 0 ].D e f a u l t V i e w;G r i d V i e w 1.D a t a B i n d();} p r o t e c t e d
v o i d
G r i d V i e w 1 _ P a g e I n d e x C h a n g i n g(o b j e c t
s e n d e r ,G r i d V i e w P a g e E v e n t A r g s
e){
G r i d V i e w 1.P a g e I n d e x
=
e.N e w P a g e I n d e x;G r i d V i e w 1.D a t a B i n d();} p r o t e c t e d
v o i d
B u t t o n 1 _ C l i c k(o b j e c t
s e n d e r ,E v e n t A r g s
e){ R e s p o n s e.R e d i r e c t
(“ L o g i n.a s p x ”);} p r o t e c t e d
v o i d
L i n k B u t t o n 1 _ C l i c k(o b j e c t
s e n d e r ,E v e n t A r g s
e){
R e s p o n s e.R e d i r e c t(“ g u a n l i.a s p x ”);} }
4、發帖界面, 代碼如下, u s i n g
S y s t e m.D a t a.S q l C l i e n t;p u b l i c
p a r t i a l
c l a s s
S e n d
:
S y s t e m.W e b.U I.P a g e {
p r o t e c t e d
v o i d
P a g e _ L o a d(o b j e c t
s e n d e r ,E v e n t A r g s
e){
} p r o t e c t e d
v o i d
B t n S e n d _ C l i c k(o b j e c t
s e n d e r ,E v e n t A r g s
e){
L b l C a u t i o n.T e x t
=
“ 你必須輸入主題和內容,”;R e t u r n;
} S q l C o n n e c t i o n
c o n n
=
n e w
S q l C o n n e c t i o n(“ D a t a
S o u r c e =.;I n i t i a l
C a t a l o g = B B S;I n t e g r a t e d S e c u r i t y = t r u e ”);s t r i n g
S q l S t r;S q l S t r
=
“ I n s e r t
i n t o
i n f o(主題, 張貼者昵稱, 內容, 張貼時間, 回復編號)
”;S q l S t r
=
S q l S t r
+
“
v a l u e s(' ”
+
T x t S u b j e c t.T e x t
+
“ ' , ' ”
+
S e s s i o n [ “ m e m ” ]
+
“ ' , ' ”
+ T x t C o n t e n t.T e x t;S q l S t r
=
S q l S t r
+
“ ' , ' ”
+
D a t e T i m e.N o w
+
“ ' , ' 0 ')”;S q l C o m m a n d
C m d
=
n e w
S q l C o m m a n d(S q l S t r ,c o n n);c o n n.O p e n();C m d.E x e c u t e N o n Q u e r y();c o n n.C l o s e();L b l C a u t i o n.T e x t
=
“ 已成功發帖,”;T x t S u b j e c t.T e x t
=
“ ”;T x t C o n t e n t.T e x t
=
“ ”;
} p r o t e c t e d
v o i d
M e n u 1 _ L o a d(o b j e c t
s e n d e r ,E v e n t A r g s
e)
{
} p r o t e c t e d
v o i d
L i n k B u t t o n 1 _ C l i c k(o b j e c t
s e n d e r ,E v e n t A r g s
e){
R e s p o n s e.R e d i r e c t(“ g u a n l i.a s p x ”);
} } 5、管理員登錄界面, 代碼如下, u s i n g
S y s t e m.D a t a.S q l C l i e n t;p u b l i c
p a r t i a l
c l a s s
g u a n l i
:
S y s t e m.W e b.U I.P a g e {
p r o t e c t e d
v o i d
P a g e _ L o a d(o b j e c t
s e n d e r ,E v e n t A r g s
e){
} p r o t e c t e d
v o i d
B u t t o n 1 _ C l i c k(o b j e c t
s e n d e r ,E v e n t A r g s
e){
i f
(T e x t B o x 1.T e x t
= =
“ ”
|
T e x t B o x 2.T e x t
= =
“ ”){
L a b e l 1.T e x t
=
“ 必須輸入帳號和密碼,”;r e t u r n;
} e l s e { S q l C o n n e c t i o n
c o n n
=
n e w
S q l C o n n e c t i o n(“ D a t a
S o u r c e =.;I n i t i a l C a t a l o g = B B S;I n t e g r a t e d
S e c u r i t y = t r u e ”);c o n n.O p e n();
S q l C o m m a n d
C m d
=
n e w
S q l C o m m a n d();C m d.C o n n e c t i o n
=
c o n n;C m d.C o m m a n d T e x t
=
“ s e l e c t
[ 用戶名]
f r o m
[ a d m i n ]
w h e r e
[ 用戶名] = ' ”
+
T e x t B o x 1.T e x t +
“ '
a n d
[ 密碼] = ' ”
+
T e x t B o x 2.T e x t
+
“ ' ”;S q l D a t a R e a d e r
d r
=
C m d.E x e c u t e R e a d e r();i f
(d r.R e a d()){
S e s s i o n [ “ m e m ” ]
=
T e x t B o x 1.T e x t;
/ / 登錄成功后記下該用戶昵稱,以便后續功能使用
L a b e l 1.T e x t
=
“ 登錄成功,”;T e x t B o x 1.T e x t
=
“ ”;T e x t B o x 1.E n a b l e d
=
f a l s e;T e x t B o x 2.T e x t
=
“ ”;T e x t B o x 2.E n a b l e d
=
f a l s e;d r.C l o s e();R e s p o n s e.R e d i r e c t(“ S h o w A r t i c l e.a s p x ”);}
e l s e {
L a b e l 1.T e x t
=
“ 昵稱不存在或密碼不對,”;
} c o n n.C l o s e();
}
} p r o t e c t e d
v o i d
B u t t o n 2 _ C l i c k(o b j e c t
s e n d e r ,E v e n t A r g s
e){
R e s p o n s e.W r i t e(“ < s c r i p t
l a n g u a g e = j a v a s c r i p t > a l e r t(' 用戶已取消注冊,');< / s c r i p t > ”);
} p r o t e c t e d
v o i d
L i n k B u t t o n 1 _ C l i c k(o b j e c t
s e n d e r ,E v e n t A r g s
e){
R e s p o n s e.R e d i r e c t(“ g u a n l i.a s p x ”);} p r o t e c t e d
v o i d
B u t t o n 3 _ C l i c k(o b j e c t
s e n d e r ,E v e n t A r g s
e){
R e s p o n s e.R e d i r e c t(“ L o g i n.a s p x ”);} }
6、顯示發帖信息界面, 代碼如下,u s i n g
S y s t e m.D a t a.S q l C l i e n t;p u b l i c
p a r t i a l
c l a s s
S h o w A l l
:
S y s t e m.W e b.U I.P a g e {
p r o t e c t e d
v o i d
P a g e _ L o a d(o b j e c t
s e n d e r ,E v e n t A r g s
e){ S q l C o n n e c t i o n
c o n n
=
n e w
S q l C o n n e c t i o n(“ D a t a
S o u r c e =.;I n i t i a l
C a t a l o g = B B S;I n t e g r a t e d S e c u r i t y = t r u e ”);S q l C o m m a n d
C m d
=
n e w
S q l C o m m a n d(“ s e l e c t
*
f r o m
[ I n f o ]
w h e r e
I D = ”
+ R e q u e s t.Q u e r y S t r i n g [ “ i d ” ] ,c o n n);c o n n.O p e n();S q l D a t a R e a d e r
o b j = C m d.E x e c u t e R e a d e r();w h i l e
(o b j.R e a d()){
L b l N a m e.T e x t
=
o b j.G e t V a l u e(2).T o S t r i n g();L b l D a t e.T e x t
=
o b j.G e t V a l u e(4).T o S t r i n g();T x t S u b j e c t.T e x t
=
o b j.G e t V a l u e(1).T o S t r i n g();T x t C o n t e n t.T e x t
=
o b j.G e t V a l u e(3).T o S t r i n g();
} o b j.C l o s e();c o n n.C l o s e();s t r i n g
s q l
=
“ S e l e c t
*
F r o m
[ i n f o ]
w h e r e
回復編號= ' ”
+
R e q u e s t.Q u e r y S t r i n g [ “ i d ” ]
+
“ ' ”;S q l D a t a A d a p t e r
a d a p t e r
=
n e w
S q l D a t a A d a p t e r(s q l ,c o n n);D a t a S e t
d s
=
n e w
D a t a S e t();a d a p t e r.F i l l(d s ,“ R e p l y ”);D a t a L i s t 1.D a t a S o u r c e
=
d s.T a b l e s [ 0 ].D e f a u l t V i e w;D a t a L i s t 1.D a t a B i n d();
} p r o t e c t e d
v o i d
L i n k B u t t o n 1 _ C l i c k(o b j e c t
s e n d e r ,E v e n t A r g s
e){
R e s p o n s e.R e d i r e c t(“ g u a n l i.a s p x ”);} }
7、回復界面, 代碼如下, u s i n g
S y s t e m.D a t a.S q l C l i e n t;p u b l i c
p a r t i a l
c l a s s
S h o w A r t i c l e
:
S y s t e m.W e b.U I.P a g e {
p r o t e c t e d
v o i d
P a g e _ L o a d(o b j e c t
s e n d e r ,E v e n t A r g s
e){
s t r i n g
s t r
=
“ 1 2 3 4 ”;S q l C o n n e c t i o n
c o n n
=
n e w
S q l C o n n e c t i o n(“ D a t a
S o u r c e =.;I n i t i a l
C a t a l o g = B B S;I n t e g r a t e d S e c u r i t y = t r u e ”);S q l C o m m a n d
C m d
=
n e w
S q l C o m m a n d(“ s e l e c t
*
f r o m
[ i n f o ]
w h e r e
[ 主題] = ”
+
s t r ,c o n n);c o n n.O p e n();S q l D a t a R e a d e r
o b j
=
C m d.E x e c u t e R e a d e r();w h i l e
(o b j.R e a d()){
L b l N a m e.T e x t
=
o b j.G e t V a l u e(2).T o S t r i n g();L b l D a t e.T e x t
=
o b j.G e t V a l u e(4).T o S t r i n g();T x t S u b j e c t.T e x t
=
o b j.G e t V a l u e(1).T o S t r i n g();T x t C o n t e n t.T e x t
=
o b j.G e t V a l u e(3).T o S t r i n g();}
c o n n.C l o s e();} p r o t e c t e d
v o i d
B t n R e p l y _ C l i c k(o b j e c t
s e n d e r ,E v e n t A r g s
e){
i f
(T x t R e.T e x t
= =
“ ”){
L b l C a u t i o n.T e x t
=
“ 請輸入回帖內容,”;
} e l s e {
s t r i n g
S q l S t r;S q l S t r
=
“ I n s e r t
i n t o
i n f o([ 主題] , [ 張貼者昵稱] , [ 內容] , [ 張貼時間] , [ 回復編號])
”;S q l S t r
=
S q l S t r
+
“
v a l u e s(' R e : ”
+
T x t S u b j e c t.T e x t +
“ ' , ' ”
+
S e s s i o n [ “ m e m ” ]
+ “ ' , ' ”
+
T x t R e.T e x t;S q l S t r
=
S q l S t r
+
“ ' , ' ”
+
D a t e T i m e.N o w
+
“ ' , ' ”
+
R e q u e s t.Q u e r y S t r i n g [ “ I D ” ]
+
“ ')”;S q l C o n n e c t i o n
c o n n
=
n e w
S q l C o n n e c t i o n(“ D a t a
S o u r c e =.;I n i t i a l C a t a l o g = B B S;I n t e g r a t e d
S e c u r i t y = t r u e ”);S q l C o m m a n d
C m d
=
n e w
S q l C o m m a n d(S q l S t r ,c o n n);c o n n.O p e n();C m d.E x e c u t e N o n Q u e r y();c o n n.C l o s e();L b l C a u t i o n.T e x t
=
“ 已成功回帖,”;} } p r o t e c t e d
v o i d
B t n A l l R e _ C l i c k(o b j e c t
s e n d e r ,E v e n t A r g s
e){
R e s p o n s e.R e d i r e c t(“ S h o w A l l.a s p x ? i d = ”
+
R e q u e s t.Q u e r y S t r i n g [ “ i d ” ]);} p r o t e c t e d
v o i d
B u t t o n 1 _ C l i c k(o b j e c t
s e n d e r ,E v e n t A r g s
e){
R e s p o n s e.R e d i r e c t(“ L o g i n.a s p x ”);
} p r o t e c t e d
v o i d
L i n k B u t t o n 1 _ C l i c k(o b j e c t
s e n d e r ,E v e n t A r g s
e){
R e s p o n s e.R e d i r e c t(“ g u a n l i.a s p x ”);
} }
8、Menu 控件,五、總結
上述就是我們組留言板管理系統的全部設計和開發過程。通過這次實訓設計, 使我們感到高科技、新知識的力量, 讓我們知道我們還有很多知識需要學習,這是我們第一次運用 ASP.NET 做的完整的設計程序, 加之水平有限, 設計中難免有不當之處, 還請老師給予批評、指正。