Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Webprogrammeren & scripting

Warning: Cannot modify header information

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.