PHP-də parametr əlavə etməklə öz-özünə yönləndirmə
Tutaq ki, index.php səhifəsində
adı arg olan GET parametri ötürülür.
Gəlin onun məzmununu ekranda çap edək:
<?php
echo $_GET['arg'];
?>
Tutaq ki, bizim səhifəmiz GET parametri olmadan
düzgün işləyə bilməz. Bizim vəziyyətimizdə
bu, həqiqətən də belədir, çünki parametr
ötürülməyibsə, $_GET['arg']-ə müraciət
xətaya səbəb olacaq.
Sual yarana bilər: insan ümumiyyətlə necə parametrsiz olaraq bizim səhifəmizə düşə bilər? Axı biz saytımızın hər yerində bu parametrli keçidlər qoya bilərik. Lakin bu, zəmanət deyil: məsələn, saytımızın istifadəçisi haradasa keçidi kopyalayarkən parametri itirə bilər. Ya da sadəcə ünvan sətirini redaktə edərkən təsadüfən onu silə bilər.
Ümumiyyətlə, hər halda bizim kodumuz belə bir vəziyyəti nəzərdə tutmalı və onunla nə etməlidir. Bəs nə etmək olar?
Bizim GET parametrimizin olub-olmadığını yoxlamaq və yalnız varsa onu çap etmək olar:
<?php
if (isset($_GET['arg'])) {
echo $_GET['arg'];
} else {
// nəticəsini nə iləsə verək, məsələn, mesajla
}
?>
Daha hiyləgərcəsinə edə bilərik:
<?php
if (!isset($_GET['arg'])) {
$_GET['arg'] = 'default'; // standart dəyər
}
echo $_GET['arg']; // səhvsiz şəkildə nə isə çap edəcək
?>
Ya da edə bilərik ki, parametrsiz səhifəyə gəlişdə həmin səhifəyə parametr ilə yönləndirmə baş versin:
<?php
if (!isset($_GET['arg'])) {
header('Location: ?arg=default');
}
echo $_GET['arg']; // parametr zəmanətlə var
?>
İkinci variantla üçüncü variant arasındakı fərqi izah edin.
Tutaq ki, page.php səhifəsində
adi num adlı GET parametri ilə
ədəd ötürmək olar. Elə edin ki, bu parametr
olmadan gəlişdə avtomatik olaraq həmin səhifəyə,
lakin num parametri 1 dəyərində
olmaqla yönləndirmə yerinə yetirilsin.