⊗ppPmRdSWP 407 of 447 menu

Samopreusmeritev z dodajanjem parametrov v PHP

Naj na strani index.php se prenese GET parameter z imenom arg. Izpišimo njegovo vsebino na zaslon:

<?php echo $_GET['arg']; ?>

Naj naša stran brez GET parametra ne more delovati pravilno. V našem primeru je to res tako, saj bo, če parameter ni podan, dostop do $_GET['arg'] povzročil napako.

Lahko se pojavi vprašanje, zakaj sploh človek pride na našo stran brez parametra? Navsezadnje lahko povsod na našem spletnem mestu postavimo povezave s tem parametrom. Vendar to ni garancija: uporabnik našega spletnega mesta lahko na primer kopira od kod drugod povezavo in pri tem izgubi parameter. Ali pa ga samo po naključju izbriše, ko ureja naslovno vrstico.

Vsekakor mora naša koda predvideti takšno situacijo in nekaj storiti z njo. Kaj pa lahko storimo?

Lahko preverimo obstoj našega GET parametra in ga izpišemo le, če obstaja:

<?php if (isset($_GET['arg'])) { echo $_GET['arg']; } else { // nekako reagirajmo, na primer s sporočilom } ?>

Lahko pa ravnamo bolj zvitO:

<?php if (!isset($_GET['arg'])) { $_GET['arg'] = 'default'; // privzeta vrednost } echo $_GET['arg']; // zagotovo nekaj izpiše brez napake ?>

Lahko pa naredimo tako, da ob dostopu na stran brez parametra pride do preusmeritve na to isto stran s parametrom:

<?php if (!isset($_GET['arg'])) { header('Location: ?arg=default'); } echo $_GET['arg']; // parameter je zagotovo prisoten ?>

Povejte, v čem je razlika med drugo možnostjo in tretjo.

Naj na strani page.php lahko podamo število s pomočjo GET parametra z imenom num. Naredite tako, da ob dostopu brez tega parametra, samodejno pride do preusmeritve na to isto stran, vendar s parametrom num z vrednostjo 1.

Slovenščina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Za delovanje spletnega mesta, analitiko in personalizacijo uporabljamo piškotke. Obdelava podatkov poteka v skladu s Politiko zasebnosti.
sprejmi vse nastavi zavrni