คลิ๊กเพื่อทดสอบเว็บบอร์ดครับ

>>โหลดตัวอย่างได้ที่นี่ครับ<<

ให้สร้างฐานข้อมูล ชื่อ testboad.mdb
ตารางที่ 1 ชื่อ Quest มีข้อมูลดังนี

ชื่อ
ชนิดข้อมูล
คำอธิบาย
Q_id
Autonumber
หมายเลขหัวข้อ
Q_toppic
text
หัวข้อ
Q_name
text
ชื่อ
Q_mail
text
อีเมล
Q_comment
memo
ข้อความ
Q_date
date/time
วันที่

ตารางที่ 2 ชื่อ Anw มีข้อมูลดังนี้

ชื่อ
ชนิดข้อมูล
คำอธิบาย
Q_id
number
หมายเลขหัวข้อ
a_id
Autonumber
หมายเลขคำตอบ
a_name
text
ชื่อ
a_mail
text
อีเมล
a_comment
memo
ข้อความ
a_date
date/time
วันที่

การสร้าง webboard ที่จำนะเสนอนี้จะมีทั้งหมด 5ไฟล์ครับ คือ newtopic1.asp   newtopic2.asp showboard.asp 
 viwboard.asp และ anw.asp  เรามาเริ่มสร้างเลยดีกว่าครับ
คลิ๊กเพื่อทดสอบเว็บบอร์ดครับ
newtopic1.asp   ฟอร์มตั้งกระทู้   มีดังนี้ครับ
<form name="form1" method="post" action="newtopic2.asp">
<table width="500" border="0" cellspacing="5" cellpadding="5">
<tr>
<td width="152"><div align="center"><strong><font color="#0099FF" size="2" face="Arial">หัวข้อกระทู้</font></strong></div></td>
<td width="313"><strong><font size="2" face="Arial">
<input name="q_topic" type="text" id="q_topic" size="40">
</font></strong></td>
</tr>
<tr>
<td><div align="center"><strong><font color="#0099FF" size="2" face="Arial">ผู้ตั้งกระทู้</font></strong></div></td>
<td><strong><font size="2" face="Arial">
<input name="q_name" type="text" id="q_name" size="30">
</font></strong></td>
</tr>
<tr>
<td><div align="center"><strong><font color="#0099FF" size="2" face="Arial">อีเมล</font></strong></div></td>
<td><strong><font size="2" face="Arial">
<input name="q_mail" type="text" id="q_mail" size="30">
</font></strong></td>
</tr>
<tr>
<td height="106"><div align="center"><strong><font color="#0099FF" size="2" face="Arial">ข้อความ</font></strong></div></td>
<td><strong><font size="2" face="Arial">
<textarea name="q_comment" cols="50" rows="5" wrap="VIRTUAL" id="q_comment"></textarea>
</font></strong></td>
</tr>
<tr>
<td>&nbsp;</td>
<td><strong><font size="2" face="Arial">
<input type="submit" name="Submit" value="ตั้งกรูะทู้">
<input type="submit" name="Submit2" value="ยกเลิก">
</font></strong></td>
</tr>
</table>
</form>
คลิ๊กเพื่อทดสอบเว็บบอร์ดครับ
newtopic2.asp    เก็บเข้าในฐานข้อมูล   มีดังนี้ครับ
<%
q_topic=replace(replace(Request.Form("q_topic"),"<","&lt;"),">","&gt;")
q_name=replace(replace(Request.Form("q_name"),"<","&lt;"),">","&gt;")
q_mail=replace(replace(Request.Form("q_mail"),"<","&lt;"),">","&gt;")
q_comment=replace(replace(replace(Request.Form("q_comment"),"<","&lt;"),">","&gt;"),chr(13),"<br>")
q_date=date()
wording=q_topic
Set ObjRegEx = New RegExp
badword=array("หี","ควย","เย็ด","ห่า","แดก","จัญไร","เหี้ย","แตด","ควาย","หมา","คิง","บ่า","อีั,")
point=0
For i=0 to UBound(badword)
ObjRegEx.pattern=badword(i)
Result=ObjRegEx.Test(wording)
If Result="True" Then
Point=Point+1
End If
Next
If Point > 0 then
Response.Write("<b>เจอคำหยาบครับ </b>")
else
Set Conn=Server.CreateObject("ADODB.Connection")
conn.open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.mappath("testboard.mdb")
Sql="Select * from Quest"
Sql="Select * from Quest where q_topic like '%"& q_topic &"%' "
Set RS=Server.CreateObject("ADODB.Recordset")
RS.open Sql,Conn, 1, 3
if not rs.eof then
response.write" <b>มีกีะทู้นี้แล้ว</b> "
else
On Error Resume Next
rs.Addnew
rs("q_topic")=q_topic
rs("q_name")=q_name
rs("q_mail")=q_mail
rs("q_comment")=q_comment
rs("q_date")=q_date
rs.Update
rs.close
conn.Close
end if
%>
<br>
เพิ่มเรียบร้อยแล้ว<br>
<a href="showboard.asp">กลับหน้ากระทู้</a><br>
<%end if%>
showboard.asp   การแสดงหน้าเว็บบอร์ด    มีดังนี้ครับ
<%

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER=Microsoft Access Driver (*.mdb);DBQ=" &Server.MapPath("testboard.mdb")
SQL="SELECT * FROM quest order by q_id desc"
Set RS =Server.CreateObject("ADODB.Recordset")
RS.open Sql,Conn,1,3
%>
<br>
<a href="newtopic1.asp">ตั้งกระทู้ ใหม่</a></font></font></div>
<table width="680" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#0033FF">
<tr bgcolor="#0099FF">
<td><div align="center"><font color="#FFFFFF"><strong><font size="1" face="MS Sans Serif">หัวข้อกระทู้</font></strong></font></div></td>
<td><div align="center"><font color="#FFFFFF"><strong><font size="1" face="MS Sans Serif">โดยคุณ</font></strong></font></div></td>
<td><div align="center"><font color="#FFFFFF"><strong><font size="1" face="MS Sans Serif">เมื่อวันที่</font></strong></font></div></td>
</tr>
<%

