[php]cookies werken niet

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • kazz1980
  • Registratie: Juni 2001
  • Laatst online: 19-08 22:44

kazz1980

Goh... Ik hier?

Topicstarter
Hier zijn al wel veel topics over. maar het antwoord op de vragen in die topics is meestal de code die ik nu heb. en om de 1 of andere reden werkt die dus niet!

PHP:
1
2
3
4
5
6
7
8
9
<?php
setcookie("taalspel1","", time() + 3600); 
if(isset($_COOKIE['taalspel1'])){ 
    echo "ja!";
}else{
    echo "nee!";
}

?>


Nu zou ik toch bij eerste keer laden "nee!" moeten krijgen (want cookies werken volgens php.net pas bij een volgende pagina/reload) en bij tweede keer laden "ja!" ?

Ik krijg dus altijd "nee!"....
Hoe kan dit? Iemand een idee?

(als ik de functie "isset" weglaat werkt het overigens nog niet....dat werd nl. ook hier en daar als mogelijke oplossing aangedragen)

[ Voor 20% gewijzigd door kazz1980 op 15-01-2004 09:45 ]

hier stond iets interessants, maar het is even weg...


Acties:
  • 0 Henk 'm!

Verwijderd

Misschien een rare oplossing, maar gooi eens al je cookies en internet bestanden weg. Ik heb zelf ook enorm zitten te klooien daarmee. Toen ik dat had gedaan deden de cookies het opeens wel weer.

Acties:
  • 0 Henk 'm!

  • Skaah
  • Registratie: Juni 2001
  • Laatst online: 16-09 18:38
Je koekje is leeg, lig 't 'm daaraan? Zet er eens wat (random) tekst in. Herschijf eventeel eens als:
PHP:
1
2
3
4
5
6
7
define('KOEKJE','taalspel1');
if(isset($_COOKIE[KOEKJE])){ 
    echo "ja!"; 
}else{ 
    setcookie(KOEKJE,"randchars", time() + 3600); 
    echo "nee!"; 
}

Ps. het is vaak wel handig om voor de naam van een koekje een variabele of een constante te gebruiken omdat het later zo moeilijk is om je koekje te veranderen.

[ Voor 57% gewijzigd door Skaah op 15-01-2004 09:54 ]


Acties:
  • 0 Henk 'm!

  • kazz1980
  • Registratie: Juni 2001
  • Laatst online: 19-08 22:44

kazz1980

Goh... Ik hier?

Topicstarter
Verwijderd schreef op 15 januari 2004 @ 09:48:
Misschien een rare oplossing, maar gooi eens al je cookies en internet bestanden weg. Ik heb zelf ook enorm zitten te klooien daarmee. Toen ik dat had gedaan deden de cookies het opeens wel weer.
nee...werkt niet... (moet verdorie wel weer overal mn passwords in gaan vullen :P )

hier stond iets interessants, maar het is even weg...


Acties:
  • 0 Henk 'm!

  • kazz1980
  • Registratie: Juni 2001
  • Laatst online: 19-08 22:44

kazz1980

Goh... Ik hier?

Topicstarter
Skaah schreef op 15 januari 2004 @ 09:52:
Je koekje is leeg, lig 't 'm daaraan? Zet er eens wat (random) tekst in. Herschijf eventeel eens als:
PHP:
1
2
3
4
5
6
7
define('KOEKJE','taalspel1');
if(isset($_COOKIE[KOEKJE])){ 
    echo "ja!"; 
}else{ 
    setcookie(KOEKJE,"randchars", time() + 3600); 
    echo "nee!"; 
}
random inhoud in het cookie maakt niks uit.

Die code levert nog steeds altijd "nee!" op.

[ Voor 16% gewijzigd door kazz1980 op 15-01-2004 09:55 ]

hier stond iets interessants, maar het is even weg...


Acties:
  • 0 Henk 'm!

  • darkrain
  • Registratie: Augustus 2001
  • Laatst online: 12:18

darkrain

Moderator Discord

Geniet

