Gå til innhold

Anbefalte innlegg

Ser de fleste som driver med redirect bruker header()

Jeg kunne tenke meg å gjøre dette utelukkende serverside - altså, man laster en phpside med parametre, og kjører gjennom kode som jobber med parametrene. Hvis et unntak oppstår under behandlingen av disse parametrene vil jeg gjerne reurnere en helt annen side enn den som opprinnelig ble spurt etter. Jeg er altså ikke lysten på å returnere siden det ble spurt etter med noe clientside scripting som redirecter. Finnes det ferdige funksjoner for dette? Noe ala

function haha() {
 if(! $haha) {
   redirect("http://www.vg.no");
 }
}

 

Denne gangen har jeg pløyd gjennom manualen først Torbjørn ;)

Lenke til kommentar
Videoannonse
Annonse

Ingen ferdige funksjoner, annet enn header() som du kan bruke til redirect.

header("Location: http://adressen/redirectfila.php");
exit();// Exit gjør at redirect blir gjennomført umiddelbart

 

Av en eller annen grunn, har jeg hatt problemer med den header() redirect i IE, jeg la på \r\n på slutten, og det fungerte. Men kan hende det problemet lå i PHP, og at nyere versjon ikke har det problemet. Men vet ikke, lenge siden jeg kom borti dette problemet, og har alltid brukt \r\n på slutten av den header stringen.

Lenke til kommentar
Vist eg vil redirecte etter at det er kommet output bruker eg bare

<meta http-equiv="refresh" content="0 ; URL=index.php">

Har ikkje hatt noko problemer med det til nå iallefall.

Bruken av akkurat det er ikke anbefalt av W3C, siden det bryter for bruk av "tilbake"-knappen.

 

Jeg liker forresten ikke header(location="trallala.php"), siden det ikke tillater output av data før redirect uten klussing med outbut-buffering o.l.

Lenke til kommentar
Jeg liker forresten ikke header(location="trallala.php"), siden det ikke tillater output av data før redirect uten klussing med outbut-buffering o.l.

liker og liker fru blom, headers sendes uansett om du ber om det eller ikke. det er ikke noe prinsipielt galt med å sette sine egne headers i itllegg til default headers.

 

mao, å bruke headers til sin egen fordel er en ekstragevinst man kan kæshe inn om man vil.

Lenke til kommentar
Jeg liker forresten ikke header(location="trallala.php"), siden det ikke tillater output av data før redirect uten klussing med outbut-buffering o.l.

Hva med å bare sjekke det du vil sjekke på toppen av siden, og sette headeren der - før du skriver noen tekst. Er det noe du har lagret i variabler så er de fortsatt der senere i scriptet også - dersom du ikke velger å lagre noe annet i de.

Lenke til kommentar

mao ikke et problem med Location header, men med HTTP protokollen i seg selv. Location header kan brukes til mye fornuftig. unngå dobbelposting er kanskje en av de viktigste, men passer også fint til å sende brukeren videre etter login f.eks.

 

man kan sende med et par GET parametere hvis man vil at det skal vises noe lurt på neste side. eks:

header("Location index.php?nettopp_logget_inn=1");

 

så i index.php sjekke om $_GET['nettopp_logget_inn'] og i såfall skrive ut "Hei $navn, login OK, velkommen tilbake!"

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...