zoukankan      html  css  js  c++  java
  • 留言本(ASP+ACCESS)实现

    最近到一家网络公司实习,技术总监叫我用ASP+ACCESS做一个留言本。花了一天半时间终于做好了,东西很粗糙,只实现了基本的留言与回复功能。在这里很大家分享下希望对初学者有帮助

    以下是数据库中的两张基本表的设计

    index.asp

    View Code
    <!--#include file="inc/dbconnection.vbs"-->
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>留言本</title>
    </head>
    <body>
    <table border=1 cellspacing=0 cellpadding=0 align=center width=400 >
    <tr><td align=center height=100 bgcolor=#0000ff style="font-size:30px;line-height:30px">
    <font color=#ffffff face="黑体" >简约不简单-我的留言本 </font>
    </td></tr>

    <tr><td height=20>
    &nbsp;<a href=message.asp>[写留言]</a>&nbsp;&nbsp;<a href=login.asp>[管理员登陆]</a>
    </td></tr>

    <tr><td>
    <%
    set rst=Server.CreateObject("adodb.recordset")
    sql
    ="select * from message order by time desc"
    rst.Open sql,dbconnection,
    1,1
    number
    =rst.recordcount '--获取记录总数
    if number=0 then
    response.write(
    "没有留言!")
    else
    for i=1 to number
    response.write(
    "<tr><td height=80>")
    response.write(rst(
    "name")&"")
    response.write(rst(
    "time"))
    response.write(
    "留言:<br>"&rst("content"))
    if rst("reply_id")<>"" then
    response.write(
    "<br><font color=red>&nbsp;管理员["&rst("reply_id")&"]回复:<br>"&rst("reply_content") )
    end if
    response.write(
    "</td></tr>")
    rst.movenext
    '--指向下一条留言
    next
    end if

    '--关闭数据库连接--
    dbconnection.close
    set dbconnection=nothing
    %
    >
    </td></tr>

    <tr><td height=60 bgcolor=#0000ff align=center>
    <font color=#ffffff>版权所有:Freeze<br>E-mail:zhoujiebin15@qq.com
    </td></tr>
    </table>
    </body>
    </html>

    login.asp

    View Code
    1 <!--#include file="inc/dbconnection.vbs"-->
    2  <%
    3 dim admin_id,admin_password
    4 '获取管理员id与对应密码
    5   admin_id=request.form("admin_id")
    6 if admin_id<>"" Then
    7 id=cint(admin_id) '这个地方我不知道该说什么好,为什么要强制转换类型才能进行字符串拼接
    8   admin_password=request.form("admin_password")
    9 sql="select * from admin where admin_id="&id&" and admin_password='"&admin_password&"'"
    10 set rs=dbconnection.execute(sql)
    11 if rs.eof or rs.bof then
    12 response.write("<script language=javascript>alert('登录用户名或者密码错误,请重新填写!');history.go(-1) </script>")
    13 else
    14 '--通过session记录登陆状态 每次只能有一个管理员在线
    15   session("admin")=id
    16 session.timeout=60
    17 response.write("<script language=javascript>location.href='manage.asp?wid="&id&"';</script>")
    18 end if
    19 end if
    20 '--关闭数据库连接--
    21   dbconnection.close
    22 set dbconnection=nothing
    23 %>
    24  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    25  <html xmlns="http://www.w3.org/1999/xhtml">
    26  <head>
    27 <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    28 <title>管理员登陆</title>
    29 </head>
    30 <body>
    31 <table border=1 cellspacing=0 cellpadding=0
    32 style="border-collapse:collapse" align=center width=400 bordercolor=black height=358>
    33 <tr><td height=100 bgcolor=#ff0000 align=center>
    34 <font style="font-size:30px"color #fffff face="黑体" >简约不简单-我的留言本</font>
    35 </td></tr>
    36 <tr><td height=25>
    37 &nbsp;<a href=index.asp>[首页]</a>
    38 </td><tr>
    39 <tr><td height=178>
    40 <form method="post" action="login.asp">
    41 <table border="1" width="95%" id="table1" cellspacing="0" cellpadding="0"
    42 bordercolor="#808080" style="border-collapse" height=154>
    43 <tr><td colspan=2 height=29><p align="center" >欢迎管理员登陆</td></tr>
    44 <tr><td width="32%"><p align="right">管理员id</td>
    45 <td width="67%"><input type="text" name="admin_id" size="20"></td>
    46 </tr>
    47 <tr><td width="32%">
    48 <p align="right">&nbsp;码</td>
    49 <td width="67%"><input type="password" name="admin_password" size="20"></td>
    50 </tr>
    51 <tr><td width="99%" colspan=2>
    52 <p align="center"><input type="submit" value="登陆" name="B1"></p></td>
    53 </tr>
    54 </table>
    55 </form>
    56 </td></tr>
    57 <tr><td height=58 bgcolor=#ff0000 align=center>
    58 <font color=#ffffff>版权所有:Freeze<br>E-mail:zhoujiebin15@qq.com
    59 </td></tr>
    60 </table>
    61 </body>
    62 </html>

    logout.asp

    View Code
    1 <%
    2 session.Abandon() '抛弃所有session变量
    3 response.write("<script language=javascript>location.href='index.asp';</script>")
    4 %>
    5 <%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
    6 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    7 <html xmlns="http://www.w3.org/1999/xhtml">
    8 <head>
    9 <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    10 <title>注销</title>
    11 </head>
    12
    13 <body>
    14 </body>
    15 </html>

    manage.asp

    View Code
    1 <!--#include file="inc/session_check.vbs"-->
    2 <!--#include file="inc/dbconnection.vbs"-->
    3 <html xmlns="http://www.w3.org/1999/xhtml">
    4 <head>
    5 <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    6 <title>留言管理</title>
    7 </head>
    8 <body>
    9 <table border=1 cellspacing=0 cellpadding=0
    10 style="border-collapse:collapse" align=center width=400 bordercolor=black height=382>
    11 <tr><td height=100 bgcolor=#00ff00 align=center
    12 style="font-size:30px;line-height:30px">
    13 <font color=#ffffff face="黑体">简约不简单-我的留言本 </font></td>
    14 </tr>
    15 <tr><td height=25>
    16 <a href=logout.asp>[注销登陆]</a>
    17 </td></tr>
    18 <tr><td >
    19 <%
    20 set rst=Server.CreateObject("adodb.recordset")
    21 sql="select * from message order by time desc"
    22 rst.Open sql,dbconnection,1,1
    23 number=rst.recordcount
    24 if number=0 then
    25 response.write("没有留言!")
    26 else
    27 for i=1 to number
    28 response.write("<tr><td height=60>")
    29 response.write(rst("name")&"")
    30 response.write(rst("time"))
    31 response.write("留言:&nbsp;&nbsp;&nbsp;&nbsp;")
    32 if rst("reply_id")<>"" then
    33 else
    34 response.write("<a href=reply.asp?wid="&wid&"&note_id="&rst("note_id")&">[回复]</a>")
    35 end if
    36 response.write("<br>"&rst("content"))
    37 response.write("</td></tr>")
    38
    39 rst.movenext
    40 next
    41 end if
    42
    43 '--关闭数据库连接--
    44 dbconnection.close
    45 set dbconnection=nothing
    46 %>
    47 </td></tr>
    48 <tr><td height=60 bgcolor=#00ff00 align=center>
    49 <font color=#ffffff>版权所有:Freeze <br>E-mail:zhoujiebin15@qq.com
    50 </td></tr>
    51 </table>
    52 </body>
    53 </html>

    message.asp

    View Code
    1 <!--#include file="inc/dbconnection.vbs"-->
    2 <%
    3 dim name,content,time
    4 '获取留言信息
    5 name=trim(request.form("name"))
    6 content=trim(request.form("content"))
    7 if name<>"" and content<>"" then
    8 time=now() '--获取系统时间
    9 sql="insert into message([name],[content],[time]) values('"&name&"','"&content&"','"&time&"')"
    10 dbconnection.execute(sql)
    11 '--关闭数据库连接
    12 dbconnection.close
    13 set dbconnection=nothing
    14 response.write "<script>alert('留言提交成功!');window.location.href='index.asp';</script>"
    15 end if
    16 %>
    17
    18 <html xmlns="http://www.w3.org/1999/xhtml">
    19 <head>
    20 <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    21 <title>写留言</title>
    22 </head>
    23 <body>
    24 <table border=1 cellspacing=0 cellpadding=0
    25 style="border-collapse" align=center width=400 bordercolor=black >
    26 <tr><td align=center height=100 bgcolor=#0000ff>
    27 <font style="font-size:30px" color=#ffffff face="黑体">简约不简单-我的留言本 </font>
    28 </td></tr>
    29 <tr><td height=25 >&nbsp;<a href=index.asp>[首页]</a>
    30 </td></tr>
    31 <tr><td height=200>
    32 <form method="post" action="message.asp">
    33
    34 <table border="1" width="95%" id="table1" cellspacing="0" cellpadding="0" bordercolor="#808080"
    35 style="border-collapse:collapse" height="265">
    36 <tr><td colspan="2" height="29"><p align="center">欢迎您填写留言 </td></tr>
    37 <tr><td width="32%" ><p align="right">昵称 </td>
    38 <td width="67%"><input type="text" name="name" size="20"></td>
    39 </tr>
    40 <tr><td width="32%"><p align="right">留言内容</p></td>
    41 <td width="67%"><textarea rows="10" name="content" cols="31"></textarea></td>
    42 </tr>
    43 <tr><td width="99%" colspan="2"><p align="center" >
    44 <input type="submit" value="提交" name="B1"></p></td></tr>
    45 </table>
    46 </form>
    47 </td></tr>
    48 <tr><td height=80 bgcolor=#0000ff align=center >
    49 <font color=#FFFFFF >版权所有:Freeze<br>E-mail:zhoujiebin15@qq.com
    50 </td></tr>
    51 </table>
    52
    53 </body>
    54 </html>

    reply.asp

    View Code
    1 <!--#include file="inc/session_check.vbs"-->
    2 <!--#include file="inc/dbconnection.vbs"-->
    3 <%
    4 '--获取FORM与GET数据
    5 reply_content=request.form("reply")
    6 note_id=int(request.QueryString("note_id"))
    7 if reply_content<>"" then
    8 sql="update message set reply_id="&wid&",reply_content='"&reply_content&"' where note_id="&note_id
    9 'response.write(sql)
    10 dbconnection.execute(sql)
    11 response.write "<script>alert('回复留言成功!');window.location.href='manage.asp?wid="&wid&"';</script>"
    12 end if
    13 '--关闭数据库连接
    14 dbconnection.close
    15 set dbconnection=nothing
    16 %>
    17 <%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
    18 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    19 <html xmlns="http://www.w3.org/1999/xhtml">
    20 <head>
    21 <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    22 <title>回复</title>
    23 </head>
    24
    25 <body>
    26 <table border=1 cellspacing=0 cellpadding=0
    27 style="border-collapse:collapse" align=center width=400 bordercolor=black >
    28 <tr><td height=100 bgcolor=#ffff00 align=center>
    29 <font style="font-size:30px" color=#ffffff face="黑体">简约不简单-我的留言本</font>
    30 </td></tr>
    31 <tr><td height=25>
    32 <% response.Write("<a href=manage.asp?wid="&wid&">[管理留言]</a>") %>
    33 </td></tr>
    34 <tr><td height=150>
    35 <% response.Write("<form method=post action=reply.asp?wid="&wid&"&note_id="&note_id&">") %>
    36 <table border=1 width="95%" id="table1" cellspacing="0" cellpadding=0 bordercolor="#808080"
    37 style="border-collapse:collapse" height=154>
    38 <tr><td colspan=2 height=29>
    39 <p align="center">管理员回复留言</td>
    40 </tr>
    41 <tr><td width="32%">
    42 <p align="left">请输入回复</td>
    43 <td width="67%"><textarea rows=7 name="reply" cols="33" ></textarea></td>
    44 </tr>
    45 <tr><td width="99%" colspan="2">
    46 <p align="center"><input type="submit" value="确认" name="B1"></p>
    47 </td></tr>
    48 </table>
    49 </form>
    50 </td></tr>
    51 <tr><td height=58 bgcolor=#ffff00 align=center>
    52 <font color=#ffffff>版权所有:Freeze<br>E-mail:zhoujiebin15@qq.com
    53 </td></tr>
    54 </table>
    55 </body>
    56 </html>

    dbconnection.vbs

    View Code
    1 <%
    2 '--建立数据库连接--
    3 set dbconnection=Server.CreateObject("adodb.connection")
    4 'dbconnection.Open "driver={Microsoft Access Driver (*.mdb)};dbq="&Server.MapPath("note.mdb")
    5 dbconnection.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("note.mdb")
    6 If Err Then
    7 err.Clear
    8 Set conn = Nothing
    9 Response.Write "数据库连接出错!"
    10 Response.End
    11 End If
    12 %>

    session_check.vbs

    View Code
    1 <%
    2 '--登陆检验脚本--
    3 wid=request.querystring("wid")
    4 if cint(session("admin"))<>cint(wid) then
    5 response.write("<script language=javascript>alert('请重新登陆,再管理!');location.href='login.asp';</script>")
    6 end if
    7 %>

    最后不得不说下自己在制作过程中碰到的问题,由于自己以前学过C、java、php、mysql这次是头一次用asp和access,在一些问题上浪费了本不该浪费的时间

    1 asp中注释符号用的是单引号' 脚本用<%与%>包括起来

    2 asp中的循环控制语句if,while,case等语法变动较大

    3 字符串拼接用&符号

    4 access中插入语句"insert into message([name],[content],[time]) values....不要忘了中括号

    5 asp连接数据库感觉真烦,远没有php来的方便

    6 记得把浏览器中的错误报告开起来

    7 自己机子有点残废不能装IIS服务器,上网找了个小旋风AspWeb服务器2005,还不错

    8 asp中form与get数据用request对象进行获取

    9 asp中执行sql语句有两种方式一个是execute还有一个是open方式,我被搞得稀里糊涂的

  • 相关阅读:
    解决 WordPress 后台加载非常缓慢/打不开问题
    PHP 数组函数 内部指针
    date picker with jquery
    PHP is_file() 函数
    redis 应用场景-转载
    mvc 伪静态 *html IIS 部署 404 错误
    记录7: office 2016 Mac不能使用的解决过程
    send_keys results in Expected 【object Undefined】undefined to be a string解决方法:更新selenium+geckodriver+firefox
    记录1-更换mac pro内存,硬盘及恢复系统
    记录2-在mac上安装ubuntu 16.04 LTS
  • 原文地址:https://www.cnblogs.com/2010Freeze/p/2056783.html
Copyright © 2011-2022 走看看