setcookie moet voordat er uitvoer naar de browser plaatsvind.
Dat kan dus ook best in de else.

Nu kun je namelijk ook iets doen met de info in het cookie, als ie bestaat, anders maakt ie gewoon een nieuwe volgens mij.

[ Voor 40% gewijzigd door darkrain op 15-01-2004 09:57 ]

Tweakers Discord


Acties:
  • 0 Henk 'm!

  • kazz1980
  • Registratie: Juni 2001
  • Laatst online: 19-08 22:44

kazz1980

Goh... Ik hier?

Topicstarter
Dark_Rain schreef op 15 januari 2004 @ 09:55:
setcookie moet voordat er uitvoer naar de browser plaatsvind.
Dat kan dus ook best in de else.
nee klopt. was ff denkfoutje van mij. heb het al weggehaald :P
maar het werkt dus ook niet.

(zowel via localhost niet (apache op win XP) als op de server niet (unix/linux-server)

[ Voor 39% gewijzigd door kazz1980 op 15-01-2004 09:58 ]

hier stond iets interessants, maar het is even weg...


Acties:
  • 0 Henk 'm!

  • Skaah
  • Registratie: Juni 2001
  • Laatst online: 16-09 18:38
kazz1980 schreef op 15 januari 2004 @ 09:56:
[...]

nee klopt. was ff denkfoutje van mij. heb het al weggehaald :P
maar het werkt dus ook niet.

(zowel via localhost niet (apache op win XP) als op de server niet (unix/linux-server)
De code zoals ik die je gaf doet 't op mijn setup (Nusphere Apache 1.3 / PHP 4.3.3 / Windows XP).

De code is dus goed, ik zou eens in je servers gaan zoeken.

Acties:
  • 0 Henk 'm!

  • darkrain
  • Registratie: Augustus 2001
  • Laatst online: 12:18

darkrain

Moderator Discord

Geniet

laat maar

[ Voor 128% gewijzigd door darkrain op 15-01-2004 10:03 ]

Tweakers Discord


Acties:
  • 0 Henk 'm!

  • kazz1980
  • Registratie: Juni 2001
  • Laatst online: 19-08 22:44

kazz1980

Goh... Ik hier?

Topicstarter
Dark_Rain schreef op 15 januari 2004 @ 10:01:
Als je nu eerst de tijd berekend en dan in een var erbij zet?
Misschien hele kromme gedachte maar je kunt altijd proberen dacht ik.
Proberen kan nooit kwaad!

Maar ook dat werkt niet (overigens geeft de variabele tijd wel de juiste waarde weer, dus dat is de fout niet).

Zijn cookies altijd zo lastig? Of ligt het aan mij... Ik dacht: "doe ik ff"...maar dat valt dus tegen.

Anyways: ik hou niet zo van cookies persoonlijk dus misschien weet iemand nog wel wat anders:
IK wil bij een spel hebben dat de gebruiker de eerste keer dat hij het spel opent een intropagina krijgt met uitgebreide uitleg. Een volgend bezoek krijgt hij die pagina niet meer te zien. Na bijvoorbeeld een maand krijgt hij de uitleg weer eens een keer en dan weer voorlopig niet meer. etc.
Volgens mij kan dat alleen met cookies...maar als iemand een ander id heeft?

offtopic:
**wat een onwijs irritante advertentie van de staatsloterij kwam er net voorbijzetten zeg!**

[ Voor 51% gewijzigd door kazz1980 op 15-01-2004 10:07 ]

hier stond iets interessants, maar het is even weg...


Acties:
  • 0 Henk 'm!

  • darkrain
  • Registratie: Augustus 2001
  • Laatst online: 12:18

darkrain

Moderator Discord

Geniet

Kun je het cookie terugvinden op je pc?

Oftewel set hij het cookie wel?

Dat zal volgens mij wel met cookies moeten.
Dan moet de tijd dat ie geldig is dus wel wat langer natuurlijk.

[ Voor 44% gewijzigd door darkrain op 15-01-2004 10:08 ]

Tweakers Discord


Acties:
  • 0 Henk 'm!

  • Fatamorgana
  • Registratie: Augustus 2001
  • Laatst online: 21-07 01:24

Fatamorgana

Fietsen is gezond.

Heb je het al eens getest met Mozilla of Opera? Altijd handig om in meerdere browsers te checken of iets werkt.

Acties:
  • 0 Henk 'm!

  • kazz1980
  • Registratie: Juni 2001
  • Laatst online: 19-08 22:44

kazz1980

Goh... Ik hier?

Topicstarter
Dark_Rain schreef op 15 januari 2004 @ 10:07:
Kun je het cookie terugvinden op je pc?

Oftewel set hij het cookie wel?

Dat zal volgens mij wel met cookies moeten.
Dan moet de tijd dat ie geldig is dus wel wat langer natuurlijk.
ja. das wel goed om ff te kijken.
(ik kan trouwens wel binnen een uur kijken hoor ;) dus de tijd hoeft niet langer....


> nee. hij set geen cookie :| hmz. waarom niet!?

[ Voor 11% gewijzigd door kazz1980 op 15-01-2004 10:16 ]

hier stond iets interessants, maar het is even weg...


Acties:
  • 0 Henk 'm!

  • darkrain
  • Registratie: Augustus 2001
  • Laatst online: 12:18

darkrain

Moderator Discord

Geniet

kazz1980 schreef op 15 januari 2004 @ 10:13:
[...]

ja. das wel goed om ff te kijken.

> nee. hij set geen cookie :| hmz. waarom niet!?
ok je hebt je browser niet ingesteld dat ie cookies moet blokken?
of een firewall of virusscanner die cookies blockt?

Ik neem aan van niet maar je weet nooit.

Wat je dan ook kan doen is het result van setcookie in een var zetten en kijken or ie true of false is.

Ja ik kan ook wel binnen een uur kijken maar je moet de tijd straks toch op een maand zetten denk ik.

[ Voor 47% gewijzigd door darkrain op 15-01-2004 10:19 ]

Tweakers Discord


Acties:
  • 0 Henk 'm!

  • kazz1980
  • Registratie: Juni 2001
  • Laatst online: 19-08 22:44

kazz1980

Goh... Ik hier?

Topicstarter
Dark_Rain schreef op 15 januari 2004 @ 10:15:
[...]

ok je hebt je browser niet ingesteld dat ie cookies moet blokken?
of een firewall of virusscanner die cookies blockt?

Ik neem aan van niet maar je weet nooit.

Wat je dan ook kan doen is het result van setcookie in een var zetten en kijken or ie true of false is.
Ik heb het blokkeren van cookies voor de gelegenheid uitgezet ja. dus dat is het niet.
Ik heb overigens geen problemen met bijvoorbeeld de cookies van dit forum...

hier stond iets interessants, maar het is even weg...


Acties:
  • 0 Henk 'm!

  • We Are Borg
  • Registratie: April 2000
  • Laatst online: 14:26

We Are Borg

Moderator Wonen & Mobiliteit / General Chat
kazz1980 schreef op 15 januari 2004 @ 09:54:
[...]


random inhoud in het cookie maakt niks uit.

Die code levert nog steeds altijd "nee!" op.
Misschien handig om te weten dat deze code bij mij prima werkt. Eerste keer nee, daarna altijd Ja (cookie aangemaakt dus) :). Kortom, ligt eerder aan de instellingen van de pc dan de code denk ik dan :)

