PHP да параметр қўшиш билан ўзига қайта йўналтириш
Саҳифа index.php да
arg номли GET параметри
юзга келтирилсин. Унинг ичидаги маълумотни
экранга чиқарамиз:
<?php
echo $_GET['arg'];
?>
Бизнинг саҳифамиз GET параметрисз ишлай
олмасин. Бизнинг ҳолатимизда, параметр
юзга келтирилмаган бўлса, $_GET['arg'] га
муроожат хатоликка олиб келади.
Савл тугʻилиши мумкин, нега инсон умуман параметрсиз бизнинг саҳифага тушсин? Axir биз сайтимизда бу параметр билан ҳаволаларни қўйишимиз мумкин. Аммо, бу кафолат эмас: сайтимизнинг фойдаланувчиси, масалан, бирор жойдан ҳаволани нусхалаб олиб, шу пайтда параметрни йўқотиб қўйиши мумкин. Ёки жуда оддийгина уни тасодифан ўчириб қўйиши мумкин, манзил сатрини таҳрирлаш жараёнида.
Умуман, ҳар қандай ҳолатда бизнинг кодимиз бундай вазниятни ҳисобга олиши керак ва унинг билан бирор иш қилиши керак. Нима қилиш мумкин?
Бизнинг GET параметримизнинг мавжудлигини текширишимиз ва у мавжуд бўлгандагина уни чиқаришимиз мумкин:
<?php
if (isset($_GET['arg'])) {
echo $_GET['arg'];
} else {
// бирор усулда жавоб берамиз, масалан, хабар билан
}
?>
Яна ақллироқ усулда ҳам амалга ошириш мумкин:
<?php
if (!isset($_GET['arg'])) {
$_GET['arg'] = 'default'; // Андоза бўйича қиймат
}
echo $_GET['arg']; // Хатоликсиз бирор нарсани чиқаради
?>
Параметрсиз саҳифага кирилганда, ўзига қайта йўналтиришни параметр билан амалга ошириш ҳам мумкин:
<?php
if (!isset($_GET['arg'])) {
header('Location: ?arg=default');
}
echo $_GET['arg']; // Параметр мавжудлиги кафолатланган
?>
Иккинчи вариант учинчи вариантдан қандай фарқ қиланини тушантиринг.
page.php саҳифасида num номли
GET параметри ёрдамида сон юбориш мумкин бўлсин.
Бу параметрсиз кирилганда, автоматик равишда
ўзига қайта йўналтирилишини, лекин num
паратрнинг қиймати 1 бўлган ҳолдагина
бажарилишини таъминланг.