Header already send

  • Wie weet hoe ik dit script werkende krijg en de melding van header already send kan vermijden?


  • Je kan een header niet echo'en


    PHP
    if (isset($_POST['submit']))
    {
       header('Location: bedankt.html');
       //en verdere code. 
       exit();
    }

    PostCounter: 0 - 100 - 200 - 300 - 400 - 500 - 600 - 700 - 800 - 900 - 1000


    Project vendettagame.com:
    10% klaar

  • Waarom die header in een echo? :p


    echo is om iets op het scherm te weergeven, maar met de header is het de bedoeling dat je doorgestuurd wordt.


    Werkt elkaar beetje tegen ;)


    Ook zou ik de query's onder de header plaatsen, indien je ze werkend wilt hebben :p

    Het bovenstaande bericht werd geplaatst door een lid waarvan het account verwijderd is.

  • Citaat van SC-Scripting

    echo is om iets op het scherm te weergeven, maar met de header is het de bedoeling dat je doorgestuurd wordt.


    Zoek eens op wat headers zijn.
    Headers worden door je browser verstuurd naar een server, die headers bevatten informatie voor de server. (welke pagina je wilt bekijken, post gegevens, cookies etc.)
    De server stuurt dan headers terug, gevolgt door de output van bijvoorbeeld echo's (er hoeft natuurlijk geen output te zijn).
    Het punt is dat headers eerst verstuurt moeten worden, zodra er ook maar een spatie of wat dan ook als output terug naar de browser verstuurd wordt zijn de headers al verstuurt en kun je die net meer aanpassen.
    Daar gaat de hele error over, je bent te laat met het aanroepen van header() om de headers te veranderen.
    header() is dus niet voor het redirecten van een pagina. (je kunt ook cookies zetten met header() om even iets te noemen)


  • Misschien dat ik het verkeerd vertelde, maar bedoelde dus de header zoals hij hem wilde gebruiken.


    Tis toch de bedoeling dat je daarna op bedankt.html uitkomt?

    Het bovenstaande bericht werd geplaatst door een lid waarvan het account verwijderd is.

  • Citaat van Darsstar

    ob_start() bovenaan in je bestand (voor output eigenlijk) zetten zou ook moeten werken...


    Maar dan moet je het toch ook sluiten/stoppen?


    Onderaan:

    PHP
    ob_flush();


    Of heb ik dat mis? :p

    Het bovenstaande bericht werd geplaatst door een lid waarvan het account verwijderd is.

  • Maar je kan het tog ook zo doen


    Of niet?

  • Nee want een header kan je niet in een echo versturen.
    Wat die echo daar dus doet weet ik ook niet.

    PostCounter: 0 - 100 - 200 - 300 - 400 - 500 - 600 - 700 - 800 - 900 - 1000


    Project vendettagame.com:
    10% klaar

Participate now!

Heb je nog geen account? Registreer je nu en word deel van onze community!