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

Cookies &*@@$

Anoniem
Bilbo
2 antwoorden
  • Ik had er nooit aan moeten beginnen maar ik ben met cookies bezig. Dit om gebruikers van een interne telefoonlijst hun favo sorteervolgorde te laten bewaren.

    Het cookie wordt geschreven met php, en wel als volgt
    [code:1:b1f13d46f9]
    <?php
    //Default sorteervolgorde
    if (isset($order)){
    //Er is een default gekozen => wegschrijven naar cookie
    setcookie("IntTel_DefOrd", $order, time()+28*24*60*60);
    }
    else
    {
    $order="afd";
    }
    [/code:1:b1f13d46f9]
    Dit alles staat uiteraard voor de <html> tag. En het cookie wordt ook daadwerkelijk geschreven.

    Het uitlezen van de cookie wordt gedaan in het menu wat we gebruiken. Een of ander javascript ding wat een collega opgeduikelt heeft.
    De functie die de cookie uitleest is als volgt:
    [code:1:b1f13d46f9]
    function getCookie(name) { // use: getCookie("name";);
    var re = new RegExp(name + "=([^;]+)";);
    var value = re.exec(document.cookie);
    return (value != null) ? unescape(value[1]) : null;
    }

    var today = new Date();
    var expiry = new Date(today.getTime() + 28 * 24 * 60 * 60 * 1000); // plus 28 days

    function setCookie(name, value) { // use: setCookie("name", value);
    document.cookie=name + "=" + escape(value) + "; expires=" + expiry.toGMTString();
    }
    function LaadIntTel(){
    deforder=getCookie("IntTel_DefOrd";);
    parent.frames["main"].location= "../int_tel/int_tel.php?order="+deforder;
    }
    [/code:1:b1f13d46f9]

    Ooit heeft dit gewerkt, echter momenteel wordt de waarde van het cookie op null gezet zodra hij wordt uitgelzen.

    Iemand?

    _________________
    4F6E65204F5320746F2072756C65207468656D20616C6C2C204F6E65204F5320746
    F2066696E64207468656D2C204F6E65204F5320746F206272696E67207468656D20
    616C6C20616E6420696E20746865206461726B6E6573732062696E64207468656D2E20

    [ Dit Bericht is bewerkt door: Bilbo op 2002-01-21 14:23 ]
  • Het cookie wordt wel degelijk door PHP geschreven, maar is pas leesbaar NA opnieuw laden van de pagina.
    Dus als je na het zetten van het cookie (dmv PHP) de pagina waar je het cookie wilt gebruiken opnieuw
    laad (en niet direct erna) zal het cookie wel een leesbare waarde hebben.
    Ik heb getest met onderstaande pagina's (uiteraard naar eigen wens uit te breiden/samen te voegen :wink: )

    cook.htm :
    [code:1:4e42a32d60]
    <html>
    <script language="JavaScript">

    function getCookie(name) { // use: getCookie("name";);
    var re = new RegExp(name + "=([^;]+)";);
    var value = re.exec(document.cookie);
    return (value != null) ? unescape(value[1]) : null;
    }

    var today = new Date();
    var expiry = new Date(today.getTime() + 28 * 24 * 60 * 60 * 1000); // plus 28 days

    function setCookie(name, value) { // use: setCookie("name", value);
    document.cookie=name + "=" + escape(value) + "; expires=" + expiry.toGMTString();
    }
    function LaadIntTel(){
    deforder=getCookie("IntTel_DefOrd";);
    document.location= "int_tel.php?order="+deforder;
    }

    </script>
    <a href="javascript:LaadIntTel()">getcookie</a>
    </html>
    [/code:1:4e42a32d60]

    int_tel.php :
    [code:1:4e42a32d60]
    <?php
    //Default sorteervolgorde
    if (isset($order)){
    //Er is een default gekozen => wegschrijven naar cookie
    setcookie("IntTel_DefOrd", $order, time()+28*24*60*60);
    echo "writen";
    }
    else
    {
    $order="afd";
    }

    echo $order."<<<<";
    ?>
    <script language="JavaScript">
    document.location="page2.htm";
    </script>
    [/code:1:4e42a32d60]

    page2.htm :
    [code:1:4e42a32d60]
    <html>
    <script language="JavaScript">

    function getCookie(name) { // use: getCookie("name";);
    var re = new RegExp(name + "=([^;]+)";);
    var value = re.exec(document.cookie);
    return (value != null) ? unescape(value[1]) : null;
    }

    alert(getCookie("IntTel_DefOrd";));
    </script>
    </html>
    [/code:1:4e42a32d60]

Beantwoord deze vraag

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