Admin สำหรับ Webboard
โดย: สุรัตน์ บัณฑิตลักษณะ
ที่มา: www.thaiasp.net
     สิ่งหนึ่ง ที่ขาดซะไม่ได้เลย สำหรับ เว็บบอร์ด ก็คือ เว็บเพจ Admin ที่ทำหน้าที่ดูแล เว็บบอร์ดของ เรา ไม่ว่าจะเป็น การลบกระทู้ ที่ไม่เหมาะสม การลบคำตอบบางคำตอบ การจัดการกับขยะ หรือแม้กระทั่งการแก้ไข ข้อความบางส่วน
เอาเว็บบอร์ดที่มีอยู่แล้ว
     ผมยึดเอาเว็บบอร์ดที่ผม ให้ download กันอยู่แล้วเป็น Source หลักนะครับ (ถ้ายังไม่ได้ download กัน คลิกที่นี่ครับ) ซึ่งต่อมาผมจะทำหน้าหลักที่ใช้ในการจัดการ เว็บบอร์ด ชื่อว่าไฟล์ admin.html นะครับ
ไฟล์ Admin.html จะประกอบไปด้วย Radio Button ซึ่งมี 2 Choice ให้เลือกคือ
1. ลบคำถาม ข้างหลังส่วนลบคำถามจะมี input ให้ระบุหมายเลขคำถาม
2. ลบคำตอบ จะมี input ให้กรอกหมายเลขคำถามและลำดับที่ของคำตอบ
ดังนี้
<form method="post" action="admin.asp">
<input type="radio" name="del" value="1">
ลบคำถามหมายเลข
<input type="text" name="number1"> <br>
<input type="radio" name="del" value="2">
ลบคำตอบของคำถามหมายเลข <input type="text" name="number1">
ลำดับที่ <input type="text" name="number2"> <br>
<input type="submit" name="Submit" value="Submit">
</form>

ซึ่งจะได้หน้าตาไฟล์ admin.html ดังนี้ครับ

ไฟล์ admin.html จะ Post ข้อมูลไปยังไฟล์ admin.asp ไฟล์นี้จะค้นหาข้อมูลในฐานข้อมูล แล้วนำออกมาแสดงให้ เห็น เพื่อถามความทั่นใจว่าจะลบ ข้อความนี้แน่หรือไม่
ไฟล์ Admin.asp ตรวจสอบความแน่ใจ
     ไฟล์ admin.asp จะนำหมายเลขที่กรอกเข้ามาในฟอร์มของไฟล์ admin.html มาตรวจสอบ ในฐานข้อมูล แล้วก็แสดงให้ เราเห็นว่า เป็นข้อความนี้ที่ต้องการลบใช่หรือไม่ ถ้าใช่ก็ให้ คลิกที่ปุ่ม delete ข้างล่างครับ
ไฟล์ Admin.asp

<%If Request("del") = "1" then 'ตรวจสอบว่า เป็นการลบคำถาม หรือ คำตอบ
sql="select * from question where QID="&number1
else
sql="select * from answer where QID="&number1
End If
Set conn = Server.CreateObject("ADODB.Connection")
conn.open "DRIVER={Microsoft Access Driver
      (*.mdb)};DBQ="&Server.mappath("webboard.mdb")
Set rs = Server.CreateObject ("ADODB.Recordset")
rs.Open sql,conn,1,3
If Request("del") = "2" then 'ถ้าเป็นการลบคำตอบ จะให้ไปยังคำตอบลำดับที่ที่ระบุใน number2
rs.move number2
end if%>

<!-- แสดงข้อมูลออกมาให้เห็น โดยใช้ rs("name") และอื่นๆ -->

<!--เริ่มต้นฟอร์มเพื่อส่งไปยังไฟล์ delete.asp เพื่อทำการลบ-->

<input type="hidden" name="del" value="<%=request("del")%>">
<input type="hidden" name="number1" value="<%=request("number1")%>">
<input type="hidden" name="number2" value="<%=request("number2")%>">
<input type="submit" name="Submit" value="Delete">
</form>
<!--จบฟอร์ม-->

    
ไฟล์ Delete.asp ลบทันที
    ไฟล์นี้ก็จะคล้ายกับไฟล์ Admin.asp นั่นแหละครับ เพียงแต่ไฟล์นี้จะลบข้อความทันที
ไฟล์ Delete.asp
<%If Request("del") = "1" then 'ตรวจสอบว่า เป็นการลบคำถาม หรือ คำตอบ
sql="select * from question where QID="&number1
else
sql="select * from answer where QID="&number1
End If
Set conn = Server.CreateObject("ADODB.Connection")
conn.open "DRIVER={Microsoft Access Driver
      (*.mdb)};DBQ="&Server.mappath("webboard.mdb")
Set rs = Server.CreateObject ("ADODB.Recordset")
rs.Open sql,conn,1,3
If Request("del") = "2" then 'ถ้าเป็นการลบคำตอบ จะให้ไปยังคำตอบลำดับที่ที่ระบุใน number2
rs.move number2
end if
rs.delete %>
เอากันเป็น Concept แบบนี้ดีกว่านะครับ เพราะผมคิดว่า ผู้อ่านจะได้นำแนวคิดไปใช้กับเว็บบอร์ดของท่านเองครับ ไม่อยากให้ผมทำเหมือนกับ ผูกขาด Source Code :-) ต้องมีเป็นชุดๆ


Home | ASP Board | Coldfusion Board | Source Code | Lesson(beginner)
Lesson(Professional) l My Jobs | E-card |About Us


Copyright © 2000 www.ThaiASP.net All rights reserved.