PHP တစ်ဖိုင်ထဲတွင် ဖောင်တစ်ခုကို ကိုင်တွယ်ခြင်း

ယခင်သင်ခန်းစာတွင် ကျွန်ုပ်တို့၏ဖောင်ကို စာမျက်နှာတစ်ခုတွင် ထားရှိပြီး အခြားတစ်ခုသို့ ပေးပို့ခဲ့သည်။ အမှန်တော့ ဤသို့လုပ်ရန်မလိုအပ်ပါ။ အကယ်၍ attribute action ကို ဗလာထားခြင်း (သို့မဟုတ်) ဖယ်ရှားပစ်လိုက်ပါက ဖောင်သည် ယင်း၏ စာမျက်နှာပေါ်သို့ပင် ပေးပို့သွားပါမည်။

ဤသို့အလုပ်လုပ်ပုံ - ပထမဆုံးအကြိမ် စာမျက်နှာသို့ဝင်ရောက်သည့်အခါ ကျွန်ုပ်တို့သည် ဖောင်ကို အချက်အလက်များဖြင့် ဖြည့်ပြီး ခလုတ်ကို နှိပ်ပါမည်။ ထို့နောက် စာမျက်နှာ ပြန်လည်စတင်ပြီး ၎င်း၏ကုဒ်များကို ဖောင်ဒေတာများနှင့်အတူ နောက်တစ်ကြိမ် ထပ်မံအလုပ်လုပ်စေပါမည်။

ဥပမာတစ်ခုကို ကြည့်ရှုကြပါစို့။ ကျွန်ုပ်တို့၌ ဖိုင်တစ်ဖိုင်ထဲတွင် ဖောင်တစ်ခုနှင့် ၎င်း၏ ကိုင်တွယ်မှုရှိသည်ဆိုပါစို့။

form.php<form action="" method="GET">
  <input name="test1">
  <input name="test2">
  <input type="submit">
</form>

<?php
  var_dump($_GET);
?>

ပထမဆုံးအကြိမ် စာမျက်နှာသို့ဝင်ရောက်သည့်အခါ var_dump function သည် ဗလာ array တစ်ခုကို ပြသပေးပါမည်။ ဖောင်ပေးပို့ပြီးနောက်တွင် ၎င်းသည် ဖောင်၏အချက်အလက်များကို ပြသပေးပါမည်။ ဆိုလိုသည်မှာ ပထမအကြိမ် $_GET သည် ဗလာဖြစ်နေပြီး၊ ဒုတိယအကြိမ်၌ - ဖောင်၏အချက်အလက်များကို ပါဝင်ထားပါလိမ့်မည်။

ဤသို့ဖြစ်ခြင်းသည် ပြဿနာများကို ဖြစ်ပေါ်စေနိုင်ပါသည်။ ဥပမာ၊ ကျွန်ုပ်တို့သည် ဖောင်ထဲသို့ နံပါတ်များကို ရိုက်ထည့်မည်ဖြစ်ပြီး ထိုနံပါတ်များ၏ ပေါင်းလဒ်ကို စခရင်ပေါ်တွင် ပြသလိုသည်ဆိုပါစို့။

html<form action="" method="GET">
  <input name="test1">
  <input name="test2">
  <input type="submit">
</form>

<?php
  echo $_GET['test1'] + $_GET['test2'];
?>

ဤအခြေအနေတွင် ပထမဆုံးအကြိမ် စာမျက်နှာသို့ဝင်ရောက်သည့်အခါ ကျွန်ုပ်တို့သည် PHP error များကို တွေ့ရှိရမည်ဖြစ်သည်။ ထိုအမှားများမှာ $_GET array သည် ဗလာဖြစ်နေသော်လည်း ကျွန်ုပ်တို့က ၎င်း၏ element များကို ဆက်သွယ်ယူဆောင်နေခြင်းကြောင့်ဖြစ်သည်။

ဤနေရာတွင် သင့်၌ error များ ပေါ်ပေါက်ချင်မှပေါ်ပေါက်မည်ကို ပြောထားရပါမည်။ ထိုသို့မဖြစ်ပါက သင့်၌ PHP error များ ပြသခြင်းဖွင့်ထားပြီးကြောင်း စစ်ဆေးပါ၊ ထို့အပြင် သင် ပထမဆုံးအကြိမ် စာမျက်နှာသို့ ဝင်ရောက်နေပြီး address bar တွင် ဖောင်၏အချက်အလက်များ မရှိကြောင်း သေချာပါစေ။

ပြဿနာကို ပြင်ဆင်ကြပါစို့။ ထိုသို့လုပ်ရန် condition တစ်ခုထည့်ပါမည်၊ ထို condition တွင် ဖောင်ပေးပို့ခဲ့ပြီးကြောင်း စစ်ဆေးပါမည်။

ဥပမာ၊ $_GET ကို ဗလာမဟုတ်ခြင်းအတွက် စစ်ဆေးနိုင်ပါသည်။ အကယ်၍ $_GET သည် ဗလာမဟုတ်ပါက - ဖောင်သည် ပေးပို့ခဲ့ပြီးဖြစ်ပြီး ပေါင်းခြင်းကို လုပ်ဆောင်နိုင်ပါသည်။ အခြားသောအခြေအနေတွင် ကျွန်ုပ်တို့သည် စာမျက်နှာသို့ ပထမဆုံးအကြိမ် ဝင်ရောက်နေဆဲဖြစ်ပြီး ပေါင်းခြင်းကို မလုပ်ဆောင်ရသေးပါ။ ထို့ကြောင့် ပြင်ဆင်ထားသောကုဒ်မှာ ဤသို့ဖြစ်သည်။

html<form action="" method="GET">
  <input name="test1">
  <input name="test2">
  <input type="submit">
</form>

<?php
  if (!empty($_GET)) {
    echo $_GET['test1'] + $_GET['test2'];
  }
?>
Задание 1

အသုံးပြုသူထံမှ မိသားစုအမည်၊ ကိုယ်ပိုင်အမည်နှင့် ဘွဲ့အမည်ကို မေးမြန်းပါ။ ဖောင်ပေးပို့ပြီးနောက် ရိုက်ထည့်ထားသော အချက်အလက်များကို စခရင်ပေါ်တွင် ပြသပါ။