⊗ppPmRdSWP 407 of 447 menu

Selv-omdirigering med tillegg av parametere i PHP

La det på siden index.php overføres en GET-parameter med navnet arg. La oss skrive ut dens innhold til skjermen:

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

La vår side ikke kunne fungere korrekt uten GET-parameter. I vårt tilfelle er dette virkelig slik, fordi hvis parameteren ikke er sendt, vil tilgang til $_GET['arg'] føre til en feil.

Det kan oppstå et spørsmål om hvorfor i det hele tatt en person vil havne på siden vår uten parameter? Tross alt kan vi overalt på nettstedet vårt plassere lenker med denne parameteren. Imidlertid er dette ingen garanti: brukeren av nettstedet vårt kan for eksempel kopiere lenken et sted fra og miste dermed parameteren. Eller bare ved et uhell slette den, mens han redigerer adresselinjen.

Kort sagt, uansett må koden vår anta en slik situasjon og gjøre noe med den. Hva kan man gjøre?

Man kan sjekke GET-parameteren vår for eksistens og bare skrive den ut hvis den eksisterer:

<?php if (isset($_GET['arg'])) { echo $_GET['arg']; } else { // reagerer på en eller annen måte, for eksempel med en melding } ?>

Man kan gjøre det på en mer lur måte:

<?php if (!isset($_GET['arg'])) { $_GET['arg'] = 'default'; // standardverdi } echo $_GET['arg']; // vil garantert skrive ut noe uten feil ?>

Eller man kan gjøre slik at når man kommer til siden uten parameter, skjer en omdirigering til den samme siden med parameter:

<?php if (!isset($_GET['arg'])) { header('Location: ?arg=default'); } echo $_GET['arg']; // parameteren er garantert til stede ?>

Fortell hva som er forskjellen mellom det andre alternativet og det tredje.

La det på siden page.php kunne sendes et tall ved hjelp av en GET-parameter med navnet num. Gjør slik at når man kommer til siden uten denne parameteren, utføres automatisk en omdirigering til den samme siden, men med parameteren num med verdien 1.

Norsk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi bruker informasjonskapsler for nettstedets funksjonalitet, analyse og personalisering. Behandling av data foregår i henhold til Personvernerklæringen.
godta alle tilpass avvis