Acties:
  • 0 Henk 'm!

  • kazz1980
  • Registratie: Juni 2001
  • Laatst online: 19-08 22:44

kazz1980

Goh... Ik hier?

Topicstarter
Dark_Rain schreef op 15 januari 2004 @ 10:15:
[...]


Wat je dan ook kan doen is het result van setcookie in een var zetten en kijken or ie true of false is.

Ik lees net op php.net dat setcookie zonder waarde de cookie verwijderd.
Dus ik denk dat een waarde toch wel erg helpt.
Hij krijgt bij mij de waarde "1" :?

Huh? Ik heb de code zonder waarde van PHP.net gekopieerd....dus ze spreken zichzelf daar dan behoorlijk tegen! maar goed. met waarde werkt dus ook niet

hier stond iets interessants, maar het is even weg...


Acties:
  • 0 Henk 'm!

  • kazz1980
  • Registratie: Juni 2001
  • Laatst online: 19-08 22:44

kazz1980

Goh... Ik hier?

Topicstarter
We Are Borg schreef op 15 januari 2004 @ 10:17:
[...]


Misschien handig om te weten dat deze code bij mij prima werkt. Eerste keer nee, daarna altijd Ja (cookie aangemaakt dus) :). Kortom, ligt eerder aan de instellingen van de pc dan de code denk ik dan :)
ok....das handig om te weten!
probeer eens: http://hagen.let.rug.nl/~s1073605/taalspel/test3.php ?
werkt die ook?

