PHP Form ကိုင်တွယ်ခြင်း။
PHP superglobals $_GET နှင့် $_POST ကို ပုံစံ-ဒေတာ စုဆောင်းရန်အတွက် အသုံးပြုပါသည်။
PHP - ရိုးရှင်းသော HTML ပုံစံ
အောက်ဖော်ပြပါ ဥပမာတွင် ထည့်သွင်းမှုအကွက်နှစ်ခုနှင့် တင်သွင်းရန်ခလုတ်တစ်ခုပါရှိသော ရိုးရှင်းသော HTML ဖောင်ပုံစံကို ပြသသည်-
ဥပမာ
<html>
<body>
<form action="welcome.php" method="post">
Name: <input type="text" name="name"><br>
E-mail: <input type="text" name="email"><br>
<input type="submit">
</form>
</body>
</html>
အသုံးပြုသူသည် အထက်ဖော်ပြပါ ဖောင်ကိုဖြည့်ပြီး တင်သွင်းရန် ခလုတ်ကို နှိပ်သောအခါ၊ ဖောင်ဒေတာကို "welcome.php" ဟု အမည်ပေးထားသော PHP ဖိုင်တစ်ခုသို့ လုပ်ဆောင်ရန်အတွက် ပေးပို့သည်။ ဖောင်ဒေတာကို HTTP POST နည်းလမ်းဖြင့် ပေးပို့သည်။
တင်သွင်းထားသောဒေတာကိုပြသရန် သင်သည် ကိန်းရှင်အားလုံးကို ပဲ့တင်ထပ်နိုင်သည်။ "welcome.php" သည် ဤကဲ့သို့ ဖြစ်သည်-
<html>
<body>
Welcome <?php echo $_POST["name"]; ?><br>
Your email address is: <?php echo $_POST["email"]; ?>
</body>
</html>
အထွက်သည် ဤကဲ့သို့သော အရာမျိုး ဖြစ်နိုင်သည်-
Welcome John
Your email address is [email protected]
HTTP GET နည်းလမ်းကို အသုံးပြု၍ အလားတူရလဒ်ကိုလည်း ရရှိနိုင်သည်။
ဥပမာ
<html>
<body>
<form action="welcome_get.php" method="get">
Name: <input type="text" name="name"><br>
E-mail: <input type="text" name="email"><br>
<input type="submit">
</form>
</body>
</html>
နှင့် "welcome_get.php" သည် ဤကဲ့သို့ ဖြစ်သည်-
<html>
<body>
Welcome <?php echo $_GET["name"]; ?><br>
Your email address is: <?php echo $_GET["email"]; ?>
</body>
</html>
အပေါ်က code က တော်တော်ရိုးရှင်းပါတယ်။ သို့သော် အရေးကြီးဆုံးအချက်မှာ ပျောက်ဆုံးနေပါသည်။ သင့် script ကို အန္တရာယ်ရှိသော ကုဒ်မှ ကာကွယ်ရန် သင်သည် ဖောင်ဒေတာကို တရားဝင်အောင် ပြုလုပ်ရန် လိုအပ်ပါသည်။
PHP ဖောင်များကို လုပ်ဆောင်သည့်အခါ လုံခြုံရေးကို စဉ်းစားပါ။
ဤစာမျက်နှာတွင် ဖောင်အတည်ပြုခြင်းမပါဝင်ပါ၊ ဖောင်ဒေတာကို သင်ပေးပို့နိုင်ပုံနှင့် ထုတ်ယူနိုင်ပုံကို ပြသရုံသာဖြစ်သည်။
သို့သော်၊ နောက်စာမျက်နှာများတွင် လုံခြုံရေးစိတ်ဖြင့် PHP ဖောင်များကို မည်သို့လုပ်ဆောင်ရမည်ကို ပြသပါမည်။ သင့်ဖောင်ကို ဟက်ကာများနှင့် spammer များထံမှ ကာကွယ်ရန် မှန်ကန်သော ဖောင်ဒေတာကို မှန်ကန်စွာအတည်ပြုခြင်းသည် အရေးကြီးပါသည်။
ယှဉ်၍ ပို့စ်ရယူပါ။
GET နှင့် POST နှစ်ခုစလုံးသည် array တစ်ခုကို ဖန်တီးသည် (ဥပမာ array(key1 => value1, key2 => value2, key3 => value3, ...))။ ဤအခင်းအကျင်းသည် သော့/တန်ဖိုးအတွဲများကို ကိုင်ဆောင်ထားပြီး၊ သော့များသည် ဖောင်ထိန်းချုပ်မှုများ၏ အမည်များနှင့် တန်ဖိုးများသည် အသုံးပြုသူထံမှ ထည့်သွင်းဒေတာများဖြစ်သည်။
GET နှင့် POST နှစ်ခုလုံးကို $_GET နှင့် $_POST အဖြစ် သတ်မှတ်သည်။ ၎င်းတို့သည် စူပါဂလိုဘယ်များဖြစ်သည်၊ ဆိုလိုသည်မှာ ၎င်းတို့သည် နယ်ပယ်မခွဲခြားဘဲ အမြဲတမ်းဝင်ရောက်နိုင်သည်ဟု ဆိုလိုသည်မှာ ၎င်းတို့ကို မည်သည့်လုပ်ဆောင်ချက်၊ အတန်း သို့မဟုတ် ဖိုင်မှမဆို ၎င်းတို့ကို အထူးလုပ်ဆောင်စရာမလိုဘဲ ဝင်ရောက်နိုင်သည်။
$_GET သည် URL ဘောင်များမှတဆင့် လက်ရှိ script သို့ ပေးပို့သော ကိန်းရှင်များဖြစ်သည်။
$_POST သည် HTTP POST နည်းလမ်းမှတစ်ဆင့် လက်ရှိ script သို့ ပေးပို့သော ကိန်းရှင်များဖြစ်သည်။
GET ကို ဘယ်အချိန်မှာ သုံးမလဲ။
GET နည်းလမ်းဖြင့် ဖောင်တစ်ခုမှ ပေးပို့သော အချက်အလက်ကို လူတိုင်းမြင်နိုင် သည် (ပြောင်းလဲနိုင်သော အမည်များနှင့် တန်ဖိုးအားလုံးကို URL တွင် ပြသထားသည်)။ GET သည် ပေးပို့ရမည့် အချက်အလက် ပမာဏကိုလည်း ကန့်သတ်ချက်များ ရှိပါသည်။ ကန့်သတ်ချက်မှာ စာလုံးရေ 2000 ခန့်ရှိသည်။ သို့သော်၊ ကိန်းရှင်များကို URL တွင်ပြသထားသောကြောင့်၊ စာမျက်နှာကို bookmark လုပ်နိုင်သည်။ ၎င်းသည် အချို့ကိစ္စများတွင် အသုံးဝင်နိုင်သည်။
အထိခိုက်မခံသော ဒေတာပေးပို့ခြင်းအတွက် GET ကို အသုံးပြုနိုင်သည်။
မှတ်ချက်- GET သည် စကားဝှက်များ သို့မဟုတ် အခြား အရေးကြီးသော အချက်အလက်များကို ပေးပို့ရာတွင် မည်သည့်အခါမျှ အသုံးမပြုသင့်ပါ။
POST ကို ဘယ်အချိန်မှာ သုံးမလဲ။
POST နည်းလမ်းဖြင့် ဖောင်တစ်ခုမှ ပေးပို့သော အချက်အလက်ကို အခြားသူများမှ မမြင်နိုင်ပါ (HTTP တောင်းဆိုမှု၏ စာကိုယ်အတွင်းတွင် မြှုပ်နှံထားသော အမည်များ/တန်ဖိုးများ) ရှိပြီး ပေးပို့ရမည့် အချက်အလက် ပမာဏအပေါ် ကန့်သတ်ချက်မရှိပါ ။
ထို့အပြင် POST သည် ဆာဗာသို့ ဖိုင်များတင်နေစဉ်အတွင်း အစိတ်အပိုင်းပေါင်းစုံ binary input အတွက် ပံ့ပိုးမှုကဲ့သို့သော အဆင့်မြင့် လုပ်ဆောင်ချက်များကို ပံ့ပိုးပေးပါသည်။
သို့သော်၊ ကိန်းရှင်များကို URL တွင်မပြသသောကြောင့်၊ စာမျက်နှာကို bookmark လုပ်ရန်မဖြစ်နိုင်ပါ။
ဖောင်ဒေတာပေးပို့ခြင်းအတွက် Developer များသည် POST ကို နှစ်သက်ကြသည်။
ထို့နောက်၊ PHP form များကို လုံခြုံသောနည်းလမ်းဖြင့် မည်သို့လုပ်ဆောင်နိုင်သည်ကို ကြည့်ကြပါစို့။