PHP တွင် အခြေအနေများထည့်သွင်းကာ ကိုယ်တိုင်ညွှန်ကြားခြင်း

စာမျက်နှာ index.php တွင် အမည် arg ဖြင့် GET အခြေအနေတစ်ခု ပေးပို့ထားသည်ဆိုပါစို့။ ၎င်း၏အကြောင်းအရာကို စခရင်ပေါ်တွင် ဖော်ပြပါမည်။

index.php<?php
  echo $_GET['arg'];
?>

GET အခြေအနေမပါဘဲ ကျွန်ုပ်တို့၏စာမျက်နှာသည် အောင်မြင်စွာအလုပ်မလုပ်နိုင်ဟု ဆိုပါစို့။ ကျွန်ုပ်တို့၏ကိစ္စတွင် အခြေအနေမပေးပို့ပါက $_GET['arg'] သို့ပြောဆိုခြင်းသည် အမှားတစ်ခုဖြစ်စေမည်ဖြစ်သောကြောင့် ၎င်းသည် အမှန်တကယ်ဖြစ်သည်။

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

ယေဘုယျအားဖြင့်၊ မည်သည့်ကိစ္စတွင်မဆို ကျွန်ုပ်တို့၏ကုဒ်သည် ဤအခြေအနေကို ကြိုတင်မှန်းဆပြီး ၎င်းနှင့်ပတ်သက်၍ တစ်ခုခုလုပ်ဆောင်သင့်သည်။ ဘာလုပ်နိုင်သနည်း။

ကျွန်ုပ်တို့၏ GET အခြေအနေ တည်ရှိမှုကို စစ်ဆေးပြီး ၎င်းတည်ရှိမှသာ ဖော်ပြနိုင်သည်။

index.php<?php
  if (isset($_GET['arg'])) {
    echo $_GET['arg'];
  } else {
    // တစ်နည်းနည်းဖြင့် တုံ့ပြန်ပါ၊ ဥပမာ မက်ဆေ့ဂျ်ဖြင့်
  }
?>

ပိုပြီးလိမ္မာပါးနပ်စွာ လုပ်ဆောင်နိုင်သည်။

index.php<?php
  if (!isset($_GET['arg'])) {
    $_GET['arg'] = 'default'; // ရိုးရာအဖြစ် တန်ဖိုး
  }
  
  echo $_GET['arg']; // အမှားမရှိဘဲ တစ်ခုခုကို အာမခံချက်ဖြင့် ဖော်ပြမည်
?>

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

index.php<?php
  if (!isset($_GET['arg'])) {
    header('Location: ?arg=default');
  }
  
  echo $_GET['arg']; // အခြေအနေသည် အာမခံထားသည်
?>
Задание 1

ဒုတိယနည်းလမ်းနှင့် တတိယနည်းလမ်းတို့၏ ကွာခြားချက်ကို ရှင်းပြပါ။

Задание 2

စာမျက်နှာ page.php တွင် အမည် num ဖြင့် GET အခြေအနေကို အသုံးပြု၍ နံပါတ်တစ်ခုပေးပို့နိုင်သည်ဆိုပါစို့။ ဤအခြေအနေမပါဘဲ ဝင်ရောက်သောအခါ၊ အလိုအလျောက်အလားတူစာမျက်နှာသို့ ညွှန်ကြားခြင်းလုပ်ဆောင်ပြီး num အခြေအနေ၏ တန်ဖိုးကို 1 ဖြင့် သတ်မှတ်ပါ။