hier stond iets interessants, maar het is even weg...


Acties:
  • 0 Henk 'm!

  • kamerplant
  • Registratie: Juli 2001
  • Niet online
Je script werkt correct, exact de code uit je startpost doet het hier wel op het volgende URL:
http://www.virtual-life.net/temp/cookie.php

Inderdaad, wel na een refresh.
Controleer of het bovenstaande adres op je browser wel of niet werkt. Dan weet je direct waar je het zoeken moet. ;)

edit:

traaaag



edit:
kazz1980 schreef op 15 januari 2004 @ 10:03:
[...]
Anyways: ik hou niet zo van cookies persoonlijk dus misschien weet iemand nog wel wat anders:
IK wil bij een spel hebben dat de gebruiker de eerste keer dat hij het spel opent een intropagina krijgt met uitgebreide uitleg. Een volgend bezoek krijgt hij die pagina niet meer te zien. Na bijvoorbeeld een maand krijgt hij de uitleg weer eens een keer en dan weer voorlopig niet meer. etc.
Volgens mij kan dat alleen met cookies...maar als iemand een ander id heeft?
Je kunt natuurlijk proberen de gebruiker te herkennen door middel van de combinatie IP, browser, resolutie en zo veel mogelijk info.
Dit is wel veel ingewikkelder en minder betrouwbaarder dan een koekje.

[ Voor 61% gewijzigd door kamerplant op 15-01-2004 10:24 ]

🌞🍃


Acties:
  • 0 Henk 'm!

  • darkrain
  • Registratie: Augustus 2001
  • Laatst online: 12:18

darkrain

Moderator Discord

Geniet

ok dan wordt ie dus gezet.

Dat van verwijderen sloeg inderdaad nergens op. foutje van mij.

Dan denk ik toch ook erg dat het aan een instelling op je pc ligt.

Die van databeest doet het bij mij en die andere niet.

[ Voor 17% gewijzigd door darkrain op 15-01-2004 10:21 ]

Tweakers Discord


Acties:
  • 0 Henk 'm!

  • kazz1980
  • Registratie: Juni 2001
  • Laatst online: 19-08 22:44

kazz1980

Goh... Ik hier?

Topicstarter
DataBeest schreef op 15 januari 2004 @ 10:19:
Je script werkt correct, exact de code uit je startpost doet het hier wel op het volgende URL:
http://www.virtual-life.net/temp/cookie.php

Inderdaad, wel na een refresh.
Controleer of het bovenstaande adres op je browser wel of niet werkt. Dan weet je direct waar je het zoeken moet. ;)

edit:

traaaag
die werkt bij mij prima :? hoe kan dat nou.... Dus exact dezelfde code op een andere server werkt wel op mijn PC....dan is er misschien iets mis in de instellingen van php...maar de instellingen op de server kan ik niet aanpassen.... (wel in localhost natuurlijk)

[ Voor 19% gewijzigd door kazz1980 op 15-01-2004 10:22 ]

hier stond iets interessants, maar het is even weg...


Acties:
  • 0 Henk 'm!

  • kazz1980
  • Registratie: Juni 2001
  • Laatst online: 19-08 22:44

kazz1980

Goh... Ik hier?

