⊗ppPmRdSWP 407 of 447 menu

Pašnovirzīšanās ar parametru pievienošanu PHP

Lai lapā index.php tiek nodots GET parametrs ar nosaukumu arg. Izvadīsim tā saturu uz ekrāna:

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

Pieņemsim, ka mūsu lapa bez GET parametra nevar darboties korekti. Mūsu gadījumā tā patiešām ir, jo, ja parametrs nav nodots, tad piekļuve $_GET['arg'] izraisīs kļūdu.

Var rasties jautājums, kāpēc vispār cilvēks var nokļūt mūsu lapā bez parametra? Galu galā mēs visur savā vietnē varam ievietot saites ar šo parametru. Tomēr tas nav garantija: mūsu vietnes lietotājs var, piemēram, kopēt saiti no kaut kurienes un zaudēt parametru. Vai arī vienkārši nejauši to izdzēst, rediģējot adreses joslu.

Kopumā, jebkurā gadījumā mūsu kodam jāparedz šāda situācija un kaut kas ar to jādara. Ko tad var izdarīt?

Var pārbaudīt mūsu GET parametra esamību un izvadīt to, tikai ja tāds pastāv:

<?php if (isset($_GET['arg'])) { echo $_GET['arg']; } else { // kā reaģēt, piemēram, ar paziņojumu } ?>

Var rīkoties viltīgāk:

<?php if (!isset($_GET['arg'])) { $_GET['arg'] = 'default'; // noklusējuma vērtība } echo $_GET['arg']; // garantēti kaut ko izvadīs bez kļūdas ?>

Var izdarīt tā, lai, ienākot lapā bez parametra, notiktu novirzīšana uz šo pašu lapu ar parametru:

<?php if (!isset($_GET['arg'])) { header('Location: ?arg=default'); } echo $_GET['arg']; // parametrs garantēti ir ?>

Pastāstiet, kāda atšķirība ir starp otro variantu un trešo.

Pieņemsim, ka lapā page.php var nodot skaitli, izmantojot GET parametru ar nosaukumu num. Izveidojiet tā, lai, ienākot bez šī parametra, automātiski tiktu veikta novirzīšana uz šo pašu lapu, bet ar parametru num ar vērtību 1.

Latviešu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mēs izmantojam sīkdatnes, lai nodrošinātu vietnes darbību, analīti un personalizāciju. Datu apstrāde notiek saskaņā ar Konfidencialitātes politiku.
pieņemt visus iestatīt noraidīt