WN

WN (https://www.wn.se/forum/index.php)
-   Klientsidans teknologier, design och grafik (https://www.wn.se/forum/forumdisplay.php?f=12)
-   -   Cookies PHP & Javascript (https://www.wn.se/forum/showthread.php?t=1063423)

TheCheesePolice 2014-11-16 22:15

Cookies PHP & Javascript
 
Hej alla!

Försöker febrilt läsa av cookies skapade av javascript i PHP. Är detta möjligt? Värt att notera är att jag knappt kan någon javascript öht, men hittade en funktion för att skapa cookies på nätet. Lyckas inte komma åt denna från $_COOKIE['namn'] på en annan sida dock. När jag gör en alert i JS på cookien ser jag däremot inte namnet heller, så kan problemet ligga i javascriptfunktionen?

Alla råd uppskattas!

x264 2014-11-16 23:12

Cookies är kopplade till varje enskild sida.

Du kan inte läsa en cookie från en annan sida.

nim 2014-11-16 23:48

Citat:

Ursprungligen postat av TheCheesePolice (Inlägg 20502045)
Hej alla!

Försöker febrilt läsa av cookies skapade av javascript i PHP. Är detta möjligt? Värt att notera är att jag knappt kan någon javascript öht, men hittade en funktion för att skapa cookies på nätet. Lyckas inte komma åt denna från $_COOKIE['namn'] på en annan sida dock. När jag gör en alert i JS på cookien ser jag däremot inte namnet heller, så kan problemet ligga i javascriptfunktionen?

Alla råd uppskattas!

Vad säger
Kod:

var_dump($_COOKIE)
Citat:

Ursprungligen postat av x264 (Inlägg 20502046)
Cookies är kopplade till varje enskild sida.

Du kan inte läsa en cookie från en annan sida.

Cookies sätts per domän, inte per sida.

x264 2014-11-17 08:54

Citat:

Ursprungligen postat av nim (Inlägg 20502047)
Vad säger
Kod:

var_dump($_COOKIE)

Cookies sätts per domän, inte per sida.


Förlåt, menade självklart per domän också men skrev så som han tänkte.

"sida" och "annan sida"

TheCheesePolice 2014-11-17 23:03

Citat:

Ursprungligen postat av nim (Inlägg 20502047)
Vad säger
Kod:

var_dump($_COOKIE)

Cookies sätts per domän, inte per sida.

Ber om ursäkt för det sena svaret, hade en lång dag på jobbet idag!

array(0) { } är det jag får ut av var_dump. Betyder det att cookie:n inte sattes?

Stort tack för hjälpen!

Kimppa 2014-11-18 08:15

Det ser ut som att sessionen är tom.

Arrayen borde innehålla ett cookie namn och värde array(1) { 'cookiefil'='varde' }

Glöm inte bort att prova hemsidan på ditt webbhotell. Jag har alltid haft problem med att få just PHP & Sessions/Cookies att gå ihop på min offline-server av någon anledning :/

TheCheesePolice 2014-11-18 08:41

Citat:

Ursprungligen postat av Kimppa (Inlägg 20502084)
Det ser ut som att sessionen är tom.

Arrayen borde innehålla ett cookie namn och värde array(1) { 'cookiefil'='varde' }

Glöm inte bort att prova hemsidan på ditt webbhotell. Jag har alltid haft problem med att få just PHP & Sessions/Cookies att gå ihop på min offline-server av någon anledning :/

Hmm, ok. Får väl prova att ladda upp den ikväll. Grejen är dock att vanliga setcookie-funktionen i PHP verkar fungera, så det är just när jag ska kombinera det med javascript som det blir bekymmer.

Kimppa 2014-11-18 10:15

Du har ingen kodsnutt du kan ladda upp som exempel?

tartareandesire 2014-11-18 11:07

Om du får en tom array som svar så finns ingen cookie men det är som sagt var omöjligt att säga vad du gör fel ifall du inte postar din kod.

TheCheesePolice 2014-11-18 21:36

Givetvis, ber om ursäkt!

function setFavorite(name,value,days) {
alert("fungerar");
if (days) {
var date = new Date();
date.setTime(date.getTime()+(days*24*60*60*1000));
var expires = "; expires="+date.toGMTString();
}
else var expires = "";
document.cookie = name+"="+value+expires+"; path=/; domain=/";
alert(getCookie(name));
}
</script>

function getCookie(cname) {
var name = cname + "=";
var ca = document.cookie.split(';');
for(var i=0; i<ca.length; i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1);
if (c.indexOf(name) != -1) return c.substring(name.length, c.length);
}
return "";
}


Alla tider är GMT +2. Klockan är nu 22:30.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson