2.8 返信記事記入画面の表示
■「返信」用ハイパーリンクの作成
記事内容表示欄に「返信」用ハイパーリンクを作成します。
view2.aspファイルの一部をview4.aspのように変更します。赤色のHTML文が「返信」用ハイパーリンクのために挿入した部分です。
なお、レイアウトのために
リスト2.9 view4.asp
<%@ LANGUAGE="VBScript" %>
<% Option Explicit %>
<HTML>
<HEAD>
<TITLE>view4.asp</TITLE>
</HEAD>
<BODY>
<%
Const FOR_DEBUG = "<BR>Debug(view4.asp):"
Const DATASOURCE = "aspZADO"
Dim lngID
Dim objConn,objRst,strSQL
'URLに埋め込まれたデータを受信します
lngID = Request("ID")
Response.Write FOR_DEBUG & "ID=" & lngID & "<BR>"
'データベースへ接続します
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open DATASOURCE
'指定されたIDのレコードを検索します
strSQL = "SELECT * FROM tblBBS WHERE ID =" & lngID & ";"
Set objRst = objConn.Execute(strSQL)
If NOT objRst.BOF Then
'記事がある
%>
<TABLE BORDER=1>
<TR>
<TD>
<TABLE BORDER=0>
<TR>
<TD ALIGN="left">
[<%=objRst("messageNum")%>]
<%=objRst("title")%>
<B>[<%=objRst("name")%>]</B>
(<%=objRst("messageTime")%>)
</TD>
<TD ALIGN="right">
<A HREF='reply1.asp?ID=<%=lngID%>' TARGET="LIST">
返信</A>
</TD>
</TR>
</TABLE>
</TD>
</TR>
<TR>
<TD>
<%=objRst("message")%>
</TD>
</TR>
</TABLE>
<%
Else
'記事がない
%>
投稿記事はありません<BR>
<%
End If
objRst.Close
objConn.Close
%>
</BODY>
</HTML>
図2.15
■返信記事記入画面の作成
リスト2.10 reply1.asp
<%@ LANGUAGE="VBScript" %>
<% Option Explicit %>
<HTML>
<HEAD>
<TITLE>reply1.asp</TITLE>
</HEAD>
<BODY>
<%
Const FOR_DEBUG = "<BR>Debug(reply1.asp):"
Const DATASOURCE = "aspZADO"
Dim lngID
Dim objConn,objRst,strSQL
Dim lngMessageNum '記事番号
Dim dtmMessageTime '記事投稿日時
Dim strName '記事投稿者名
Dim strTitle '記事標題
Dim strMessage '記事内容
Dim strReferMessage
Dim aryReferMessage
Dim i
'URLに埋め込まれたデータを受信します
lngID = Request("ID")
'Response.Write FOR_DEBUG & "ID=" & lngID & "<BR>"
'データベースへ接続します
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open DATASOURCE
'指定されたIDのレコードを検索します
strSQL = "SELECT * FROM tblBBS WHERE ID =" & lngID & ";"
Set objRst = objConn.Execute(strSQL)
If NOT objRst.BOF Then
'記事がある
'記事標題の頭に"RE:"を付記します。
strTitle = "RE:" & objRst("title")
'記事内容の各行の頭に引用を示す">"を付記します
strReferMessage = objRst("message")
'Response.Write FOR_DEBUG & "strReferMessage=" & strReferMessage & "<BR>"
aryReferMessage = split(strReferMessage,vbCrLf)
strReferMessage = ""
For i = Lbound(aryReferMessage) to UBound(aryReferMessage)
strReferMessage = strReferMessage _
& ">" & aryReferMessage(i) & vbCrLf
Next
strMessage = strReferMessage
%>
【返信記事】<BR>
<FORM ACTION="input2.asp" METHOD="post" TARGET="LIST">
<TABLE BORDER=0>
<TR>
<TD ALIGN="right">氏名</TD>
<TD ALIGN="left">
<INPUT NAME="name" SIZE=15>
</TD>
</TR>
<TR>
<TD ALIGN="right">標題</TD>
<TD ALIGN="left">
<INPUT NAME="title" SIZE=50 VALUE="<%=strTitle%>">
</TD>
</TR>
<TR>
<TD ALIGN="right">内容</TD>
<TD ALIGN="left">
<TEXTAREA COLS=50 ROWS=4
NAME="message"><%=strMessage%></TEXTAREA>
</TD>
</TR>
<TR>
<TD></TD>
<TD>
<INPUT TYPE="submit" VALUE="送信">
</TD>
</TR>
</TABLE>
</FORM>
<%
End If
%>
</BODY>
</HTML>
図2.16