[PHP] Refresh de pagina (met header)

Pagina: 1
Acties:
  • 37 views sinds 30-01-2008

  • fuge
  • Registratie: November 2004
  • Laatst online: 11-06-2024
Wanneer ik uitlog op mijn pagina zou mijn pagina moeten herladen:

case "logout":
session_destroy();
header("location:index.php");
break;

Als ik zo werkt via header dan krijg ik de volgende error:

Warning: Cannot modify header information - headers already sent by (output started at /var/www/fuge/htdocs/fuge/Admin/index.php:13) in /var/www/fuge/htdocs/fuge/Admin/index.php on line 175

lijn 13 is het begin van mijn <?php tags

need some help here 8)7

*** Human knowledge belongs to the world ***


  • gomaster
  • Registratie: Februari 2002
  • Laatst online: 14-05 14:31
Je kunt geen headers sturen nadat er al output is gegeven ;). Dus je zult voor enige ouput (ook enters!) je headers moeten sturen, immers headers staan bovenaan documenten en niet ertussen...

Verwijderd

doe het gewoon in html:

<META HTTP-EQUIV="refresh" CONTENT="0;URL=http://jouwsite.nl">

  • fuge
  • Registratie: November 2004
  • Laatst online: 11-06-2024
Wanneer ik op uitloggen klik, opent index.php?item=logout.

index.php controleerd in een switch case $item.
In dit geval zal het logout zijn. Dan voert hij session destroy uit.

Nu wil'k dat ik dan trg naar de begin pagina wordt gestuurd.

Is er dan geen andere manier?

*** Human knowledge belongs to the world ***


  • gomaster
  • Registratie: Februari 2002
  • Laatst online: 14-05 14:31
fuge schreef op zondag 21 november 2004 @ 11:28:
Wanneer ik op uitloggen klik, opent index.php?item=logout.

index.php controleerd in een switch case $item.
In dit geval zal het logout zijn. Dan voert hij session destroy uit.

Nu wil'k dat ik dan trg naar de begin pagina wordt gestuurd.

Is er dan geen andere manier?
Dit kan makkelijk met header. Post eens die hele pagina tussen [php] tags.

  • RSpliet
  • Registratie: Juni 2003
  • Laatst online: 27-11-2025

RSpliet

*blink*

zoals al gezegt: header() kan alleen maar als er nog GEEN output is gegeven, dus geen html voor de <?php tags, geen echo's of prints, zelfs geen error messages. Mocht dat onmogelijk worden, dan is een Javascriptje toch ook altijd nog bruikbaar?
code:
1
2
3
<script language="javascript">
window.location.href="./index.php";
</script>

[ Voor 11% gewijzigd door RSpliet op 21-11-2004 11:31 ]

Schaadt het niet, dan baat het niet


  • JHS
  • Registratie: Augustus 2003
  • Laatst online: 04-01 15:49

JHS

Splitting the thaum.

fuge schreef op zondag 21 november 2004 @ 11:28:
(...)Is er dan geen andere manier?
Jawel, met ob_start(); en ob_end_flush();

Je kan ook je bestand anders opbouwen, of een META refresh gebruiken, aangezien die geen headers gebruikt.

[ Voor 26% gewijzigd door JHS op 21-11-2004 11:31 ]

DM!


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 16:02

gorgi_19

Kruimeltjes zijn weer op :9

Het antwoord is al gegeven :) Wil je een header aanpassen, dan mag er geen enkel karakter (spatie, enter, whatever) eerst naar de browser sturen. :)

Oplossing is buffering toepassen of gewoon geen enter / spatie /whatever eerst naar de browser sturen :) Met de eerdere oplossingen en links kom je er wel uit :)

Digitaal onderwijsmateriaal, leermateriaal voor hbo

Pagina: 1

Dit topic is gesloten.