Topicstarter
als dat idd exact dezelfde code is lijkt het er op dat de server geen cookies wil ofzo...en dan heb ik dus een probleem :|

[ Voor 164% gewijzigd door kazz1980 op 15-01-2004 10:24 ]

hier stond iets interessants, maar het is even weg...


Acties:
  • 0 Henk 'm!

  • kamerplant
  • Registratie: Juli 2001
  • Niet online
Wacht, foutje.
Ik gebruikte de code wat verder in het URL:

PHP:
1
2
3
4
5
6
7
8
9
<?
define('KOEKJE','taalspel1');
if(isset($_COOKIE[KOEKJE])){
    echo "ja!";
}else{
    setcookie(KOEKJE,"randchars", time() + 3600);
    echo "nee!";
}
?>


Sjorry :+
Blijkbaar moet het inderdaad wel inhoud hebben, het script uit de startpost draaid op http://www.virtual-life.net/temp/cookie2.php en werkt niet correct.

🌞🍃


Acties:
  • 0 Henk 'm!

  • kazz1980
  • Registratie: Juni 2001
  • Laatst online: 19-08 22:44

kazz1980

Goh... Ik hier?

Topicstarter
DataBeest schreef op 15 januari 2004 @ 10:28:
Wacht, foutje.
Ik gebruikte de code wat verder in het URL:

PHP:
1
2
3
4
5
6
7
8
9
<?
define('KOEKJE','taalspel1');
if(isset($_COOKIE[KOEKJE])){
    echo "ja!";
}else{
    setcookie(KOEKJE,"randchars", time() + 3600);
    echo "nee!";
}
?>


Sjorry :+
Blijkbaar moet het inderdaad wel inhoud hebben, het script uit de startpost draaid op http://www.virtual-life.net/temp/cookie2.php en werkt niet correct.
hm. dat staat dan mooi helemaal verkeerd op php.net. lekker handig.
Ik zet exact die code ook ff online!

doetet!!!! :D
is dus alleen probleempje op localhost...
yesssch!

resultaat hier te bewonderen: http://hagen.let.rug.nl/~s1073605/taalspel/intro.php

[ Voor 22% gewijzigd door kazz1980 op 15-01-2004 11:08 ]

hier stond iets interessants, maar het is even weg...


Acties:
  • 0 Henk 'm!

  • kamerplant
  • Registratie: Juli 2001
  • Niet online
kazz1980 schreef op 15 januari 2004 @ 10:30:
[...]


hm. dat staat dan mooi helemaal verkeerd op php.net. lekker handig.
Ik zet exact die code ook ff online!

doetet!!!! :D
is dus alleen probleempje op localhost...
yesssch!

resultaat hier te bewonderen: http://hagen.let.rug.nl/~s1073605/taalspel/intro.php
Mooi :)

Overigens, na een refresh krijg je geen uitleg, iig niet die uitgebreide. Persoonlijk zal ik een linkje maken waardoor je die uitleg toch alsnog te zien krijgt. Zo zal ik zelf eerst wat bladeren en daarna pas die uitleg lezen waar ik dan niet meer bij zou kunnen. ;)
Leuk spel trouwens, alhoewel het zo te zien nog niet helemaal af is.

[ Voor 6% gewijzigd door kamerplant op 15-01-2004 11:23 ]

🌞🍃


Acties:
  • 0 Henk 'm!

  • Suepahfly
  • Registratie: Juni 2001
  • Laatst online: 17-09 17:05
Probeer dit eens
PHP:
1
2
3
4
5
6
7
8
9
<?
define('KOEKJE','taalspel1');
if(isset($_COOKIE[KOEKJE])){
    echo "ja!";
}else{
    setcookie (KOEKJE, "randchars",time()+3600, "/");
    echo "nee!";
}
?>


Dus een pad toevoegen aan setcookie. Na een x aantal testen ben ik er achter gekomen dat niet alle browsers een cookie accepteren dat niet volledig aan de standaard voldoet. Evt. kan je ook nog een domein en int[secure] toevoegen aan setcookie.