Do While Not RS.EOF
%>
<tr>
<td width="57%" height="20" valign="top" bgcolor="#FFFFFF"><font color="#size="1" face="MS Sans Serif"><strong>&nbsp;</strong></font><font size="1" face="MS Sans Serif"><strong><a href="viwboard_2.asp?q_id=<%=rs("q_id")%>" target="_blank"><%=rs("q_topic")%></a></strong></font><a href="/jop/shownew_2.asp"><font color="#000000" size="2" face="MS Sans Serif">&nbsp;</font></a></td>
<td width="23%" valign="top" bgcolor="#FFFFFF"><div align="center"><font color="#000000" size="2" face="MS Sans Serif"><%=rs("q_name")%></font></div></td>
<td width="16%" valign="top" bgcolor="#FFFFFF"><div align="center"><font color="#000000" size="2" face="MS Sans Serif"><%=rs("q_date")%></font></div></td>
</tr>
<%
RS.MoveNext
Loop
rs.close
conn.close
%>

viwboard.asp   แสดงรายละเอียดในหัวข้อเมื่อคลิ๊กหัวข้อ    มีดังนี้ครับดูยุ่งยากไปหน่อยน่ะครับ ขอให้ประสบความสำเร็จน่ะครับ
<%

q_id=Request.QueryString("q_id")
Set Conn=Server.CreateObject("ADODB.Connection")
conn.open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.mappath("testboard.mdb")
Sql1="Select * from quest where q_id ="&q_id
Set RS =Server.CreateObject("ADODB.Recordset")
RS.open Sql1,Conn,1,3

%>
<html>
<head>
<title><%=rs("q_topic")%></title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-874">
</head>

<body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<div align="center">
<div align="center"></div>
<div align="center"><font color="#000000" size="3" face="MS Sans Serif"><strong>

