Avatar billede dinodino Nybegynder
19. februar 2004 - 20:56 Der er 11 kommentarer og
1 løsning

automatisk reload af en side forskellige steder i koden

Hej,

Jeg mangler lige et lille hint til hvordan jeg reloader/kalder en side/ frame midt i koden.

Jeg har en side i php, hvor jeg bruger en switch-case og i nogle cases udfører jeg kun lidt sql, men ønsker bagefter at kalde siden igen med default parametre.
Avatar billede googolplex Novice
19. februar 2004 - 21:04 #1
Avatar billede googolplex Novice
19. februar 2004 - 21:06 #2
Fx.

if ($logget_ind === true) {
    header('Location: http://www.ladefoged-roenne.dk/index.php?side=forside');
} else {
    // Do sonething
}
Avatar billede schaefner Juniormester
19. februar 2004 - 21:09 #3
eller måske en javascript-løsning. Man kan så diskutere hvor god en løsning det er.

case 1:
  echo '<script type="text/javascript">document.location.href='http://host.com/?var=1';</script>';
  break;
Avatar billede googolplex Novice
19. februar 2004 - 21:09 #4
Du får evt. en fejl ved at smide en header() midt i din side, fordi alle headers skal sendes før du genererer output. Enten skal du opbygge logikken, så der ikke skrives html ol. (enten almindeligt eller via echo|print), eller også skal du aktivere output buffering:

I starten af din side:

<?php
ob_start();
?>

I slutningen:

<?php
ob_end_flush();
?>
Avatar billede googolplex Novice
19. februar 2004 - 21:12 #5
Personligt bryder jeg mig ikke om javascript til at redirecte, men den kan da benyttes :)
Avatar billede dinodino Nybegynder
19. februar 2004 - 21:28 #6
Jeg tror ikke på header i html code, så jeg tror bare jeg hugger den hurtige java.
Avatar billede dinodino Nybegynder
19. februar 2004 - 21:30 #7
schaefner - Hvis du vil have point, så skal jeg vist bruge et svar.
Avatar billede googolplex Novice
19. februar 2004 - 21:47 #8
Hvad mener du med: 'Jeg tror ikke på header i html code' ??
Avatar billede dinodino Nybegynder
20. februar 2004 - 07:43 #9
Som jeg har forstået header, så SKAL den bruges inden <html>.
Avatar billede googolplex Novice
20. februar 2004 - 09:51 #10
Ja, men du kan bare aktivere output buffering, så gemmes alt output og sendes først når hele siden er færdig og bufferen tømmes. Output buffering kan desuden en lang række smarte ting, så det er absolut noget der er værd at undersøge :)

<?php
ob_start();
echo 'Her kommer noget output, ups!';
header(location: http://...);
ob_end_flush();
?>

Dette fungerer fint.
Avatar billede dinodino Nybegynder
20. februar 2004 - 15:16 #11
Testet og OK.

Nok alligevel den bedste løsning. Undskyld det afviste svar !

Svar igen - og jeg smider et par point.
Avatar billede googolplex Novice
20. februar 2004 - 15:33 #12
Ok :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester