[JS] JS schrijft altijd maar 1 variabele naar een cookie

Pagina: 1
Acties:
  • 22 views sinds 30-01-2008

  • Arcane Apex
  • Registratie: Juni 2003
  • Laatst online: 30-01 15:19
Ik probeer javascript variabelen naar een cookie te schrijven, maar er wordt altijd maar 1 variabele naar de cookie geschreven ipv allemaal.

Het gaat om dit stukje code:
code:
1
2
3
4
5
6
7
8
9
10
<script language="javascript">

    var theCookie = "screenResX_in_cookie="+ screen.width +";";
    theCookie = theCookie +"screenResY_in_cookie="+ screen.height +";";

    document.cookie = theCookie;
     
    location = 'screenResTest.php';

</script>


Hier is de volledige code met PHP om het te testen:


Deze code moet in een file genaamd screenResTest.php
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<html>
<head>

<?php
if(isset($HTTP_COOKIE_VARS["screenResX_in_cookie"]))
{
    $screenResX = $HTTP_COOKIE_VARS["screenResX_in_cookie"];
    $screenResY = $HTTP_COOKIE_VARS["screenResY_in_cookie"];    
}
else
{
?>
<script language="javascript">

    var theCookie = "screenResX_in_cookie="+ screen.width +";";
    theCookie = theCookie +"screenResY_in_cookie="+ screen.height +";";

    document.cookie = theCookie;
     
    location = 'screenResTest.php';

</script>
<?
}
?>

</head>
<body>


<?php
echo 'The x-resolution is '.$screenResX.' and the y-resolution is '.$screenResY.' .';
?>


</body>
</html>


Zoals men hier kan zien wanneer men de bovenstaande code uittest, dan echoed de php-statement in de body alleen de 1ste variabele uit.
Dit komt waarschijnlijk omdat er maar 1 variabele in de cookie wordt opgeslagen, namelijk screenResX_in_cookie.
Echter screenResY_in_cookie wordt niet naar de cookie geschreven, dus kan ik deze ook niet met php aan de cookie ontrekken.
Iemand enig idee waarom dit gebeurd en hoe dit opgelost zou kunnen worden?

[ Voor 33% gewijzigd door Arcane Apex op 17-02-2005 13:13 ]


  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Gewoon 2 cookies schrijven:
JavaScript:
1
2
3
4
5
6
7
function setCookie(sName, sValue)
{
    document.cookie = sName + '=' + escape(sValue) + '; expires=Fri, 31 Dec 2099 23:59:59 GMT; path=/';
}

setCookie('screenResX_in_cookie', screen.width);
setCookie('screenResY_in_cookie', screen.height);

Intentionally left blank


  • Arcane Apex
  • Registratie: Juni 2003
  • Laatst online: 30-01 15:19
Maar stel dat ik 100 variabelen zou willen setten, krijgt de client(side) dan niet 100 cookies op zijn/haar pc?
Ik doe liever alle variabelen in 1 cookie.

  • André
  • Registratie: Maart 2002
  • Laatst online: 12-09 14:32

André

Analytics dude

Er komt maar 1 cookie bestand van jouw domein, en daar staan alle waardes in die jij bewaart.

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

André schreef op donderdag 17 februari 2005 @ 22:19:
Er komt maar 1 cookie bestand van jouw domein, en daar staan alle waardes in die jij bewaart.
Nee, TS heeft wel een punt. De manier die ik hierboven beschreef schrijft 2 cookies; dat dat clientside in 1 bestand wordt opgeslagen doet niet ter zake.
Ook als je in PHP 2x een setCookie doet met een andere 1e parameter zet je 2 cookies.
Er is inderdaad een beperking van het aantal cookies dat door een domein gezet kan worden; rond de 40 dacht ik. Om te voorkomen dat je aan deze limiet komt zou je eea in 1 cookie kunnen combineren door bijvoorbeeld te serializen, of waarden seperated in 1 string te plaatsen en dat geheel in 1 cookie te zetten :)

Voor een voorbeeld: klap een aantal categorieën in op de index en bekijk de klipklapcookie van dit forum ;)

[ Voor 7% gewijzigd door crisp op 17-02-2005 23:25 ]

Intentionally left blank


Acties:
  • 0 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Intentionally left blank

Pagina: 1

Dit topic is gesloten.