ฟอร์มและการใส่ข้อมูลของผู้ใช้ ASP

คำสั่ง Request.QueryString และ Request.Form สามารถใช้เพื่อดึงข้อมูลจากฟอร์ม ตัวอย่างเช่น ข้อมูลการกรอกของผู้ใช้

ตัวอย่าง:

ฟอร์มที่ใช้ method="get"
วิธีการใช้คำสั่ง Request.QueryString ในการสื่อสารกับผู้ใช้
ฟอร์มที่ใช้ method="post"
วิธีการใช้คำสั่ง Request.Form ในการสื่อสารกับผู้ใช้
ฟอร์มที่ใช้ปุ่มเลือก
วิธีการใช้ Request.Form ในการสื่อสารกับผู้ใช้ผ่านปุ่มเลือก

การกรอกข้อมูลโดยผู้ใช้

Request ออปเจกต์สามารถใช้เพื่อดึงข้อมูลผู้ใช้จากฟอร์ม。

ตัวอย่างฟอร์ม HTML

<form method="get" action="simpleform.asp">
<p>First Name: <input type="text" name="fname" /></p>
<p>Last Name: <input type="text" name="lname" /></p>
<input type="submit" value="Submit" />
</form>

ข้อมูลที่ผู้ใช้บันทึกสามารถรับคืนด้วยสองวิธี: Request.QueryString หรือ Request.Form

Request.QueryString

คำสั่ง Request.QueryString ใช้ในการรับค่าของฟอร์มที่ใช้วิธี method="get" ค่าที่ส่งมาจากฟอร์มด้วยวิธี GET สามารถเห็นโดยผู้ใช้ทุกคน (ปรากฏในบาร์ที่อยู่ของเครื่องนอกเหนือจากเครื่องใช้งาน) และมีจำกัดในปริมาณข้อมูลที่ส่ง

ตัวอย่างฟอร์ม HTML

<form method="get" action="simpleform.asp"
<p>First Name: <input type="text" name="fname" /></p>
<p>Last Name: <input type="text" name="lname" /></p>
<input type="submit" value="Submit" />
</form>

หากผู้ใช้บันทึก "Bill" และ "Gates" ในตัวอย่างฟอร์มด้านบน ที่อยู่ URL ที่ส่งไปยังเซิร์ฟเวอร์จะเหมือนนี้

http://www.codew3c.com/simpleform.asp?fname=Bill&lname=Gates

ตัวอย่างเดียวกับแบบไฟล์ ASP ที่ชื่อ "simpleform.asp" มีรหัสด้านล่างนี้

<body>
Welcome
<%
response.write(request.querystring("fname"))
response.write(" " & request.querystring("lname"))
%>
</body>

เครื่องนอกเหนือจากเครื่องใช้งานจะแสดงอย่างนี้

Welcome Bill Gates

Request.Form

คำสั่ง Request.Form ใช้ในการรับค่าของฟอร์มที่ใช้วิธี "post" ค่าที่ส่งมาจากฟอร์มด้วยวิธี POST ไม่สามารถเห็นโดยผู้ใช้ และไม่มีจำกัดในปริมาณข้อมูลที่ส่ง

ตัวอย่างฟอร์ม HTML

<form method="post" action="simpleform.asp"
<p>First Name: <input type="text" name="fname" /></p>
<p>Last Name: <input type="text" name="lname" /></p>
<input type="submit" value="Submit" />
</form>

หากผู้ใช้บันทึก "Bill" และ "Gates" ในตัวอย่างฟอร์มด้านบน ที่อยู่ URL ที่ส่งไปยังเซิร์ฟเวอร์จะเหมือนนี้

http://www.codew3c.com/simpleform.asp

ตัวอย่างเดียวกับแบบไฟล์ ASP ที่ชื่อ "simpleform.asp" มีรหัสด้านล่างนี้

<body>
Welcome
<%
response.write(request.form("fname"))
response.write(" " & request.form("lname"))
%>
</body>

เครื่องนอกเหนือจากเครื่องใช้งานจะแสดงอย่างนี้

Welcome Bill Gates

การทบทวนฟอร์ม

เมื่อเป็นไปได้ ควรทบทวนข้อมูลที่ผู้ใช้บันทึก (ผ่านสคริปท์ที่ด้านล่างของเครื่องนอกเหนือจากเครื่องใช้งาน) อัตราการทบทวนของเครื่องนอกเหนือจากเครื่องใช้งานเร็วขึ้น และสามารถลดบรรทุกของเซิร์ฟเวอร์ลง

หากข้อมูลผู้ใช้จะถูกบันทึกเข้าฐานข้อมูล คุณควรจินตนาการใช้การตรวจสอบบนเซิร์ฟเวอร์ มีวิธีดีที่จะตรวจสอบฟอร์มบนเซิร์ฟเวอร์ ก็คือนำฟอร์มที่ถูกตรวจสอบแบบ (เช่น) กลับไปยังหน้าฟอร์ม แทนที่จะกระโดดไปยังหน้าอื่น ผู้ใช้จะสามารถได้รับข้อมูลข้อผิดพลาดบนหน้าเดียวกันต่อไป ทำให้ผู้ใช้ง่ายต่อในการจับตาเห็นข้อผิดพลาด