分享
 
 
 

用ASP设计一个留言薄

王朝asp·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

首先,我们在做留言薄之前,先做出一个输入屏的界面效果,也就是生成留言部输入屏幕的htmL页,然后在这些htmL源代码中加入ASP脚本,我这里得到的htmL代码如下。

*文件名:book.htm

<html>

<head>

<title>留言薄</title>

</head>

<body bgcolor="#BED9FC" background="images/bg.gif">

<p align="center"><img src="images/gbook.gif" alt="GBook.gif (12142 bytes)" WIDTH="374"

HEIGHT="83"> </p>

<p align="center">[<a href="disp.asp">我要看留言板</a>]  [<a href="../index.asp">返回首页</a>]</p>

<form method="POST" action="book.asp">

<input type="hidden" name="task" value="insert"><div align="left"><table>

<tr>

<td align="right">姓名</td>

<td><img src="images/bottom-b.gif" alt="BUTTOM-B.GIF (179 bytes)" WIDTH="16" HEIGHT="16"></td>

<td><input name="name" size="46"></td>

</tr>

<tr>

<td align="right">性别</td>

<td><img src="images/bottom-g.gif" alt="BUTTOM-G.GIF (179 bytes)" WIDTH="16" HEIGHT="16"></td>

<td><input name="sex" size="46"></td>

</tr>

<tr>

<td align="right">来自</td>

<td><img src="images/bottom-b.gif" alt="BUTTOM-B.GIF (179 bytes)" WIDTH="16" HEIGHT="16"></td>

<td><input name="from" size="46"></td>

</tr>

<tr>

<td align="right">主页URL</td>

<td><img src="images/homepage.gif" alt="HomePage.gif (1232 bytes)" WIDTH="30" HEIGHT="30"></td>

<td><input name="url" size="46"></td>

</tr>

<tr>

<td align="right">      

         

     

E-mail</td>

<td><img src="images/email.gif" alt="Email.gif (1197 bytes)" WIDTH="30" HEIGHT="30"></td>

<td><input name="email" size="46"></td>

</tr>

<tr>

<td align="right">留言</td>

<td colspan="2"><textarea wrap="off" name="comments" cols="49" rows="9"></textarea></td>

</tr>

<tr>

<td>     </td>

<td colspan="2"><dl>

<dd align="center">     <input type="submit" value="我写好了">

      <input type="reset" value="重新再写"></dd>

</dl>

</td>

</tr>

</table>

</div>

</form>

<p align="center"></p>

</body>

</html>

您可以按这里看一下这个界面的效果(需要强调一点,这些htmL代码还是完全没有功能的)你可以把它保存为book.htm,然后用FRONTPAGE98来打开它,打开后,可以查看网页中的那个输入FORM的属性,在这个留言薄中。我们使用两个文件来处理,一个是book.asp,另一个是disp.asp,前者是一个输入界面,后者是一个显示界面,用于显示留言信息。

现在说说book.htm,让大家了解一下其中的那个输入FORM的作用,它的action对象是本身,book.asp(等一会儿需要把book.htm改名为book.asp)这个文件,也就是说。表单提交后,由本身来作处理。在这个FORM中,有几个文本输入框,它们分别是name,sex,from,url,email,以及多行文本输入框comments。

