⊗ppPmRdSWP 407 of 447 menu

Önátirányítás paraméterek hozzáadásával PHP-ben

Tegyük fel, hogy a index.php oldalon átadunk egy GET paramétert, melynek neve arg. Jelenítsük meg a tartalmát a képernyőn:

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

Tegyük fel, hogy oldalunk nem működhet helyesen a GET paraméter nélkül. Esetünkben ez valóban így van, mivel, ha a paraméter nincs megadva, akkor a $_GET['arg'] elérése hibához vezet.

Felmerülhet a kérdés, hogy egyáltalán hogyan kerülhet valaki a oldalunkra paraméter nélkül? Hiszen webhelyünkön mindenhol elhelyezhetünk linkeket ezzel a paraméterrel. Ez azonban nem garancia: webhelyünk felhasználója például másolhatja a linket valahonnan, és eközben elveszítheti a paramétert. Vagy egyszerűen véletlenül törölheti azt, miközben szerkeszti a címsort.

Mindenesetre kódunknak fel kell készülnie egy ilyen helyzetre, és tennie kell valamit. Mit tehetünk hát?

Ellenőrizhetjük, hogy a GET paraméterünk létezik-e, és csak akkor jeleníthetjük meg, ha létezik:

<?php if (isset($_GET['arg'])) { echo $_GET['arg']; } else { // valahogy reagálunk, például üzenettel } ?>

Legyélhetünk rafináltabbak is:

<?php if (!isset($_GET['arg'])) { $_GET['arg'] = 'default'; // alapértelmezett érték } echo $_GET['arg']; // garantáltan kiír valamit hiba nélkül ?>

Vagy megtehetjük, hogy amikor paraméter nélkül érkeznek az oldalra, akkor történjen átirányítás ugyanerre az oldalra a paraméterrel:

<?php if (!isset($_GET['arg'])) { header('Location: ?arg=default'); } echo $_GET['arg']; // a paraméter garantáltan létezik ?>

Mesélj el, mi a különbség a második és a harmadik megoldás között.

Tegyük fel, hogy a page.php oldalon átadhatunk egy számot a num nevű GET paraméterrel. Állítsd be úgy, hogy amikor a paraméter nélkül érkeznek az oldalra, automatikusan végrehajtódjon egy átirányítás ugyanerre az oldalra, de a num paraméter 1 értékkel.

Magyar
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
A weboldal működéséhez, elemzéshez és személyre szabáshoz sütiket használunk. Az adatfeldolgozás a Adatvédelmi irányelvek szerint történik.
összes elfogadása beállítás elutasítás