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

cookie problemen

Anoniem
marientje
5 antwoorden
  • Hallo,

    Ik heb een poll gemaatk die op een cookie werkt. Met de volgende code bekijk ik of de cookie bestaat en of de waarde overeenkomt met het 'id' van de huidige poll ($pollid):
    [code:1:b3c2866306]if(isset($_COOKIE['poll']) && $_COOKIE['poll'] == $pollid) {
    $gestemdcookie="yes";
    }
    else {
    $gestemdcookie="no";
    }
    [/code:1:b3c2866306]
    Als er is gestemd kijk ik eerst of de waarde $gestemdcookie niet 'yes' is.

    Is hier wat mis? De cookie bestaat wel, teminste volgens de 'Web Developer toolbar'.
  • er kan zoveel mis zijn. Ook zeg je niet echt wat er mis gaat…

    $_COOKIE['poll'] bevat misschen wel helemaal niet een poll_id. Print $_COOKIE['poll'] eens

    ook heeft misschien $poll_id helemaal geen waarde binnen het document. Print ook die eens.

    Daarnaast kan je mssn beter $gestemdcookie een boolean waarde geven, dan hoef je meteen de else niet meer op te nemen, maar gewoon
    [code:1:3ead140e81]$gestemdcookie = isset($_COOKIE['poll']) && ($_COOKIE['poll'] == $pollid)[/code:1:3ead140e81]
    En je zou het beter in een database kunnen opslaan, of nog beter, beide. Cookies kunnen natuurlijk vrij gemakkelijk verwijderd worden.
  • Het probleem is dat je weer kan stemmen. Dus dat of de cookie niet goed werkt of het script niet goed werkt.
    Ik denk dat het aan het script ligt, want volgens de web developper toolbar bestaal de cookie wel en heeft hij ook de waarde van de huidige poll id.
  • Maar heb je wel door dat als je nu op een andere poll stemt, je weer op alle oude poll's kunt stemmen? Je overschrijft het oude cookie namelijk.

    Daarbij is het handig dat je even checkt of het cookie überhaubt bestaat én de juiste waarde heeft. Even simpel met echo $_COOKIE[ 'poll' ]; (Zoals je zelf wellicht ook wel weet.. :-))
  • goed, ik heb cookie waarde en record waarde met elkaar vergleken. Het is inderdaad zo dat het id niet klopte.
    Maar, de cookie was er wel. Er waren echter 2 cookie's met de zelfde naam (??). En hij pakte de verkeerde. Wat kan ik daar aan veranderen?
    Mijn code waar ik cookies mee set:[code:1:d25054ef35]$verloopdata=time() + 60 * 60 * 24 * 5000;
    setcookie('poll',$record['id'],$verloopdata);[/code:1:d25054ef35]

Beantwoord deze vraag

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