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
болгон абалда, кайта багыттоо болушун түзүңүз.