Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.02.2012, 12:55   #1
Mr_freeman
Форумчанин
 
Аватар для Mr_freeman
 
Регистрация: 17.01.2010
Сообщений: 277
По умолчанию Что-то с куками. document.cookie

Написал примитивнейший пример для проверки работы Cookies:

PHP код:
<html>
<
head> <titleкуки </title> </head>
<
div id "lol">
</
div>


<
script>
document.cookie "name=loooooooooooooooool; max-age=" + (60*60*24*365)

var 
allcookies document.cookie
var pos allcookies.indexOf("name=")
if (
pos !=  -1) {
   var 
start pos 5
   
var end allcookies.indexOf(";"start)
   if (
end ==  1end allcookies.length    
   
var valueC allcookies.substring(startend)
document.getElementById("lol").innerHTML valueC
} else alert("Проблемка")
</script>
</html> 

Вообщем выскакивает алерт.
Что я опять не так сделал?

Последний раз редактировалось Mr_freeman; 16.02.2012 в 12:57.
Mr_freeman вне форума Ответить с цитированием
Старый 17.02.2012, 02:41   #2
Greblin
Меркантильный кю
Участник клуба
 
Аватар для Greblin
 
Регистрация: 02.02.2008
Сообщений: 1,001
По умолчанию

PHP код:
   if (end ==  -1end allcookies.length 
минус забыли

И опять-таки, не забывайте про часть <body>. Если в книжке, из которой Вы переписываете так написано, лучше сразу её выкиньте

Кстати, не буду говорить со всей категоричностью, но вообще-то срок действия куки задаётся с помощью свойства expires, а вот что такое max-age я не знаю
Росли вроде умными, выросли дурнями... (c)А.Васильев
Greblin вне форума Ответить с цитированием
Старый 17.02.2012, 15:45   #3
Fenex
Форумчанин
 
Аватар для Fenex
 
Регистрация: 15.02.2012
Сообщений: 821
По умолчанию

Для кук можно использовать уже готовые и удобные функции:

PHP код:
function setCookie(namevalue) {
    var 
expires = new Date();
    
expires.setTime(expires.getTime() + (1000 60 60 24 365 20));
    
document.cookie name "=" escape(value) + "; path=/" + ((expires == null) ? "" "; expires=" expires.toGMTString());

function 
getCookie (name) {
    var 
dc document.cookie;
    var 
cname name "=";
    if (
dc.length 0) {
        
begin dc.indexOf(cname);
        if (
begin != -1) {
            
begin += cname.length;
            
end dc.indexOf(";"begin);
            if (
end == -1end dc.length;
            return 
unescape(dc.substring(beginend));
        }
    }
    return 
0;

^-.-^ My GitHub
Fenex вне форума Ответить с цитированием
Старый 18.02.2012, 15:14   #4
Mr_freeman
Форумчанин
 
Аватар для Mr_freeman
 
Регистрация: 17.01.2010
Сообщений: 277
По умолчанию

Я читал, что операции с куками должны производиться перед загрузкой html-кода.. Что это значит? Может тут у меня ошибка?

Зачем во второй функции return 0 ??

Набросал тут:

Код HTML:
<html>
<body>
<script>
...
//Ваши функции
...
setCookie(name,"LoL")
alert(getCookie(name))
</script>
</body>
</html>
Выскочил алерт с нулем.

Потом я убрал строку return 0 -> вывело "undefined"

Ничего не понимаю.

Последний раз редактировалось Mr_freeman; 18.02.2012 в 15:25.
Mr_freeman вне форума Ответить с цитированием
Старый 18.02.2012, 22:27   #5
Greblin
Меркантильный кю
Участник клуба
 
Аватар для Greblin
 
Регистрация: 02.02.2008
Сообщений: 1,001
По умолчанию

Цитата:
Сообщение от Mr_freeman Посмотреть сообщение
Я читал, что операции с куками должны производиться перед загрузкой html-кода.. Что это значит? Может тут у меня ошибка?
Это относится к PHP (точнее, к серверным языкам). Для JavaScript это просто невозможно (как может выполниться какой нибудь код на JS, если страничка ещё не загружена)

Цитата:
Зачем во второй функции return 0 ??
чтобы вернуть 0, если кук нет

Цитата:
Набросал тут:

Код HTML:
<html>
<body>
<script>
...
//Ваши функции
...
setCookie(name,"LoL")
alert(getCookie(name))
</script>
</body>
</html>
Выскочил алерт с нулем.

Потом я убрал строку return 0 -> вывело "undefined"

Ничего не понимаю.
А кто строки в кавычки будет заключать? Пушкин? Если бы name была переменной, то да, но это же строка у Вас.

Научитесь пользоваться инструментами отладки в браузере, узнаете много нового
Росли вроде умными, выросли дурнями... (c)А.Васильев
Greblin вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с куками C# Lemo Помощь студентам 2 10.08.2011 00:12
Постоянное обновление. Что с document.location.href ? Дмитрий Макаров JavaScript, Ajax 0 02.06.2011 02:07
Бред с куками WennY PHP 0 09.05.2011 18:54
Работа с куками Fellics{новичок} PHP 6 02.03.2010 20:57
Пробема с куками X11 Работа с сетью в Delphi 0 27.01.2010 00:39