فرم ها (ASP Forms)
در ASP، «فرم های ASP» ورودی کاربر را می گیرند. سپس با شیء Request آن را می خوانیم. Request.QueryString برای GET است. Request.Form برای POST است. همین! مثل برگه ثبت نام مدرسه، ولی آنلاین و سریع.
Request.QueryString: فرم های GET
QueryString یعنی داده ها داخل آدرس می آیند. شفاف است، اما محدودیت طول دارد.
<form method="get" action="simpleform.asp">
First Name: <input type="text" name="fname" /><br />
Last Name: <input type="text" name="lname" /><br />
<input type="submit" value="Submit" />
</form>
<%
Response.Write(Request.QueryString("fname"))
Response.Write(" " & Request.QueryString("lname"))
%>
نکته: URL قابل دیدن است. داده حساس را با GET نفرست.
Request.Form: فرم های POST
POST داده ها را پنهان می فرستد. محدودیت طول ندارد. برای فرم های واقعی مناسب است.
<form method="post" action="simpleform.asp">
First Name: <input type="text" name="fname" /><br />
Last Name: <input type="text" name="lname" /><br />
<input type="submit" value="Submit" />
</form>
<%
Response.Write(Request.Form("fname"))
Response.Write(" " & Request.Form("lname"))
%>
نمونه ورودی های مختلف
با رادیوباکس هم می توان ورودی گرفت. سپس مقدار را با Request.Form می خوانیم.
<form method="post" action="choose.asp">
<input type="radio" name="color" value="red" /> Red<br />
<input type="radio" name="color" value="blue" /> Blue<br />
<input type="submit" value="Pick" />
</form>
<%
Dim choice
choice = Request.Form("color")
Response.Write("Selected: " & choice)
%>
اعتبارسنجی فرم ها
اعتبارسنجی یعنی بررسی درست بودن ورودی. سمت مرورگر سریع تر است. اما برای ورود به پایگاه داده، حتماً سمت سرور هم چک کن.
<%
Dim fname
fname = Trim(Request.Form("fname"))
If fname = "" Then
Response.Write("<p>نام را وارد کنید.</p>")
Else
Response.Write("Hello " & Server.HTMLEncode(fname))
End If
%>
نکته: برای منطق تصمیم، بخش شرط ها را ببین. برای تکرار بررسی ها، از حلقه ها کمک بگیر. آموزش کلی «فرم های ASP» را نشانک کن.
گام های عملی سریع
- یک فرم GET بساز و خروجی را در صفحه نشان بده.
- فرم را به POST تغییر بده و دوباره تست کن.
- اعتبارسنجی ساده خالی نبودن را اضافه کن.
جمع بندی سریع
- QueryString برای GET است و دیده می شود.
- Form برای POST است و محدودیت طول ندارد.
- ورودی حساس را با POST بفرست.
- اعتبارسنجی را سمت مرورگر و سرور انجام بده.