PHP-де параметрлер қосу арқылы өздігінен редирект
index.php бетінде
arg атымен GET параметрі
берілсін. Оның мазмұнын экранға шығарайық:
<?php
echo $_GET['arg'];
?>
Біздің бетіміз GET параметрсіз
дұрыс жұмыс істей алмасын. Біздің жағдайда
бұл шынымен де солай, себебі, егер параметр
берілмесе, $_GET['arg'] мәніне жету
қателікке әкеп соғады.
Адам шынымен де параметрсіз біздің бетке қалай түсе алады деген сұрақ туындауы мүмкін? Өйткені біз біздің сайттың барлық жерлерінде осы параметрі бар сілтемелерді қоя аламыз. Бірақ, бұл кепілдік емес: сайтымыздың пайдаланушысы, мысалы, сілтемені бір жерден көшіріп алып, осы процесте параметрді жоғалтып қоюы мүмкін. Немесе жай ғана оны кездейсоқ жоюы мүмкін, мекенжай жолын өңдеген кезде.
Жалпы, кез келген жағдайда біздің код мұндай жағдайды болжап, онымен бірдеңе істеуі керек. Не істеуге болады?
Біздің 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 болатындай етіп жасаңыз.