Kuelekeza Upya kwa Kujiongezea Vigezo katika PHP
Acha kwenye ukurasa index.php kupeanwe
kigezo cha GET chenye jina arg.
Tuonyeshe yaliyomo yake kwenye skrini:
<?php
echo $_GET['arg'];
?>
Acha ukurasa wetu bila kigezo cha GET
usiweze kufanya kazi ipasavyo. Katika kesi yetu
hii ni kweli, kwani, ikiwa kigezo
hakiapeanwa, basi kurejelea $_GET['arg']
kitasababisha hitilafu.
Inaweza kutokea swali, kwa nini mtu ataingia kwenye ukurasa wetu bila kigezo? Hakika tunaweza kuweka viungo kila mahali kwenye wavuti yetu na kigezo hiki. Hata hivyo, hii sio dhamana: mtumiaji wa wavuti yetu anaweza, kwa mfano, kunakili kiungo kutoka mahali popote na kupoteza wakati huo huo kigezo. Au tu kuifuta kwa bahati mbaya, wakati akihariri mstari wa anwani.
Kwa ujumla, kwa hali yoyote code yetu inapaswa kukisia hali kama hiyo na kufanya kitu nayo. Nini chaweza kufanywa?
Inawezekana kuangalia kigezo chetu cha GET kwa uwepo na kuonyesha tu ikiwa ipo:
<?php
if (isset($_GET['arg'])) {
echo $_GET['arg'];
} else {
// tunaitikia kwa namna fulani, kwa mfano, kwa ujumbe
}
?>
Inaweza kufanyika kwa werevu zaidi:
<?php
if (!isset($_GET['arg'])) {
$_GET['arg'] = 'default'; // thamani chaguomsingi
}
echo $_GET['arg']; // kwa dhamana itaonyesha kitu bila hitilafu
?>
Lakini inaweza kufanyika ili wakati wa kuingia kwenye ukurasa bila kigezo kutokeae uelekezaji upya kwenye ukurasa huohuo na kigezo:
<?php
if (!isset($_GET['arg'])) {
header('Location: ?arg=default');
}
echo $_GET['arg']; // kigezo kipo kwa dhamana
?>
Eleza, ni tofauti gani kati ya chaguo la pili na la tatu.
Acha kwenye ukurasa page.php iweze kupitishwa
nambari kwa kutumia kigezo cha GET chenye jina
num. Fanya ili wakati wa kuingia
bila kigezo hiki, automatikasi ifanyike
uelekezaji upya kwenye ukurasa huohuo, lakini na kigezo
num kwa thamani 1.