Gå til innhold

Sende bruker til ny side etter kode utført?


Anbefalte innlegg

Videoannonse
Annonse

Da kan du bruke HTML meta-tags, som du plasserer mellom <head> og </head>:

 

<meta http-equiv="Refresh" content="3; url=http://domene.com/filendin.php">

 

Tre-tallet indikerer hvor mange sekunder det skal ta før brukeren blir videresendt. IKKE sett verdien til 0, siden brukeren ikke kan bruke tilbake-knappen da.

Lenke til kommentar
OK, jorgis. Må vel bruke HTML da hvis det ikke finnes noe i PHP.

Takker uansett :yes:

 

-torms

PHP er (fredeles) et server-side skriptspraak. Det vil si at PHP gjoer det PHP gjoer foer siden blir sendt til klienten. Etter siden har blitt sendt til klienten saa kan ikke PHP gjoere mer.

 

Det er derfor du ikke kan sende tekst foerst og saa omdirigere med PHP. Naar teksten kommer til klienten saa er PHP ferdig.

 

:)

Lenke til kommentar
  • 2 måneder senere...

Det som er sykt, er at det faktisk fungerer helt fint å gjøre dette, hvis man bruker firefox.

 

if ( noe ) {
    gjør noe
}
else {
        echo "Vennligst vent i 0.02 sekunder. :)";
        echo "<meta http-equiv=Refresh content=1; url=fil.php>";
}

 

Så vil den redirecte som bare det. Men kun hvis man bruker firefox. Hvis man bruker Internet Exploder, så vil den nye siden bli stående å refreshe.

Lenke til kommentar
man kan bruke følgende kodesnutt, men kun hvis ikke scriptet har sendt ut data. Ergo kan man ikke bruke den etter man har gitt beskjed til brukeren.

 

header("Location: densidenduvil.php");

Gjør som jorgis sier. Det er ikke noe som sier at du ikke kan sende variable samtidig.

 

if($variabel){

header("Location: densidenduvil.php?status=true");

}else{

header("Location: densidenduvil.php?status=true");

}

 

 

 

densidenduvil.php

if($_GET['status']){

echo "ok";

}else{

echo "Feil!";

}

Lenke til kommentar
Ghadafi: Det fungerer nettopp fordi det ikke har et fnugg med PHP å gjøre. Se hva jeg skrev tidligere i tråden.

 

Anyhoo: Det var ingen vits å bumpe denne tråden såpass kraftig som du gjorde med et så meningsløst svar. *rapportert*

 

:no:

 

Hva er det liksom for en tragisk holdning? Hvorfor hadde det vært bedre om jeg laget en ny topic? På vårt forum hadde du fått warn for å leke hobbymoderator... jaja.

 

Og hvordan kan det jeg skriver ikke ha noe med php å gjøre? Ser du php og html som to helt forskjellige saker? Jeg ser det som to sider av samme sak, nemlig webapplikasjoner. Og i denne sammenhenger snakker vi om en webapplikasjon basert på lamp.

 

Uansett, så har jeg prøvd med header("Location: index.php?"), helt øverst i output til siden, men det vil ikke redirecte skikkelig for meg da heller. :/

 

Edit: Hvis ikke ting plutselig har begynt å funke nå, uten at jeg egentlig har endre noe kode.

Endret av Ghadafi
Lenke til kommentar
Så du mener at hvis vi bruker flush mitt i et php script så vil det slutte å fungere.. :hmm:

Siden man redirecter ved å putte inn "Location" i meldingshodet, hjelper det lite å bruke flush. Meldingshodet blir sendt før innholdet, og det vil derfor være for sent å sende location-headeren i det man har begynt å outputte tekst.

Lenke til kommentar
Og hvordan kan det jeg skriver ikke ha noe med php å gjøre? Ser du php og html som to helt forskjellige saker? Jeg ser det som to sider av samme sak, nemlig webapplikasjoner. Og i denne sammenhenger snakker vi om en webapplikasjon basert på lamp.

Det du postet var ganske enkelt det jeg postet litt over (for to måneder siden) pakket inn i litt pseudokode. Den virksomme delen av din kodesnutt var faktisk HTML-biten, og da mener jeg det har fint lite med PHP å gjøre når koden bare dytter ut en HTML-snutt.

 

Å anklage meg for å leke hobbymoddis er også svært lite saklig, spesielt siden jeg faktisk bare nevnte det i en bisetning på slutten, noe du blåste opp til et helt innlegg. :roll:

 

 

Btw: Selv om det du postet bare fungerte i Firefox, fungerer det jeg postet i alle browsere som støtter meta refresh.

Lenke til kommentar

Mm, fikk en liten aha-opplevelse på hvordan jeg skulle sette opp dynamisk include, rettet litt rekkefølge på parsingen. :) Så da funker redirect med header().

 

Men jeg får ikke til redirect med meta, av noen grunn.

 

Den parsede teksten min blir ca:

<html>
   <head>
          <meta http-equiv=Refresh content=1; url=fil.php>
   </head>

   <body>
            Redirecter, vent litt
   </body>
</html>

 

Da blir den bare stående å refreshe...

 

Edit: Er det store cluet her at jeg må avgrense parametrene med " eller '? Slik?

<meta http-equiv='Refresh' content='1; url=fil.php'>

 

Edit2: Jøss, ser ut som det var hele greia... liten tue kan velte stort lass.... :ohmy:

Endret av Ghadafi
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å
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...