Verder is het ook makkelijk om de raw headers die je pagina verstuurd te bekijken
Dat kan in mozilla Firebird en met bv. proxomitron dan kan je zien of er daadwerkelijk een cookie wordt verstuurd

Acties:
  • 0 Henk 'm!

  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
Skaah schreef op 15 januari 2004 @ 09:52:
Ps. het is vaak wel handig om voor de naam van een koekje een variabele of een constante te gebruiken omdat het later zo moeilijk is om je koekje te veranderen.
Waarom in hemelsnaam. Je zet nu alleen een mapping op voor y naar x om vervolgens alles y te noemen. Stel je wilt nu y veranderen, dan heb je toch precies hetzelfde probleem? Plus dat je je dingen op de hals gaat halen als het verzinnen van nuttige namen voor beide referenties.
Het enige voordeel wat je hier gaat halen is een voordeel mbt verandering van de variabele, waardoor je opeens een andere variabele gaat benaderen.
Zijn classes met get/set operaties daar juist niet voor bedoeld?

Acties:
  • 0 Henk 'm!

  • darkrain
  • Registratie: Augustus 2001
  • Laatst online: 12:18

darkrain

Moderator Discord

Geniet

Leuk spel wel idd. Hoewel ik er niet zo heel veel van bakte.

Tweakers Discord


Acties:
  • 0 Henk 'm!

Verwijderd

Probeer de domeinnaam eens te gebruiken in de setcookie() functie.

Acties:
  • 0 Henk 'm!

  • darkrain
  • Registratie: Augustus 2001
  • Laatst online: 12:18

darkrain

Moderator Discord

Geniet

Mensen lees de draad voor je blaat.

het probleem is opgelost.

Tweakers Discord


Acties:
  • 0 Henk 'm!

  • Jerry
  • Registratie: September 2001
  • Laatst online: 09-04-2022

Jerry

Who?

kazz1980 schreef op 15 januari 2004 @ 10:30:
[...]


hm. dat staat dan mooi helemaal verkeerd op php.net. lekker handig.
Ik zet exact die code ook ff online!

doetet!!!! :D
is dus alleen probleempje op localhost...
yesssch!

resultaat hier te bewonderen: http://hagen.let.rug.nl/~s1073605/taalspel/intro.php
Misschien nog een kleine toevoeging ;).

Als je cookies ook wilt laten werken op localhost moet je localhost in een andere naam veranderen bij je apache instellingen.

In httpd.conf:
code:
1
ServerName blaat


Handig voor mensen die ook zo lang met cookies liepen te kloten terwijl het aan de apache instellingen lag ;).

Specs
Youtube celebrity
D3 Crusader


Acties:
  • 0 Henk 'm!

  • Skaah
  • Registratie: Juni 2001
  • Laatst online: 16-09 18:38
Glimi schreef op 15 januari 2004 @ 11:41:
[...]

Waarom in hemelsnaam. Je zet nu alleen een mapping op voor y naar x om vervolgens alles y te noemen. Stel je wilt nu y veranderen, dan heb je toch precies hetzelfde probleem? Plus dat je je dingen op de hals gaat halen als het verzinnen van nuttige namen voor beide referenties.
Het enige voordeel wat je hier gaat halen is een voordeel mbt verandering van de variabele, waardoor je opeens een andere variabele gaat benaderen.
Zijn classes met get/set operaties daar juist niet voor bedoeld?
't Is maar mijn ervaring, maar als je het later wilt veranderen heb je wel veel werk. Net zoiets als je de namen van tabellen in constanten zet, dan kun je eenvoudig je tabel / koekje naam veranderen mocht het nodig blijken. (Voor thuis kan bijvoorbeeld: 'testkoekje', maar op het werk zou je liever 'logincookie' gebruiken)
edit:

Of misschien is het mijn kinderachtige gewoonte koekjes kinderachtige namen te geven en ze dan te vergeten... waardoor ik constants moet gebruiken.

[ Voor 10% gewijzigd door Skaah op 15-01-2004 12:26 ]

Pagina: 1