Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Куки созданные в php не работают в js (https://javascript.ru/forum/misc/20854-kuki-sozdannye-v-php-ne-rabotayut-v-js.html)

leoHex 20.08.2011 01:03

Куки созданные в php не работают в js
 
Здравствуйте ув. форумчане! Почему не получается прочитать в javascript куки созданные php скриптом. вот два кода:
1. l.php
<?php
    setcookie("mnum","Hello world",time()+86400);
?>


2. core.js
function readCookie(name) {  
  
    var cookiename = name + "=";  
  
    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,c.length);  
  
        if (c.indexOf(cookiename) == 0) return c.substring(cookiename.length,c.length);  
  
    }  
  
    return null;  
}


document.body.innerHTML+=readCookie('mnum');


Выводит null, однако если я запускаю другой php скрипт с командой
echo $_COOKIE["mnum"];

работает...

В чём причина? заранее спасибо!

melky 20.08.2011 13:50

покажите вывод

alert(  document.cookie )

leoHex 20.08.2011 17:14

в окне пусто...

Следует заметить, что если на javascript создаю кук, то читается правильно, созданный в другом php скрипте нет... Когда сайт был построен исключительно на php такой проблемы не возникало, делая в одном скрипте кук, он с лёгкостью читался на всех остальных...

float 20.08.2011 17:27

нарушаете права скорее всего
http://php.net/manual/ru/function.setcookie.php
обратите внимание на параметр path.

leoHex 21.08.2011 00:51

хм... у меня была идея, что это из-за разных документов... только я искал ответ в javascript. ну что ж попробую и отпишусь. спасибо

leoHex 24.08.2011 19:01

не получается... в php пишу:
setcookie("mnum","1",time()+86400,"../");

добавил параметр path как "../", потому что скрипт который читает кук находится в корневом каталоге, а php в каталоге "./phps"
почему не получается?

melky 24.08.2011 19:09

и опять таки
Цитата:

Сообщение от melky (Сообщение 121476)
покажите вывод

alert(  document.cookie )

поставь нормальный path

leoHex 25.08.2011 01:58

Цитата:

Сообщение от melky (Сообщение 121476)
покажите вывод

alert(  document.cookie )

повторяю, окно абсолютно пустое.

"нормальный path" в каком смысле?

melky 25.08.2011 02:23

Цитата:

Сообщение от leoHex (Сообщение 122263)
"нормальный path" в каком смысле?

без точек
Код:

/

leoHex 31.08.2011 14:57

короче говоря, проблема решилась без путей, простым перемещением файла php в корневой каталог


Часовой пояс GMT +3, время: 10:03.