دو دستور asp زیر برای دریافت داده هایی که کاربر در فرم وارد کرده است بکار می رود

 

Request.QueryString

Request.Form

 شی request  می تواند برای دریافت داده  های دریافتی از کاربر هم بکار رود

 
 

در این صفحه چه می خواهیم انجام دهیم ؟

1- در فصل های قبل گفتم که باید iis را نصب کنید تا سیستم شما به یک سرور وب تبدیل بشود ( چرا باید سیستم خود را به یک سرور وب تبدیل کنیم ؟

چون می خواهیم در خانه خودمان با کامپیوتر خودمان asp را یاد بگیریم

پس برای اجرا شدن برنامه هایمان باید انرا به سرور وب تبدیل کنیم )

 

2- notepad را باز کنیدیک فایل html به نام test ایجاد کنید و انرا در مسیر سرور وب یعنی درایو ویندوزتان بعد پوشه inetpub بعد پوشه wwwroot بعد پوشه myweb ذخیره کنید . اگر پوشه myweb نیست خودتان بسازید )

 

3-  دوباره notepad را باز می کنیم .فایل جدید راا با نام دلخواه مثلا simpleform.asp در مسیر سرور وب ذخیره می کنیم

 

4- کاربر اطلاعاتی را در فرمی که در صفحه test.html  ایجاد خواهیم کرد ، وارد می کند و فایل asp که در سرور وب است ان اطلاعات را از فایل اچ تی ام ال می گیرد و مثلا در سرور ذخیره می کند

 

 

اطلاعات دریافتی از کاربر

 

دستورات زیر را در  فایل test.html   کپی کنید

برنامه را اجرا کنید

 

<form method="get" action="simpleform.asp">


First Name: <input type="text" name="fname"><br>
Last Name: <input type="text" name="lname"><br><br>
                 <input type="submit" value="Submit">

 

</form>

 در این فرم دو کادر متنی و یک دکمه برای ارسال داده های دریافتی از کاربر و ارسال ان به فایل asp به نام simpleform که در سرور وب قرار دارد وجود دارند

 

 

نام کادر متنی که برای دریافت نام در نظر گرفته ایم ، fname است

نام کادر متنی که برای دریافت فامیل در نر گرفته ایم ، lname است

 

 

 

در این مثال

 

کاربر صفحه html و فرم ان را می بیند

داده هایی را وارد می کند

روی دکمه submit کلیک می کند

و اطلاعات به فایل Asp که در سرور است ارسال می شود

و فایل Asp  که در سرور قرار دارد  ، هر کار برایش برنامه ریزی شده است روی داده های دریافتی انجام می دهد

 
 فایل Asp می تواند با دستور Request.QueryString یا Request.Form داده های دریافتی از ککاربر را دریافت نماید
 
برای اشنایی با نصب iis و مسیر ذخیره فایل اینجا کلیک کنید 
Request.QueryString
 این دستور برای دریافت داده هایی که با متد get به سرور ارسال شده اند بکار می رود

دقت کنید :

زمانیکه شما روش ارسال اطلاعات فرم را get می دهید ،

بعد از کلیک روی دکمه ارسال

تمام داده های دریافتی از کاربر در نوار ادرس مرورگر مشاهده خواهند شد

 بنابراین فقط تعداد محدودی  داده را می توان با متد get ارسال کرد
 
 بعنوان مثال اگر کاربر نام مهدی و فامیل یوسفی را در کادر های متنی فرم وارد کند ، انگاه انچه بعد از کلیک روی دکمه ارسال در نوار ادرس مرورگر کاربر  مشاهده خواهد شد برابر زیر است :
 

 

 http://ادرس فایل/simpleform.asp?fname=مهدی&lname=یوسفی

 
 

در فایل asp که نام ان  simpleform بود دستورات زیر را کپی کنید :

 

 برای اشنایی با نصب iis و مسیر ذخیره فایل اینجا کلیک کنید 

 

<body>
Welcome


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


</body>

 
 حالا برنامه html را اجرا کنیدوبعد از ورود داده ها در فرم روی دکمه submit کلیک کنید تا داده های فرم به صفحه Asp منتقل شود
 دستورات Asp بالا در سرور اجرا می شوند نتیجه ان در مرورگر کاربر دیده می شود

 

دستور  request.querystring  چگونه کار می کند ؟

جواب : در پرانتز این دستور و درون کوتیشن ، نام کادر متنی  از فرم را بنویسید که می خواهید اطلاعات درون ان را دریافت کنید . برای هر کادر متنی یک request.querystring مجزا باید نوشت

 خروجی برنامه بالا :

Welcome mahdi usefi
Request.Form
  این دستور برای دریافت داده هایی که با متد post  به سرور ارسال شده اند بکار می رود
 اطلاعات وارد شده در فرم صفحه html در حال ارسال شدن به برنامه Asp در نوار ادرس مرورگر کاربر مشاهده نمی شوند و در ضمن در روش ارسال بصورت post ،  هیچ محدودیتی در تعداد داده های ارسالی به سرور وجود ندارد
  بعنوان مثال اگر کاربر نام مهدی و فامیل یوسفی را در کادر های متنی فرم وارد کند ، انگاه انچه بعد از کلیک روی دکمه ارسال در نوار ادرس مرورگر کاربر  مشاهده خواهد شد برابر زیر است :

 

 http://ادرس فایل /simpleform.asp

 

 دستورات برنامه Asp را به این صورت تغییر دهید :

 

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

  حالا برنامه html را اجرا کنیدوبعد از ورود داده ها در فرم روی دکمه submit کلیک کنید تا داده های فرم به صفحه Asp منتقل شود

  خروجی برنامه بالا :

Welcome mahdi usefi

 

 
اعتبار سنجی اطلاعات کاربر

 در همان برنامه html که در مرورگر کاربر اجرا می شود باید با دستوران جاوا اسکریپت دستوراتی بنویسید که اطلاعات دریافتی از کاربر در فرم را ارز یابی کند و ببینید درست است یا نه

مثلا در جائی که باید شماره دانش اموزی وارد شود ایا به جای عدد ، به اشتباه کاراکتر غیر رقمی وارد شده یا نه

یا مثلا تا زمانیکه نام شهر محل زندگی مشخص نشده است دکمه submit داده ها را به سرور ارسال نکند

 

ارز یابی داده ها ی دریافتی از کاربر بهتر است در همان برنامه html سنجیده شود

زیرا سرعت این کار بیشتر از وقتی است که داده های فرم ابتدا به سرور برود و بعد انجا مورد ارز یابی قرار بگیرد