</strong> <font color="#0000FF" size="2" face="Arial"><a href="newtopic1.asp" target="_blank">ตั้งกระทู้
</a></font></font></div>
<font face="MS Sans Serif" size="1"><font size="2" face="MS Sans Serif">
<br>
</font></font>
<table width="680" border="0" cellpadding="0" cellspacing="1" bgcolor="#0033FF">
<tr>
<td bgcolor="#0099FF"><div align="center"><font size="3" face="MS Sans Serif"><strong><font color="#FFFFFF"><%=rs("q_topic")%></font></strong></font></div></td>
</tr>
<tr>
<td height="54" bgcolor="#FFFFFF"><table width="95%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td height="20" valign="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000FF" size="2" face="MS Sans Serif"><%=rs("q_comment")%></font></td>
</tr>
</table></td>
</tr>
<tr>
<td height="20" bgcolor="#FFFFFF"><div align="right"><font size="2" face="MS Sans Serif"><strong>กระทู้จาก&nbsp;&nbsp;&nbsp;<font color="#FF0000">&nbsp;&nbsp;<%=rs("q_name")%></font>&nbsp;&nbsp;&nbsp;&nbsp;อีเมล &nbsp;&nbsp;&nbsp;<font color="#FF0000"><a href="mailto:<%=rs("q_mail")%>"><%=rs("q_mail")%></a></font><a href="mailto:<%=rs("q_mail")%>">&nbsp;</a>&nbsp;&nbsp;&nbsp;เมื่อวันที่&nbsp;&nbsp;<font color="#FF0000">&nbsp;&nbsp;<%=rs("q_date")%></font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</strong></font></div></td>
</tr>
</table>
<%
Set Conn= Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("testboard.mdb")
Set rs= Server.CreateObject("ADODB.Recordset")
Sql2="Select * from anw where q_id="&q_id
RS.Open Sql2,Conn,1,3
%>
<br>
<table width="580" border="0" cellspacing="0" cellpadding="3">
<%do while not rs.EOF%>
<tr>
<td bgcolor="#0099FF"><font color="#0000FF" size="2" face="MS Sans Serif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#000000"><%=rs("a_comment")%></font></font></td>
</tr>
<tr>
<td><div align="right"><font size="2" face="MS Sans Serif"><strong>ผู้ตอบกระทู&nbsp;&nbsp;&nbsp;<font color="#FF0000">&nbsp;&nbsp;<%=rs("a_name")%></font>&nbsp;&nbsp;&nbsp;&nbsp;อีเมล
&nbsp;&nbsp;&nbsp;<font color="#FF0000"><a href="mailto:<%=rs("a_mail")%>"><%=rs("a_mail")%></a></font><a href="mailto:<%=rs("a_mail")%>">&nbsp;</a>&nbsp;&nbsp;&nbsp;เมื่อวันที่&nbsp;&nbsp;<font color="#FF0000">&nbsp;&nbsp;<%=rs("a_date")%></font>&nbsp;</strong></font></div></td>
</tr>
<%rs.MoveNext
Loop
rs.Close
conn.Close %>
</table>
<br>
<font color="#000000" size="2" face="Arial"><strong>ตอบกระทู้ </strong></font><br>
<form name="form1" method="post" action="anw.asp">
<table width="500" border="0" cellspacing="5" cellpadding="5">
<tr>
<td>&nbsp;</td>
<td><input name="q_id" type="hidden" id="q_id" value="<%=q_id%>"></td>
</tr>
<tr>
<td width="124"><div align="center"><strong><font size="2" face="Arial">คำตอบ</font></strong></div></td>
<td width="341"><div align="left">
<textarea name="a_comment" cols="40" wrap="VIRTUAL" id="a_comment"></textarea>
</div></td>
</tr>
<tr>
<td><div align="center"><strong><font size="2" face="Arial">ชื่อผู้ตอบ</font></strong></div></td>
<td><div align="left">
<input name="a_name" type="text" id="a_name" size="30">
</div></td>
</tr>
<tr>
<td><div align="center"><strong><font size="2" face="Arial">อีเมล</font></strong></div></td>
<td><div align="left">
<input name="a_mail" type="text" id="a_mail" size="30">
</div></td>
</tr>
<tr>
<td>&nbsp;</td>
<td><input type="submit" name="Submit" value="ตอบกระทู้">
<input type="reset" name="Submit2" value="ยกเลิก"></td>
</tr>
</table>
</form>
<font face="MS Sans Serif" size="1"><font size="2" face="MS Sans Serif"> <br>
<!--BEGIN WEB STAT CODE---->
<SCRIPT LANGUAGE="javascript1.1" src="http://hits.truehits.in.th/data/n0024507.js"></SCRIPT>
<!--END WEB STAT CODE---->
</font><font color="#FF6600" size="2" face="MS Sans Serif"><br>
</font></font></div>
</body>
</html>

viwboard.asp  เก็บข้อมูลเมื่อมีผู้ตอบ  มีดังนี้
<%
q_id=request.form("q_id")
a_name=request.form("a_name")
a_mail=request.form("a_mail")
a_comment=request.form("a_comment")
a_date=date()
Set Conn=Server.CreateObject("ADODB.Connection")
conn.open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.mappath("testboard.mdb")
Sql="Select * from anw"
Set RS=Server.CreateObject("ADODB.Recordset")
RS.open Sql,Conn, 1, 3
On Error Resume Next
rs.Addnew
rs("q_id")=q_id
rs("a_name")=a_name
rs("a_mail")=a_mail
rs("a_comment")=a_comment
rs("a_date")=a_date
rs("pic")=pic
rs.Update
rs.Close
conn.Close
%>
<br>
<strong>ตอบคำถามเรียบร้อยแล้ว<br>
</strong><br>
<a href="showboard.asp">กลับหน้ากระทู้</a>

คลิ๊กเพื่อทดสอบเว็บบอร์ดครับ