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

 


目次