 减小字体
减小字体 
                    			 增大字体
增大字体
			作者:佚名  来源:本站整理  发布时间:2009-03-16 13:36:29
                 
                                                |  | | To view a live demonstration of this forum, click View Demo. To create this forum on your server, you will need to create a Microsoft Access Database named
 discuss.mdb. You will also need to create a single table in this database named messages that has the
 following fields:
 
 m_id -- An autonumber field
 m_email -- A text field
 m_subject -- A text field
 m_message -- A Memo field
 m_entrydate -- A Date/Time field with default value of NOW()
 m_numReplies -- A Number field with default value of 0
 m_reply -- A Number field with default value of -1
 
 
 
 
 Listing 1.0 - discuss.asp
 
 -----------------------------------
 <html>
 <head><title>Discussion</title></head>
 <frameset rows="30,*">
 <frame frameborder="no" scrolling="no" src="discusslogo.asp" marginheight=2 marginwidth=5>
 <frame name="topframe" src="discussframes.asp">
 </frameset>
 </html>
 -----------------------------------------
 
 
 
 
 
 
 
 
 
 Listing 2.0 - discussframes.asp
 -------------------------------------------------
 <!-- #INCLUDE FILE="discussfuncs.asp" -->
 <%
 page = TRIM( request( "pg" ) )
 addm = TRIM( request( "addm" ) )
 email = TRIM( request( "email" ) )
 subject = TRIM( request( "subject" ) )
 message = TRIM( request( "message" ) )
 
 IF addm <> "" THEN
 IF email = "" THEN
 showError "You did not enter your email address", "post.asp"
 END IF
 IF subject = "" THEN
 showError "You did not enter a subject for your message", "post.asp"
 END IF
 IF message = "" THEN
 showError "You did not enter a message", "post.asp"
 END IF
 IF INSTR( email, "." ) = 0 OR INSTR( email, "@" ) = 0 THEN
 showError "You did not enter a valid email address", "post.asp"
 END IF
 
 
 readyDBCon
 Set RS = Server.CreateObject( "ADODB.Recordset" )
 RS.ActiveConnection = Con
 RS.CursorType = adOpenStatic
 RS.LockType = adLockOptimistic
 RS.Open "SELECT * FROM messages WHERE 1<>1", Con
 RS.AddNew
 RS( "m_email" ) = email
 RS( "m_subject" ) = subject
 RS( "m_message" ) = message
 RS( "m_reply" ) = addm
 RS.Update
 RS.Close
 IF addm <> "-1" THEN
 Con.Execute "UPDATE messages SET m_numreplies = m_numreplies+1 WHERE m_id=" & addm
 END IF
 END IF
 %>
 <html>
 <head><title>frameset</title>
 <frameset rows="300,*">
 <frame marginheight="3" marginwidth="5" frameborder="no" scrolling="yes" src="messagelist.asp?
 pg=<%=page%>">
 <frame name="message" marginwidth="0" marginheight="0" frameborder="no" scrolling="auto"
 src="message.asp?id=<%=addm%>&pg=<%=page%>">
 </frameset>
 </html>
 
 ------------------------------------------------------
 
 
 
 
 
 
 
 Listing 3.0 - discussfuncs.asp
 -------------------------------------------------------
 <%
 dbPath = "d:discuss.mdb"
 messagesApage = 5
 
 ''''''''''
 ' Define Constants
 ''''''''''
 adOpenStatic = 3
 adLockOptimistic = 3
 
 
 ''''''''''''''
 ' Declare Global Variables
 ''''''''''''''
 DIM Con
 
 
 SUB readyDBCon
 IF Con = "" THEN
 Set Con = Server.CreateObject( "adodb.Connection" )
 Con.Open "PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=" & dbPath
 END IF
 END SUB
 
 
 
 FUNCTION showUser( theEmail )
 whereA = INSTR( theEmail, "@" )
 showUser = Server.HTMLEncode( LEFT( theEmail, whereA - 1 ) )
 END FUNCTION
 
 
 
 FUNCTION formatOutput( theText )
 theText = Server.HTMLEncode( theText )
 theText = REPLACE( theText, vbNewline & vbNewline, "<p>" )
 theText = REPLACE( theText, vbNewline, "<br>" )
 formatOutput = theText
 END FUNCTION
 
 
 
 sub showError( errorMessage, backpage )
 %>
 <html>
 <head><title>Problem</title></head>
 <body bgcolor="lightyellow">
 <center>
 <table width="400" border=0 cellpadding=4 cellspacing=0>
 <tr>
 <td>
 <font face="Arial" size="4" color="red"><b>
 There was a problem with the message you entered:</b></font>
 <p><font face="Arial" size="3" color="blue"><b>
 <%=errorMessage%>. Please click the button below to correct this problem</b></font>
 <form method="post" action="<%=backpage%>">
 <%
 for each thing in Request.Form
 %>
 <input name="<%=thing%>" type="hidden" value="<%=Server.HTMLEncode( Request(
 thing ) )%>">
 <%
 next
 %>
 <input type="submit" value="Back">
 </form>
 
 </td>
 </tr>
 </table>
 </body>
 </head>
 <%
 Response.End
 end sub
 %>
 
 
 
 
 
 
 
 
 
 Listing 4.0 - discusslogo.asp
 -------------------------------------------
 <html>
 <head><title>logo</title></head>
 <body bgcolor="darkgreen" marginheight=0 topmargin=0>
 
 <table border=0 cellpadding=0 cellspacing=0 width="100%">
 <tr>
 <td>
 <font face="Arial" size="2" color="#ffffff"><b>Microsoft Access Forum</b></font>
 </td>
 </tr>
 </table>
 
 </body>
 </html>
 
 
 
 
 
 
 
 
 
 
 
 
 
 Listing 5.0 - message.asp
 ------------------------------------
 <!-- #INCLUDE FILE="discussfuncs.asp" -->
 <%
 id = TRIM( Request( "id" ) )
 IF id = "-1" THEN id = ""
 
 page = TRIM( Request( "pg" ) )
 %>
 
 <html>
 <head><title>message</title></head>
 <body bgcolor="#ffffff">
 
 <%
 IF id = "" THEN
 %>
 <table width="100%" height="100%" cellpadding=0 cellspacing=0 border=0>
 <tr>
 <td valign="center" align="center">
 <font face="Arial" size="3" color="blue">
 <b>Select a message to read by clicking on one of the subjects above</b>
 </font>
 </td>
 </tr>
 </table>
 <%
 ELSE
 readyDBCon
 SET RS = Server.CreateObject( "ADODB.Recordset" )
 RS.ActiveConnection = Con
 RS.CursorType = adOpenStatic
 RS.Open "select * FROM messages WHERE m_id=" & id & " OR m_reply=" & id & " order by m_id"
 mCount = 0
 WHILE NOT RS.EOF
 %>
 <table width="100%" border=0 cellpadding=2 cellspacing=0 bgcolor="yellow">
 <tr>
 <td>
 <b>Author:</b> <%=showUser( RS( "m_email" ) )%>
 </td>
 <td align="right">
 <b>Date Posted:</b> <%=RS( "m_entrydate" )%>
 </td>
 </tr>
 <tr>
 <td colspan=2>
 <b>Subject:</b> <%=Server.HTMLEncode( RS( "m_subject" ) )%>
 </td>
 </tr>
 </table>
 <table width="100%" cellpadding=4 cellspacing=0 border=0>
 <tr>
 <td>
 <font face="Arial" size="2">
 <%=formatOutput( RS( "m_message" ) )%>
 </font>
 <P>
 <a href="post.asp?id=<%=id%>&pg=<%=page%>" target="topframe">Reply To This
 Message</a>
 </td>
 </tr>
 </table>
 <% if mcount = 0 THEN %>
 <a name="replies"> </a>
 <% END IF %>
 <%
 RS.MoveNext
 WEND
 END IF
 %>
 
 </body>
 </html>
 ----------------------------------------
 
 
 
 
 
 
 
 
 
 
 
 
 
 Listing 6.0 - messagelist.asp
 -------------------------------------------
 <!-- #INCLUDE FILE="discussfuncs.asp" -->
 <html>
 <head><title>Message List</title></head>
 <body bgcolor="#eeeeee">
 
 
 <table width="100%" border=0 cellpadding=4 cellspacing=0>
 <tr>
 <td align="right">
 <a href="post.asp" target="topframe"><font face="Arial" size="2"><i>Post New
 Message</i></font></a>
 </td>
 </tr>
 </table>
 
 <%
 page = Request( "pg" )
 IF page = "" THEN page = 1
 
 
 readydbCon
 
 SET RS = Server.CreateObject( "ADODB.Recordset" )
 RS.ActiveConnection = Con
 RS.CursorType = adOpenStatic
 RS.Open "select m_id, m_email, m_subject, m_numreplies, m_entrydate FROM messages WHERE m_reply=-1 ORDER
 by m_id DESC"
 RS.PageSize = messagesApage
 RS.AbsolutePage = page
 IF RS.EOF THEN
 %>
 <font face="Arial">There are no messages</font>
 <%
 ELSE
 %>
 <table width="100%" border=0 cellpadding=4 cellspacing=0>
 <tr>
 <td>
 <font size="2" color="darkgreen"><b>AUTHOR</b></font>
 </td>
 <td>
 <font size="2" color="darkgreen"><b>SUBJECT</b></font>
 </td>
 <td>
 <font size="2" color="darkgreen"><b>REPLIES</b></font>
 </td>
 <td>
 <font size="2" color="darkgreen"><b>DATE POSTED</b></font>
 </td>
 </tr>
 <%
 WHILE NOT RS.EOF and counter < RS.PageSize
 %>
 <tr>
 <td><font size="2" ><%=showUser( RS( "m_email" ) )%></font></td>
 <td><a href="message.asp?id=<%=RS( "m_id" )%>&pg=<%=page%>" target="message"><font
 size="2"><%=Server.HTMLEncode( RS( "m_subject" ) )%></font></a></td>
 <td>
 <font size="2"><%=RS( "m_numreplies" )%> </font>
 <% IF cINT( RS( "m_numreplies" ) ) > 0 THEN %>
 <a href="message.asp?id=<%=RS( "m_id" )%>&pg=<%=page%>#replies"
 target="message"><font size="2">view</font></a>
 <% END IF %>
 </td>
 <td><font size="2"><%=RS( "m_entrydate" )%></font></td>
 </tr>
 <%
 counter = counter+1
 RS.MoveNext
 WEND
 %>
 </table>
 <%
 IF RS.PageCount > 1 THEN
 %>
 <p><font size="2" color="#666666">View Page: </font>
 <%
 FOR i = 1 to RS.PageCount
 IF i = cINT( page ) THEN
 %>
 <font size="2"><b><%=i%></b></font>
 <%
 ELSE
 %>
 <a href="discussframes.asp?pg=<%=i%>" target="topframe"><font size="2"><%=i%></font></a>
 <%
 END IF
 NEXT
 END IF
 END IF
 RS.Close
 Con.Close
 %>
 </body>
 </html>
 ----------------------------------------------
 
 
 
 
 
 
 
 Listing 7.0 - post.asp
 -------------------------------
 <%
 page = TRIM( Request( "pg" ) )
 id = TRIM( Request( "id" ) )
 email = TRIM( Request( "email" ) )
 subject = TRIM( Request( "subject" ) )
 message = TRIM( Request( "message" ) )
 %>
 <HTML>
 <HEAD>
 <TITLE>Post</TITLE>
 </HEAD>
 <BODY bgcolor="#000000">
 
 
 <form method="post" action="discussframes.asp" target="topframe">
 <input name="pg" type="hidden" value="<%=page%>">
 <% IF id = "" THEN %>
 <input name="addm" type="hidden" value="-1">
 <% ELSE %>
 <input name="addm" type="hidden" value="<%=id%>">
 <% END IF %>
 
 
 <center>
 <table width="640" cellpadding="4" cellspacing=0 border=0>
 <tr>
 <td align="right" nowrap>
 <font face="Arial" size="2" color="yellow"><b>Your Email Address:</b></font>
 </td>
 <td>
 <input name="email" size="60" maxlength="255" value="<%=Server.HTMLEncode( email )%>">
 </td>
 </tr>
 <tr>
 <td align="right">
 <font face="Arial" size="2" color="yellow"><b>Message Subject:</b></font>
 </td>
 <td>
 <input name="subject" size="60" maxlength="50" value="<%=Server.HTMLEncode( subject )%>">
 </td>
 </tr>
 <tr>
 <td align="right" valign="top">
 <font face="Arial" size="2" color="yellow"><b>Message:</b></font>
 </td>
 <td>
 <textarea name="message" cols="60" rows="13" wrap="virtual"><%=Server.HTMLEncode( message )%
 ></textarea>
 </td>
 </tr>
 <tr>
 <td align="right" colspan=2>
 <table border=0 cellpadding=2 cellspacing=0>
 <tr>
 <td>
 <input type="submit" value="Post Message" style="color:blue;font-family:Arial;font-
 weight:bold">
 </td>
 </form>
 <form action="discussframes.asp" target="topframe">
 <td>
 <input type="submit" value="Cancel Message" style="color:blue;font-family:Arial;font-
 weight:bold">
 </td>
 </tr>
 </table>
 </td>
 </tr>
 </table>
 </BODY>
 </HTML>
 | 
 | 
 
			
				
Tags:
作者:佚名