ASP အမြန်ကိုးကား
W3Schools မှ ASP အမြန်ကိုးကား။ ပရင့်ထုတ်ပြီး သင့်အိတ်ကပ်ထဲ ခေါက်ပါ။
အခြေခံ Syntax
ASP script များကို <% နှင့် %> တို့ဖြင့် ဝိုင်းရံထားသည်။ အချို့သော output ကို browser တစ်ခုသို့ရေးရန်-
<html>
<body>
<% response.write("Hello World!") %>
</body>
</html>
ASP ရှိ မူရင်းဘာသာစကားမှာ VBScript ဖြစ်သည်။ အခြားသော scripting language ကိုအသုံးပြုရန်၊ ASP စာမျက်နှာ၏ထိပ်တွင် ဘာသာစကားသတ်မှတ်ချက်တစ်ခုထည့်ပါ-
<%@ language="javascript" %>
<html>
<body>
<%
....
%>
ပုံစံများနှင့် အသုံးပြုသူ ထည့်သွင်းမှု
Request.QueryString ကို method="get" ဖြင့် ဖောင်တစ်ခုတွင် တန်ဖိုးများစုဆောင်းရန် အသုံးပြုသည်။ GET နည်းလမ်းဖြင့် ဖောင်တစ်ခုမှ ပေးပို့သော သတင်းအချက်အလက်ကို လူတိုင်းမြင်နိုင်သည် (၎င်းကို ဘရောက်ဆာ၏ လိပ်စာဘားတွင် ပြသပါမည်) နှင့် ပေးပို့ရမည့် အချက်အလက် ပမာဏအပေါ် ကန့်သတ်ချက်များ ရှိသည်။
Request.Form ကို method="post" ဖြင့် ဖောင်တစ်ခုတွင် တန်ဖိုးများစုဆောင်းရန် အသုံးပြုသည်။ POST နည်းလမ်းဖြင့် ဖောင်တစ်ခုမှ ပေးပို့သော အချက်အလက်သည် အခြားသူများမှ မမြင်နိုင်ဘဲ ပေးပို့ရမည့် အချက်အလက် ပမာဏအပေါ် ကန့်သတ်ချက်မရှိပါ။
ASP Cookies
အသုံးပြုသူတစ်ဦးကို ခွဲခြားသတ်မှတ်ရန် ကွတ်ကီးကို မကြာခဏအသုံးပြုသည်။ ကွတ်ကီးသည် အသုံးပြုသူ၏ကွန်ပျူတာပေါ်တွင် ဆာဗာထည့်သွင်းထားသည့် ဖိုင်ငယ်တစ်ခုဖြစ်သည်။ တူညီသောကွန်ပြူတာမှ browser တစ်ခုပါသောစာမျက်နှာတစ်ခုတောင်းဆိုသောအခါတိုင်း၊ ၎င်းသည် cookie ကိုလည်းပေးပို့လိမ့်မည်။
ကွတ်ကီးများဖန်တီးရန် Response.Cookies အမိန့်ကို အသုံးပြုသည်-
<%
Response.Cookies("firstname")="Alex"
Response.Cookies("firstname").သက်တမ်းကုန်ဆုံးသည်="မေလ 10,2002"
%>
မှတ်ချက်- Response.Cookies command သည် <html> tag မတိုင်မီ ပေါ်လာရပါမည်။
"Request.Cookies" ကွန်မန်းကို ကွတ်ကီးတန်ဖိုးကို ရယူရန် အသုံးပြုသည်-
<%
fname=Request.Cookies("firstname")
response.write("Firstname=" & fname)
%>
ဖိုင်များ ပါဝင်သည်။
#include ညွှန်ကြားချက်ဖြင့် ဆာဗာမှ ၎င်းကို မလုပ်ဆောင်မီ ASP ဖိုင်တစ်ခု၏ အကြောင်းအရာကို အခြား ASP ဖိုင်တွင် ထည့်သွင်းနိုင်သည်။ #include ညွှန်ကြားချက်ကို စာမျက်နှာများစွာတွင် ပြန်လည်အသုံးပြုမည့် လုပ်ဆောင်ချက်များ၊ ခေါင်းစီးများ၊ အောက်ခြေမှတ်စုများ သို့မဟုတ် အစိတ်အပိုင်းများကို ဖန်တီးရန်အတွက် အသုံးပြုသည်
အထားအသို-
<!--#include virtual="somefile.inc"-->
သို့မဟုတ်
<!--#include file ="somefile.inc"-->
virtual directory တစ်ခုမှအစပြုသောလမ်းကြောင်းကိုညွှန်ပြရန် virtual keyword ကိုသုံးပါ။ "header.inc" ဟု အမည်ပေးထားသည့် ဖိုင်သည် /html ဟု အမည်ပေးထားသည့် virtual directory တွင် ရှိနေပါက၊ အောက်ပါ စာကြောင်းသည် "header.inc" ၏ အကြောင်းအရာများကို ထည့်သွင်းပါမည်-
<!-- #include virtual ="/html/header.inc" -->
ဆွေမျိုးလမ်းကြောင်းကိုညွှန်ပြရန် ဖိုင်သော့ချက်စာလုံးကို အသုံးပြုပါ။ ဆက်စပ်လမ်းကြောင်းတစ်ခုသည် ဖိုင်အပါအဝင် ဖိုင်ပါရှိသော လမ်းညွှန်ဖြင့် စတင်သည်။ သင့်တွင် html လမ်းညွှန်တွင် ဖိုင်တစ်ခုရှိပြီး၊ ဖိုင် "header.inc" သည် html\headers တွင် ရှိနေပါက၊ အောက်ပါစာကြောင်းသည် သင့်ဖိုင်တွင် "header.inc" ကို ထည့်သွင်းပါမည်-
<!-- #include ဖိုင် ="headers\header.inc" -->
အဆင့်မြင့်လမ်းညွှန်မှ ဖိုင်တစ်ခုထည့်သွင်းရန် အထားအသို (..\) ဖြင့် ဖိုင်သော့ချက်စကားလုံးကို အသုံးပြုပါ။
Global.asa
Global.asa ဖိုင်သည် ASP အပလီကေးရှင်းရှိ စာမျက်နှာတိုင်းမှ ဝင်ရောက်နိုင်သည့် အရာဝတ္ထုများ၊ ကွဲပြားမှုများနှင့် နည်းလမ်းများပါ၀င်သည့် ရွေးချယ်နိုင်သောဖိုင်တစ်ခုဖြစ်သည်။
မှတ်ချက်- Global.asa ဖိုင်ကို ASP အပလီကေးရှင်း၏ အမြစ်လမ်းညွှန်တွင် သိမ်းဆည်းထားရမည်ဖြစ်ပြီး အပလီကေးရှင်းတစ်ခုစီတွင် Global.asa ဖိုင်တစ်ခုသာ ရှိနိုင်ပါသည်။
Global.asa ဖိုင်တွင် အောက်ပါတို့သာ ပါဝင်နိုင်သည်-
- လျှောက်လွှာဖြစ်ရပ်များ
- အပိုင်းပွဲများ
- <object> ကြေငြာချက်များ
- TypeLibrary ကြေငြာချက်များ
- #ညွှန်ကြားချက် ပါ၀င်သည်
လျှောက်လွှာနှင့် Session ပွဲများ
Global.asa တွင် သင်သည် အပလီကေးရှင်း/စက်ရှင်ကို စတင်သည့်အခါ ဘာလုပ်ရမည်နှင့် အက်ပ်လီကေးရှင်း/စက်ရှင် ပြီးဆုံးသည့်အခါ ဘာလုပ်ရမည်ကို အပလီကေးရှင်းနှင့် စက်ရှင်ကို ပြောပြနိုင်သည်။ ၎င်းအတွက် ကုဒ်ကို event handlers တွင် ထည့်သွင်းထားသည်။ မှတ်ချက်- ကျွန်ုပ်တို့သည် <% နှင့် %> ကို မသုံးပါ၊ Global.asa ဖိုင်တွင် scripts များထည့်ရန်၊ ကျွန်ုပ်တို့သည် HTML <script> tag တွင် အခွဲများကို ထည့်ရပါမည်-
<script language="vbscript" runat="server">
sub Application_OnStart
' အချို့ကုဒ်
အဆုံး ခွဲ
ခွဲ Application_OnEnd
' အချို့ကုဒ်
အဆုံးခွဲ
ခွဲ Session_OnStart
' အချို့ကုဒ်
အဆုံးခွဲ
ခွဲ Session_OnEnd
' အချို့ကုဒ်
အဆုံးခွဲများ
</script>
<object> ကြေငြာချက်များ
<object> tag ကိုအသုံးပြုခြင်းဖြင့် Global.asa တွင် session သို့မဟုတ် application နယ်ပယ်ဖြင့် အရာဝတ္ထုများကို ဖန်တီးနိုင်သည်။ မှတ်ချက်- <object> tag သည် <script> tag အပြင်ဘက် ဖြစ်သင့်သည်။
အထားအသို-
<object runat="server" scope="scope" id="id"
{progid="progID"|classid="classID"}>
.......
</object>
အမျိုးအစားစာကြည့်တိုက် ကြေငြာချက်များ
TypeLibrary သည် COM အရာဝတ္ထုနှင့် သက်ဆိုင်သည့် DLL ဖိုင်တစ်ခု၏ အကြောင်းအရာများအတွက် ကွန်တိန်နာတစ်ခုဖြစ်သည်။ Global.asa ဖိုင်ရှိ TypeLibrary သို့ ခေါ်ဆိုခြင်းဖြင့်၊ COM အရာဝတ္တု၏ ကိန်းသေများကို ဝင်ရောက်ကြည့်ရှုနိုင်ပြီး အမှားအယွင်းများကို ASP ကုဒ်ဖြင့် ပိုမိုကောင်းမွန်စွာ အစီရင်ခံနိုင်ပါသည်။ သင့်ဝဘ်အပလီကေးရှင်းသည် အမျိုးအစားစာကြည့်တိုက်များတွင် ဒေတာအမျိုးအစားများကိုကြေငြာထားသော COM အရာဝတ္ထုများအပေါ်တွင် မှီခိုနေပါက၊ သင်သည် Global.asa တွင် အမျိုးအစားစာကြည့်တိုက်များကို ကြေညာနိုင်ပါသည်။
အထားအသို-
<!---METADATA TYPE="TypeLib"
file="filename"
uuid="typelibraryuuid"
version="versionnumber"
lcid="localeid"
-->
Session Object ၊
Session object ကို အသုံးပြုသူ session တစ်ခုအတွက် အချက်အလက်များ သိမ်းဆည်းရန် သို့မဟုတ် ဆက်တင်များကို ပြောင်းလဲရန်အတွက် အသုံးပြုပါသည်။ Session object တွင်သိမ်းဆည်းထားသော variable များသည် သုံးစွဲသူတစ်ဦးတည်း၏ အချက်အလက်ကို ထိန်းထားနိုင်ပြီး အပလီကေးရှင်းတစ်ခုတွင် စာမျက်နှာအားလုံးတွင် ရရှိနိုင်ပါသည်။
စုစည်းမှုများ
- အကြောင်းအရာများ - ဇာတ်ညွှန်းအမိန့်များဖြင့် စက်ရှင်တွင် ထည့်သွင်းထားသော အရာတိုင်းကို ထိန်းထားပါ။
- StaticObjects - <object> tag နှင့် သတ်မှတ်ဆက်ရှင်သို့ ပေါင်းထည့်ထားသော အရာတိုင်းကို ထိန်းထားပါ။
- Contents.Remove( item/index ) - အကြောင်းအရာစုစည်းမှုမှ အကြောင်းအရာတစ်ခုကို ဖျက်သည်။
- Contents.RemoveAll() - အကြောင်းအရာများစုစည်းမှုမှ အရာတိုင်းကို ဖျက်သည်။
သတ္တိ
- CodePage - ပြောင်းလဲနေသောအကြောင်းအရာကိုပြသရန်အသုံးပြုမည့် ကုဒ်စာမျက်နှာကို သတ်မှတ်ပေးသည်။
- LCID - ရွေ့လျားနိုင်သောအကြောင်းအရာကိုပြသရန်အသုံးပြုမည့် ဒေသဆိုင်ရာသတ်မှတ်စနစ်ကို သတ်မှတ်ပေးသည်။
- SessionID - စက်ရှင် ID ကို ပြန်ပေးသည်။
- အချိန်ကုန်ခြင်း - စက်ရှင်အတွက် အချိန်ကုန်ခြင်းကို သတ်မှတ်သည်။
နည်းလမ်း
- Abandon - session object တစ်ခုရှိ အရာဝတ္တုတိုင်းကို သတ်သည်။
Application Object
ရည်ရွယ်ချက်အချို့ကိုလုပ်ဆောင်ရန် ASP ဖိုင်အုပ်စုတစ်စုကို အပလီကေးရှင်းတစ်ခုဟုခေါ်သည်။ ASP ရှိ အပလီကေးရှင်းအရာဝတ္တုကို ဤဖိုင်များကို ချိတ်ဆက်ရန် အသုံးပြုသည်။ အသုံးပြုသူအားလုံးသည် Application object တစ်ခုကို မျှဝေပါသည်။ အပလီကေးရှင်းအရာဝတ္တုသည် အပလီကေးရှင်းရှိ စာမျက်နှာများစွာမှ အသုံးပြုမည့် အချက်အလက်များကို သိမ်းဆည်းထားသင့်သည် (ဒေတာဘေ့စ်ချိတ်ဆက်မှုအချက်အလက်ကဲ့သို့)။
စုစည်းမှုများ
- အကြောင်းအရာများ - အပလီကေးရှင်းတွင် ထည့်ထားသော အရာတိုင်းကို script commands များဖြင့် ထိန်းထားပါ။
- StaticObjects - <object> tag ဖြင့် အပလီကေးရှင်းတွင် ထည့်ထားသော အရာတိုင်းကို ကိုင်ထားပါ။
- Contents.Remove - စုစည်းမှုတစ်ခုမှ အရာတစ်ခုကို ဖျက်သည်။
- Contents.RemoveAll - အစုအဝေးတစ်ခုမှ အရာတိုင်းကို ဖျက်သည်။
နည်းလမ်းများ
- လော့ခ်ချခြင်း - အသုံးပြုသူတစ်ဦးအား အပလီကေးရှင်းအရာဝတ္ထုဂုဏ်သတ္တိများကို ပြောင်းလဲခြင်းမှ တားဆီးသည်။
- လော့ခ်ချခြင်း - အသုံးပြုသူတစ်ဦးအား အပလီကေးရှင်းအရာဝတ္ထုဂုဏ်သတ္တိများကို ပြောင်းလဲခွင့်ပြုသည်။
တုံ့ပြန်မှုအရာဝတ္ထု
တုံ့ပြန်မှု Object ကို ဆာဗာမှ အသုံးပြုသူထံ အထွက်ကို ပေးပို့ရန် အသုံးပြုသည်။
စုဆောင်းမှု
- ကွတ်ကီး(အမည်) - ကွက်ကီးတန်ဖိုးကို သတ်မှတ်သည်။ cookie မရှိပါက၊ ၎င်းကိုဖန်တီးမည်ဖြစ်ပြီး သတ်မှတ်ထားသောတန်ဖိုးကိုယူပါ။
သတ္တိ
- Buffer - အထွက်ကို ကြားခံဖြစ်စေ မဖြစ်စေရ။ အထွက်အား ဒဏ်ခတ်ခံရသောအခါ၊ ဆာဗာမှ script များအားလုံးကို လုပ်ဆောင်ပြီးသည်အထိ သို့မဟုတ် script မှ Flush သို့မဟုတ် End method ကိုခေါ်သည်အထိ ဆာဗာမှ တုံ့ပြန်မှုကို ထိန်းထားမည်ဖြစ်သည်။ ဤပိုင်ဆိုင်မှုကို သတ်မှတ်ပါက၊ ၎င်းသည် ASP ဖိုင်ရှိ <html> တဂ်ရှေ့တွင် ဖြစ်သင့်သည်။
- CacheControl - ပရောက်စီဆာဗာများသည် အထွက်ကို ကက်ရှ်လုပ်နိုင်သည်ဖြစ်စေ မပြုလုပ်နိုင်သည်ကို သတ်မှတ်သည်။ အများသူငှာ သတ်မှတ်သောအခါ၊ အထွက်အား ပရောက်စီဆာဗာဖြင့် ကက်ရှ်လုပ်နိုင်ပါသည်။
- Charset ( charset_name) - ဇာတ်ကောင်အစုံ ("ISO8859-1" ကဲ့သို့) အကြောင်းအရာ အမျိုးအစား ခေါင်းစီးသို့ သတ်မှတ်ပေးသည်
- ContentType - HTTP အကြောင်းအရာအမျိုးအစား ("text/html", "image/gif", "image/jpeg", "text/plain" ကဲ့သို့) သတ်မှတ်သည်။ မူရင်းမှာ "text/html" ဖြစ်သည်
- သက်တမ်းကုန်ဆုံးသည် - စာမျက်နှာတစ်ခုအား သက်တမ်းမကုန်ဆုံးမီ ဘရောက်ဆာတစ်ခုပေါ်တွင် ကက်ရှ်လုပ်မည့် မည်မျှကြာကြာ သတ်မှတ်ပေးသည်
- ExpiresAbsolute - ဘရောက်ဆာတစ်ခုပေါ်တွင် သိမ်းဆည်းထားသော စာမျက်နှာတစ်ခု သက်တမ်းကုန်ဆုံးမည့်ရက်စွဲနှင့် အချိန်ကို သတ်မှတ်သည်။
- IsClientConnected - ကလိုင်းယင့်သည် ဆာဗာသို့ ချိတ်ဆက်နေသေးသလား စစ်ဆေးသည်။
- Pics( pics_label ) - pics label တုံ့ပြန်မှု ခေါင်းစီးသို့ တန်ဖိုးတစ်ခု ထည့်သည်။
- အခြေအနေ - အခြေအနေလိုင်း၏တန်ဖိုးကို သတ်မှတ်သည်။
နည်းလမ်းများ
- AddHeader( အမည်၊ တန်ဖိုး ) - သတ်မှတ်ထားသောတန်ဖိုးဖြင့် HTML ခေါင်းစီးတစ်ခုကို ပေါင်းထည့်သည်။
- AppendToLog string - ဆာဗာမှတ်တမ်းဝင်ရောက်မှု၏အဆုံးတွင် စာကြောင်းတစ်ခုထည့်သည်။
- BinaryWrite( data_to_write ) - စာလုံးပုံစံပြောင်းလဲခြင်းမရှိဘဲ ပေးထားသောအချက်အလက်ကို ရေးပါ။
- Clear - buffered output ကိုရှင်းလင်းပါ။ အမှားများကို ကိုင်တွယ်ဖြေရှင်းရန် ဤနည်းလမ်းကို အသုံးပြုပါ။ Response.Buffer ကို အမှန်ဟု မသတ်မှတ်ပါက၊ ဤနည်းလမ်းသည် run-time error ကို ဖြစ်စေသည်။
- အဆုံးသတ် - ဇာတ်ညွှန်းကို လုပ်ဆောင်ခြင်းကို ရပ်လိုက်ပြီး လက်ရှိရလဒ်ကို ပြန်ပေးသည်။
- Flush - buffed output ကိုချက်ချင်းပို့သည်။ Response.Buffer ကို အမှန်ဟု မသတ်မှတ်ပါက၊ ဤနည်းလမ်းသည် run-time error ကို ဖြစ်စေသည်။
- Redirect ( url ) - အသုံးပြုသူကို အခြား url သို့ ပြန်ညွှန်းသည်။
- Write( data_to_write ) - အသုံးပြုသူထံသို့ စာသားတစ်ခု ရေးပါ။
Object ကို တောင်းဆိုပါ။
ဘရောက်ဆာတစ်ခုသည် ဆာဗာတစ်ခုမှ စာမျက်နှာတစ်ခုကို တောင်းဆိုသောအခါ၊ ၎င်းကို တောင်းဆိုမှုဟုခေါ်သည်။ Request Object ကို အသုံးပြုသူထံမှ အချက်အလက်ရယူရန် အသုံးပြုသည်။
စုဆောင်းမှု
- ClientCertificate - ကလိုင်းယင့်လက်မှတ်တွင် သိမ်းဆည်းထားသော အကွက်တန်ဖိုးများကို ကိုင်ဆောင်ထားသည်။
- ကွတ်ကီး( အမည် ) - ကွတ်ကီးတန်ဖိုးများကို ကိုင်ဆောင်ထားသည်။
- Form( element_name ) - ဖောင် (ထည့်သွင်းမှု) တန်ဖိုးများကို ကိုင်ဆောင်ထားသည်။ ဖောင်တင်နည်းကို အသုံးပြုရပါမည်။
- QueryString( variable_name ) - query string တွင် ပြောင်းလဲနိုင်သော တန်ဖိုးများကို ထိန်းထားသည်။
- ServerVariables( server_variable ) - ဆာဗာပြောင်းလဲနိုင်သောတန်ဖိုးများကို ကိုင်ဆောင်ထားသည်။
ပစ္စည်းဥစ္စာ
- TotalBytes - တောင်းဆိုချက်၏ကိုယ်ထည်တွင် ကလိုင်းယင့်ပေးပို့သည့် စုစုပေါင်းဘိုက်အရေအတွက်ကို ကိုင်ထားသည်။
နည်းလမ်း
- BinaryRead - ပို့စ်တောင်းဆိုမှု၏တစ်စိတ်တစ်ပိုင်းအနေဖြင့် client မှဆာဗာသို့ပေးပို့သောဒေတာကိုရယူပါ။
ဆာဗာအရာဝတ္ထု
ဆာဗာ Object ကို ဆာဗာရှိ ဂုဏ်သတ္တိများနှင့် နည်းလမ်းများကို ဝင်ရောက်ကြည့်ရှုရန် အသုံးပြုသည်။
ပစ္စည်းဥစ္စာ
- ScriptTimeout - ဇာတ်ညွှန်းတစ်ခုသည် ၎င်းကိုမရပ်စဲမီမည်မျှကြာကြာလည်ပတ်နိုင်သည်ကို သတ်မှတ်ပေးသည်။
နည်းလမ်း
- CreateObject( type_of_object ) - အရာဝတ္ထုတစ်ခု၏ ဥပမာတစ်ခုကို ဖန်တီးသည်။
- Execute( လမ်းကြောင်း ) - အခြား ASP ဖိုင်အတွင်းမှ ASP ဖိုင်ကို လုပ်ဆောင်သည်။ ဟုခေါ်သော ASP ဖိုင်ကို လုပ်ဆောင်ပြီးနောက်၊ ထိန်းချုပ်မှုကို မူလ ASP ဖိုင်သို့ ပြန်သွားခဲ့သည်။
- GetLastError() - ဖြစ်ပွားခဲ့သော error ကိုဖော်ပြမည့် ASPError အရာဝတ္ထုကို ပြန်ပေးသည်။
- HTMLEncode( string ) - HTML ကုဒ်ကို စာကြောင်းတစ်ခုတွင် အသုံးပြုသည်။
- MapPath( လမ်းကြောင်း ) - ရုပ်ပိုင်းဆိုင်ရာလမ်းကြောင်းတစ်ခုဆီသို့ ဆွေမျိုး သို့မဟုတ် virtual လမ်းကြောင်းကို ပုံဖော်ပါ။
- လွှဲပြောင်းခြင်း( လမ်းကြောင်း ) - လုပ်ဆောင်ရန်အတွက် အခြား ASP ဖိုင်သို့ ပြည်နယ်အချက်အလက်အားလုံးကို ပေးပို့သည်။ လွှဲပြောင်းပြီးနောက်၊ လုပ်ထုံးလုပ်နည်းထိန်းချုပ်မှုသည် မူလ ASP ဖိုင်သို့ ပြန်မလာပါ။
- URLEncode( string ) - string တစ်ခုတွင် URL ကုဒ်သွင်းခြင်းစည်းမျဉ်းများကို အသုံးပြုသည်။
အရင်းအမြစ် : https://www.w3schools.com/asp/asp_quickref.asp