《2yup漂流祈愿瓶大家一齊做》(四)
'*************************************************************** 以下是全部的副程式部分: [說明]副程式調用是以參數Action為依據,這在第二講中已經很清楚地表達出來了。
請將他們依照第一講的位置各就各位放好,讓頁面必要時候調用。按固定的位置放好,以后只要拿出規劃圖就知道在那個位置,維護起來就容易了。
<% '************************** '***** 副程式部分 ***** '************************** %>
<% ''================祈愿輸入和修改界面1================ Sub Wish() '如果是修改就讀出原數據,并將Action設定成SaveEdit(保存修改) '否則,將Action設定成Save(保存新數據) if UserName <> "" and Action = "EditWish" and id <> "" then name = Rs("name") Sex = Rs("Sex") mail = Rs("mail") purpose = Rs("purpose") live = Rs("live") Content = Rs("Content") My_Age = MyAge(Rs("Birthday")) Action = "SaveEdit" else Action = "Save" end if %> <div align="center"> <center> <table border="0" cellpadding="0" cellspacing="1"> <tr><FORM method='post' action='<%=Request.ServerVariables("URL")%>'> <INPUT TYPE="hidden" NAME="Action" VALUE="<%=Action%>"> <INPUT TYPE="hidden" NAME="id" VALUE="<%=id%>"> <td align="right">名字:</td> <td><input type="text" size="12" maxlength="12" name="name" VALUE="<%=name%>" onclick="javascript:this.value='';"> </td> <td align="right">性別:</td> <td><select name="sex" size="1"> <%If Sex <> "" Then%> <option value="<%=Sex%>" Selected><%=Sex%></option> <%End If%> <option value="">-請選擇-</option> <option value="先生">男 生</option> <option value="小姐">女 生</option> </select></td> </tr> <tr> <td align="right">信箱:</td> <td><input type="text" size="12" name="mail" VALUE="<%=mail%>" onclick="javascript:this.value='';"></td> <td align="right">目的:</td> <td><select name="purpose" size="1"> <%'轉換英文名稱為中文 If purpose <> "" Then Select Case purpose Case "family" Chinese_purpose = "家庭" Case "friend" Chinese_purpose = "朋友" Case "future" Chinese_purpose = "將來" Case "health" Chinese_purpose = "健康" Case "life" Chinese_purpose = "生活" Case "love" Chinese_purpose = "戀愛" Case "study" Chinese_purpose = "學業" Case "wealth" Chinese_purpose = "財富" Case "work" Chinese_purpose = "事業" End Select%> <option value="<%=purpose%>" Selected><%=Chinese_purpose%></option> <%End If%> <option value="">-請選擇-</option> <option value="love">戀 愛</option> <option value="study">學 業</option> <option value="health">健 康</option> <option value="family">家 庭</option> <option value="work">事 業</option> <option value="future">將 來</option> <option value="wealth">財 富</option> <option value="life">生 活</option> <option value="friend">朋 友</option> </select></td> </tr> <tr> <td align="right">年齡:</td> <td><input type="text" size="12" name="Age" VALUE="<%=My_Age%>" onclick="javascript:this.value='';"></td> <td align="right">地區:</td> <td><select name="live"> <%If live <> "" Then%> <option value="<%=live%>" Selected><%=live%></option> <%End If%> <option value="">-請選擇-</option> <option value="北京">北京</option> <option value="上海">上海</option> <option value="天津">天津</option> <option value="重慶">重慶</option> <option value="河北">河北</option> <option value="山西">山西</option> <option value="內蒙古">內蒙古</option> <option value="遼寧">遼寧</option> <option value="吉林">吉林</option> <option value="黑龍江">黑龍江</option> <option value="江蘇">江蘇</option> <option value="浙江">浙江</option> <option value="安徽">安徽</option> <option value="福建">福建</option> <option value="江西">江西</option> <option value="山東">山東</option> <option value="河南">河南</option> <option value="湖北">湖北</option> <option value="湖南">湖南</option> <option value="廣東">廣東</option> <option value="廣西">廣西</option> <option value="海南">海南</option> <option value="四川">四川</option> <option value="貴州">貴州</option> <option value="云南">云南</option> <option value="西藏">西藏</option> <option value="陜西">陜西</option> <option value="甘肅">甘肅</option> <option value="寧夏">寧夏</option> <option value="青海">青海</option> <option value="新疆">新疆</option> <option value="香港">香港</option> <option value="澳門">澳門</option> <option value="臺灣">臺灣</option> <option value="其它">其它</option> </select></td> </tr> <tr> <td colspan="4"> <textarea name="Content" rows="4" cols="41"><%=Content%></textarea> <p ALIGN="center"> <input type="submit" value="許下一個心愿" CLASS="Submit"></td></tr> </form> </center> </div> <%End Sub%>
<%''================保存祈愿副程序2================ Sub SaveWish() '獲取 name = request("name") sex = request("sex") purpose = request("purpose") mail = request("mail") live = request("live") Content = request("Content") Age = request("Age") '驗證 if name = "" then Notice = "\n\n 名字不能為空。" if sex = "" then Notice = Notice &"\n\n 性別不能為空。" if mail = "" then Notice = Notice &"\n\n 信箱不能為空。" if Content = "" then Notice = Notice &"\n\n 內容不能為空。" if live = "" then Notice = Notice &"\n\n 必須選擇地區。" if purpose = "" then Notice = Notice &"\n\n 必須選擇目的。" if Age = "" then Notice = Notice &"\n\n 年齡不能為空。" if isNumeric(birthday) = False then Notice = Notice &" 年齡應是數字。"
'內容不完整提示 If Notice <> "" Then ToUrl = "history.go(-1)" Else '內容完整入庫 if Action = "SaveEdit" then findData = "where id like '"&id&"'" Notice = "許愿瓶已經成功修改了編號為 "&id&" 的祈愿瓶。" ToUrl = "history.go(-2)" end if sql = "select * from wish "&findData&"" Call changetable(conn,sql,rs,3) if Action = "Save" then Notice = "許愿瓶已經成功投放,祝您好運!" ToUrl = "window.location='index.asp'" rs.addnew end if rs("name") = name rs("sex") = sex rs("purpose") = purpose rs("mail") = mail rs("live") = live rs("Content") = Content rs("birthday")= Mybday(Age) rs.update End If '調用提示通用函數顯示提示內容 Call prompt(Notice,ToUrl) End Sub %>
<% '================顯示祈愿副程序3================ Sub ViewWish() '如果已經登入就顯示管理序號、刪除和修改按鈕。 '登入時Action="EditWish" 準備點擊后調用Wish()修改用。 '未登入時Action="detail"這樣調用Wish()時只產生查看效果。 if UserName <> "" then Action = "EditWish" else Action = "detail" end if if Not Rs.bof or Not Rs.eof then Rs.MoveFirst Rs.move(max*(Cpage-1)) end if i = 1 do while not rs.eof '亂碼制造不同的速度 Randomize z = Fix(Rnd*(i+4))+1 '在搜索和登入時候會同速放慢漂流 if keyword <> "" or UserName <> "" then z = rate end if '鼠標暫停特效 thisStop = " onMouseOut='this.start()' onMouseOver='this.stop()'" '顯示流動內容 Response.Write "<BR><marquee scrollamount="&z&" "&thisStop&">" if UserName <> "" then '驗證是否登入 '顯示刪除擊點(登入后才有) Response.Write "<A HREF='?Action=del&id="&rs("id")&"&page" _ &"="&Cpage&"' TITLE='點擊刪除'>" Response.Write "No:"&rs("id")&" X</A>" end if '點擊查看或修改 Response.Write "<a href='?id="&rs("id")&"&Action="&Action&"'" _ &"ONMOUSEOVER=""pop('" _ &"今年" &MyAge(Rs("birthday"))& "歲" _ &"住在" &rs("Live")& "的" _ &""&rs("Name")&rs("Sex")&"" _ &"在這里許了個愿...<BR>" _ &"有" & rs("Hit") &"個人看過<BR>" _ &"(點擊查看)','#ececec')""; ONMOUSEOUT='kill()'>" _ &"<img border='0' src='"&picPath&rs("Purpose")&imgType&"'></a>" Response.Write "</marquee>" if i>=max then exit do i=i+1 rs.movenext loop End Sub %>
<% ''================查看詳情副程序4================ Sub ViewDetail() '非管理員查看時點擊數+1 if UserName = "" then Rs("hit") = Rs("hit")+1 Rs.Update end if '顯示祈愿內容(祈愿詳情) Response.Write "<CENTER>" _ &"<table border=0 cellpadding=0 cellspacing=0 width=95% height=42>" _ &"<tr>" _ &"<td width=21% height=42>" _ &"<p align=center><img src='"&picPath&""&rs("purpose")&imgType&"'" _ &" align=absmiddle></td>" _ &"<td width=79% height=42>" _ & MyAge(rs("birthday")) &"歲來自"&Rs("live")&"的 " _ & "<a href='mailto:"&Rs("mail")&"'>"&Rs("name")&"</a> "&rs("Sex")&"," _ & "于"&Rs("date")&"留下此愿:<BR><BR>"&rs("Content")&"<BR><BR>" _ &"之前共有 "&Rs("hit")-1&" 人看過此愿。<BR><BR>" _ &"<A href='index.asp'>[BACK]</A></td>" _ &"</tr>" _ &"</CENTER>" _ End Sub %>
<% ''================翻頁設定副程序5================ Sub PageSet() ''--------------Set-------------- IF NOT rs.EOF THEN '設定總頁數 numpage=num\max+1 if num mod max=0 then numpage=num\max end if '設定當前頁碼 if Cpage = "" then Cpage = 1 else Cpage = cInt(Cpage) end if END IF '使numpage在空值的情況下顯示成0 if numpage = "" then numpage = 0 end if ''--------------Show------------- '顯示 Response.Write "<select name='SLIGHTBOY'" _ &"onChange='location.href=this.options[this.selectedIndex].value;'>" Response.Write "<option value='index.asp?page="&Cpage&"&k" _ &"="&keyword&"&H="&howfind&"'>PAGE"&Cpage&"</option>" For i = 1 to numpage Response.Write "<option value='index.asp?page="&i&"&k" _ &"="&keyword&"&H="&howfind&"'>PAGE"&i&"</option>" Next Response.Write "</select>" Response.Write " 共 <font color='#808080'><b>"&num&"</b></font> 瓶 | " _ &"分 <font color='#808080'><b>"&numpage&"</b></font> 頁 | " _ &"<font color='#808080'><b>"&max&"</b></font>瓶/頁" End Sub %>
<% ''================祈愿搜索副程序6================ Sub SearchEngine() Response.Write "<FORM method='post' action='"&Request.ServerVariables("URL")&"'>" _ &"<input type='hidden' name='Action' VALUE='Search'>" _ &"<input class='input2' type='text' size='8' name='K' VALUE='"&Keyword&"'> " _ &"<SELECT NAME='H'>" _ &"<OPTION VALUE='name'>名字</OPTION>" _ &"<OPTION VALUE='sex'>性別</OPTION>" _ &"<OPTION VALUE='mail'>電郵</OPTION>" _ &"<OPTION VALUE='live'>省份</OPTION>" _ &"<OPTION VALUE='Content'>內容</OPTION>" _ &"</SELECT> " _ &"<INPUT class='Submit' type='submit' value='搜索'>" End Sub %>
<% ''================最后祈愿列表副程序7================ Sub SearchList() sql="select * from wish order by date desc" changetable conn,sql,rs,1 '設定Action參數 if UserName <> "" then Action = "EditWish" else Action = "detail" end if i = 1 '顯示 Do While Not Rs.eof and i <= ListNum Response.Write "<IMG SRC='http://cfan.net.cn/info/"&PicPath&"List.gif' " _ &"BORDER='0'> <A HREF='index.asp?id="&Rs("id")&"&Action="&Action&"' " _ &" TITLE='點擊后會單獨出現'>" _ &Left(Rs("name"),10)&" "&Rs("sex")&"</A><BR>" '鼠標下移逐條讀出 Rs.MoveNext i = i+1 Loop End Sub %>
<% ''================管理登入界面副程序8================ Sub login1() 'Request.ServerVariables("URL")是取得本頁的路徑,這里可以使用空值如:action="" Response.Write "<FORM method='post' action='"&Request.ServerVariables("URL")&"'>" Response.Write "<input type='hidden' name='Action' VALUE='login2'>" Response.Write "用戶:<input class='input2' type='text' size='12' name='name'><BR>" Response.Write "密碼:<input class='input2' type='Password' size='12' name='PW'><P>" Response.Write "<INPUT class='Submit' type='submit' value='登入管理'>" Response.Write "</FORM>" End Sub %>
<% ''================管理登入驗證副程序9================ Sub login2() '驗證 PW = Request.form("PW") name = Request.form("name") if PW = "" or name = "" then notice = "請輸入完整信息。" ToUrl = "history.go(-1)" elseif PW <> Password or name <> User then notice = "輸入錯誤,無權登入。" ToUrl = "history.go(-1)" else notice = "登 入 成 功 !" ToUrl = "window.location='index.asp'" Session("User") = name end if Call prompt(notice,ToUrl) End Sub %>
<% '================刪除祈愿副程序10================ Sub delWish() Sql = "delete * from [wish] where id = "&id&"" Call changetable(conn,sql,rs,3) Call prompt("您已經成功刪除了編號為 "&id&" 的祈愿瓶!",ToUrl) End Sub %>
<% ''================退出管理副程序11================ Sub logout() Session.Abandon '完整釋放Session UserName = "" End Sub %>
<% ''================說明文副程序12================ Sub explain() '顯示在網頁的左邊單元個內 Response.Write "" _ &"<Li>點擊瓶子可查看。</LI>" _ &"<Li>查看會記錄點數。</LI>" _ &"<Li>流速更具有變化。</LI>" _ &"<Li>較為完整的提示。</LI>" _ &"<Li>可根據條件搜索。</LI>" _ &"<Li>搜索后瓶子同速<BR>緩慢流動便于查看。</LI>" _ &"<Li>可做用戶名密碼<BR>鏈接,及其它設定。</LI>" _ &"<Li>管理登入后,點<BR>擊瓶后編號可刪除,<BR>點擊瓶子可修改。</LI>" _ &"<Li>搜索性別先生=男<BR>性,小姐=女性”。</LI>" _ &"<p ALIGN='center'><b>單 用 戶 版</b>" End Sub %>
<% '================頁頭信息副程序13================ Sub top() Response.Write "<a href='http://"&homepage&"' title='"&MyWeb&"'>" _ &"<img src='http://cfan.net.cn/info/"&picPath&"logo.gif' border='0'></a>" End Sub %>
<% '================版權聲明副程序14================ Sub bottom() CR = "2YUP Wish Board Bottle" _ &Chr(13)&"中文名字:(日式祈愿板或少女祈愿版) 之 祈愿漂流瓶" _ &Chr(13)&"版本編號:HP Wish Ver1.0 " _ &Chr(13)&"版本類型:多用戶正式版 (簡體中文)" _ &Chr(13)&"程序制作:輕輕飄過~ 之 8chinaasp" _ &Chr(13)&"版面設計:SLIGHTBOY 2.0 U 020820" _ &Chr(13)&"CopyRight (c) 2003-2004 "&homepage&".All Rights Reserved" _ &Chr(13)&"請尊重著作者勞動 保留以上版權信息 謝謝合作" _ &Chr(13)&"(請按此處登入管理)" Response.Write "" _ &"<div align='center'><center>" _ &"<table border='0' cellpadding='0' cellspacing='0' width='400'>" _ &"<tr>" _ &"<td align='center'>" _ &"<a href='index.asp?action=login1'>" _ &"<img src=http://cfan.net.cn/info/"&picPath&"cr.gif width=280 height=9 border=0 title='"&CR&"'>" _ &"</a>" _ &"<td align='right'>" _ &"</tr>" _ &"" _ &"</center></div>" End Sub %>
呵呵呵。。。終于完成了,我現在準備給大家提供下載鏈接。
[說明]: 本漂流瓶注重制作流程,對于副程式和函數部分僅提供參考。
1、漂流瓶Ver1.0 演示1[演示密碼和用戶名都是:8chinaasp] 1、漂流瓶Ver1.0 演示2[演示密碼和用戶名都是:8chinaasp]
1、漂流瓶Ver1.0 下載
謝謝老大提供下載空間。
|