Vraag & Antwoord

Webprogrammeren & scripting

Warning: Cannot modify header information

Anoniem
thijz14
2 antwoorden
  • Hallo,
    ik zit met hetvolgende probleem: ik ben cookies een beetje aan het uittesten. Daarom maakte ik een form waar je kan kiezen tussen enkele talen. Alles is wel juist maar ik krijg nog altijd een warning:

    [i:58b7e22064]Warning: Cannot modify header information - headers already sent by (output started at /home/thijs.vervloessem/public_html/PHP/voorb examen/taal_cookie.php:2) in /home/thijs.vervloessem/public_html/PHP/voorb examen/taal_cookie.php on line 17[/i:58b7e22064]


    Hieronder de code van mijn php-bestandje:

    [code:1:58b7e22064]<?php
    if(!empty($_COOKIE['language']))
    {
    switch($_COOKIE['language'])
    {
    case "nl":
    echo "hallo, welkom";
    break;
    case "fr":
    echo "bonjour, bienvenue";
    break;
    case "en":
    echo "hello, welcome";
    break;
    }
    setcookie("language",$_COOKIE['language'],time()+60*60*24*90);
    }
    else if(!empty($_POST['language']))
    {
    setcookie("language",$_POST['language'],time()+60*60*24*90);
    header("Location: ". $_SERVER["PHP_SELF"]);
    }
    else
    {
    ?>
    <html>
    <head>
    <title>Cookie
    </title>
    </head>
    <body>

    <form method="post">
    <select size="3" name="language">
    <option value="nl">Nederlands</option>
    <option value="fr">Français</option>
    <option value="en">English</option>
    </select>
    <input type="submit" value="Kies"/>
    </form>

    </body>
    </html>


    <?php
    }
    ?>[/code:1:58b7e22064]

    Alvast bedankt voor uw hulp,
    Thijs
  • Cookies worden meegestuurd in de headers van de response van je webserver. En deze moeten altijd eerst helemaal worden verstuurd voordat je 'normale' content verstuurd.

    Je echo-ed nu wat voor je de setcookie() uitvoert. Oplossing is dus om dit om te draaien.

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.