现在把book.htm改名为book.asp,往文件中添加ASP代码。如下:(单引号表示ASP的注析,编译器是不处理的。

*book.asp

<% @language="vbscript" %>

<%

‘'判断请求方式,当客户端请求文件时,比如直接输入网址:http://active.silversand.net/index.htm这样,就会产生一个GET的请求信息。而提交表单时(表单的方式设为POST),就会产生POST的请求方式,现在判断book.asp这个文件是用户用浏览器打开页面,还是用户提交数据这个动作,以便进行程序处理。

if Request.ServerVariables("REQUEST_METHOD")="POST" then

‘这里判断出是由用户提交表单而调入入的页面,因此进行登记留言处理。

‘创建一个文件组件的服务器实例

set fsFilesys=CreateObject("Scripting.FileSystemObject")

‘打开文本文件server.mappath("/")是返回服务器发行目录的真实路径,也就是比如说:c:\Inetpub\wwwroot这个路径,然后"/realchat/book/book.txt"就是相对于这个路径基础上的路径。

set myText=fsFilesys.OpenTextFile(Server.MapPath("/")&"/realchat/book/book.txt")

‘把文本文件的所有内容读出,保存在Temp这个变量中。

Temp=myText.Readall

myText.Close

‘是否需要添加内容

if Request("task")="insert" Then

‘取得表单的各项的值

Tname=request.form("name")

Tsex=request.form("sex")

Temail=request.form("email")

turl=request.form("url")

Tfrom=request.form("from")

Tcomments=request.form("comments")

Ttime="#&@"&time

if Len(Tcomments)<2 Then

%>

<font size="4" color="red">

<p align="center">对不起!你还未留言。<a href="book.asp">返回</a></font> <%

else

if Lcase(Left(Turl,7))<>"http://" Then

Turl="http://"&Turl

End if

Turl=Lcase(Turl)

‘重新创建数据文件,把原来的覆盖掉。

set myText=fsFilesys.CreateTextFile(Server.MapPath("/")&"/realchat/book/book.txt")

myText.WriteLine(Tname)

myText.WriteLine(Tsex)

myText.WriteLine(Temail)

myText.WriteLine(Turl)

myText.WriteLine(Tfrom)

myText.WriteLine(Tcomments)

myText.writeLine(Ttime)

myText.WriteLine(date)

myText.writeLine(Temp)

myText.Close

%>

<script Language="JavaScript">

document.write("<h1>恭喜!您的留言已顺利提交,请按<a href='disp.asp'>这里</a>查看")

</script>

<%

end if

‘至此,留言已保存入文件book.txt中

End if

else

‘第一次进入输入屏幕,因此显示htmL文件内容。

%>

<html>

<head>

<title>留言薄</title>

<% colorbg="#BED9FC" %>

</head>

<body bgcolor="<% =colorbg %>" background="images/bg.gif">

<p align="center"><img src="images/gbook.gif" alt="GBook.gif (12142 bytes)" WIDTH="374"

HEIGHT="83"> </p>

<p align="center">[<a href="disp.asp">我要看留言板</a>]  [<a href="../index.asp">返回首页</a>]</p>

<form method="POST" action="book.asp">

<input type="hidden" name="task" value="insert"><div align="left"><table>

<tr>

<td align="right">姓名</td>

<td><img src="images/bottom-b.gif" alt="BUTTOM-B.GIF (179 bytes)" WIDTH="16" HEIGHT="16"></td>

<td><input name="name" size="46"></td>

</tr>

<tr>

<td align="right">性别</td>

<td><img src="images/bottom-g.gif" alt="BUTTOM-G.GIF (179 bytes)" WIDTH="16" HEIGHT="16"></td>

<td><input name="sex" size="46"></td>

</tr>

<tr>

<td align="right">来自</td>

<td><img src="images/bottom-b.gif" alt="BUTTOM-B.GIF (179 bytes)" WIDTH="16" HEIGHT="16"></td>

<td><input name="from" size="46"></td>

</tr>

<tr>

<td align="right">主页URL</td>

<td><img src="images/homepage.gif" alt="HomePage.gif (1232 bytes)" WIDTH="30" HEIGHT="30"></td>

<td><input name="url" size="46"></td>

</tr>

<tr>

<td align="right">      

         

     

E-mail</td>

<td><img src="images/email.gif" alt="Email.gif (1197 bytes)" WIDTH="30" HEIGHT="30"></td>

<td><input name="email" size="46"></td>

</tr>

<tr>

<td align="right">留言</td>

<td colspan="2"><textarea wrap="off" name="comments" cols="49" rows="9"></textarea></td>

</tr>

<tr>

<td>     </td>

<td colspan="2"><dl>

<dd align="center">     <input type="submit" value="我写好了">

      <input type="reset" value="重新再写"></dd>

</dl>

</td>

</tr>

</table>

</div>

</form>

<p align="center"></p>

</body>

</html>

<%

end if

%>

现在到disp.asp这个文件,这个文件主要完成从book.txt中提取文件内容,然后重新生成htmL代码以显示出留言内容。

代码如下:

<% @language="vbscript" %>

<html>

<head>

<title>留言薄</title>

</head>

<body background="images/back.gif">

<p align="center"><img src="images/gbook.gif" alt="gbook.gif (12142 bytes)" WIDTH="374" HEIGHT="83"><%

‘打开数据文件

set fsFilesys=CreateObject("Scripting.FileSystemObject")

set myText=fsFilesys.OpenTextFile(Server.MapPath("/")&"/realchat/book/book.txt")

Tname=myText.ReadLine

%> </p>

<p align="center">[<font color="#00FFFF" size="4"><a href="book.asp">我要写留言</a></font>][<font color="#00FFFF"><a href="../index.asp">返回首页</a></font>]</p>

<table width="600">

<%

do while Tname<>"Line1"

‘逐行读出内容(Line1)是文件结束标志

Tsex=myText.ReadLine

Temail=myText.ReadLine

Turl=myText.ReadLine

Tfrom=myText.ReadLine

%>

<tr>

<td><hr>

</td>

</tr>

<tr>

‘<%=表达式%>是向客户端输出结果

<th colspan="2" align="left">姓   名:<% =Tname %><br>

性   别:<% =Tsex %><br>

E—mail:<a href="mailto:<% =Temail %>"><% =Temail %></a><br>

主页URL:<

[1] [2] 下一页

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有