Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Как проверить включение cookie

Сообщения:  [1-10]    [11-20]  [21-21] 

 
 автор: Сашинька   (16.08.2011 в 12:50)   письмо автору
 
   для: cheops   (16.08.2011 в 10:49)
 

Огромное спасибо.
Практическим испытаниям сейчас нет времени, но есть уверенность.
Для меня, именно для меня, эта Ваша помощь конкретна и бесценна.
Ваша помощь позволила мне прекратить бесплодные поиски в просторах интернет, создала у меня ощущение ясной законченности, устранила блуждания в лабиринте потёмков, создала мне твердую почву, на которой можно выстраивать мощную структуру проекта.
Я надеюсь, верю и в этом убежден, что этот ход развития задачи ПРОВЕРКИ ВКЛЮЧЕНИЯ КУК будет полезен многим начинающим и опытным программистам.
Вечером попробую силу практики и полезность кода, который думаю можно оформить в виде законченного, выделенного модуля.
З,Ы. Вроде локально не должно работать в браузере Google Chrome

  Ответить  
 
 автор: cheops   (16.08.2011 в 10:49)   письмо автору
 
   для: Сашинька   (15.08.2011 в 19:31)
 

На JavaScript проверить существование cookie можно, отталкиваясь от следующего примера
<html> 
<head>
<script> 
  function loadpage() 
  { 
    var obj = document.getElementById ('id_cookie'); 
    if(obj) 
    { 
      // Устанавливаем cookie
      setcookie("ckeck_cookie", 1);
      // Извлекаем cookie
      var cookie = getcookie("ckeck_cookie"); 
      if(cookie != "1")  
      { 
        obj.innerHTML = 'У вас отключены cookie, ряд возможностей сайта вам будут не доступны'; 
      }
      else
      {
        obj.innerHTML = 'У вас включены cookie, сейчас мы вас ограбим'; 
      } 
    } 
  } 
  // Устанавливаем cookie 
  function setcookie(name, val) 
  { 
    var putdate = new Date(); 
    // Устанавливаем cookie на год 
    putdate.setTime(putdate.getTime() + (86400 * 365)); 
    document.cookie = name + "=" + val + "; expires=" + putdate.toGMTString() +  "; path=/"; 
  } 
  // Извлекаем cookie 
  function getcookie(name) 
  { 
    var re = new RegExp(name + "=([\\d])", "i"); 
    arr = re.exec(document.cookie); 
    return arr[1]; 
  } 
</script> 
</head>
<body onload='loadpage()'> 
<div id='id_cookie'></div>
</form>    
</body> 
</html>

  Ответить  
 
 автор: cheops   (16.08.2011 в 10:37)   письмо автору
 
   для: Сашинька   (15.08.2011 в 21:01)
 

От браузера зависит... все складируют в разных местах (кроме того, сессионные куки вообще не записываются на жесткий диск, а хранятся в оперативной памяти). Вы каким браузером пользуетесь?

  Ответить  
 
 автор: Сашинька   (15.08.2011 в 21:01)   письмо автору
 
   для: cheops   (15.08.2011 в 19:20)
 

Все работает.
Оригинальное решение.

А где, в какой папке, можно куку увидеть, если под денвером и если на сайте?

  Ответить  
 
 автор: Сашинька   (15.08.2011 в 19:31)   письмо автору
 
   для: cheops   (15.08.2011 в 19:20)
 

Спасибо за целебную помощь.
В книге тоже ошибка, но там уже другого рода, на лицо прогресс.

Дайте опорный пример JavaScript для опредмечивания темы, а то мы уже книги исследуем.
Мне принцип механики стал понятен, но отправная точка в пустоте.

В моем случае, наверное, при отправке формы, мне надо послать куку в пустое окно, а потом на серваке попытаться прочитать?

  Ответить  
 
 автор: cheops   (15.08.2011 в 19:20)   письмо автору
 
   для: Сашинька   (15.08.2011 в 18:50)
 

Посмотрите новый пример http://www.softtime.ru/scripts/checkcookie.php. Лучше эту задачу не решать средствами PHP - не очень удобно, cookie находятся на стороне клиента, поэтому и задачу проверки того факта включены ли они, удобнее делать на стороне клиента (сервер можно известить по AJAX-каналу).

  Ответить  
 
 автор: Сашинька   (15.08.2011 в 18:50)   письмо автору
 
   для: Valick   (15.08.2011 в 17:15)
 

Там написано, что у вас ошибка. А книга есть, с двумя словами не в эту тему и еще больше 10000 страниц, на другие темы.
А мне надо, после получения заполненной формы на сервере, узнать есть ли кука у пользователя и если нет, то отказать посетителю. А дискутировать можно вечно о том что для этого надо.
Не плохо бы понять, как сделать, что-бы код, приведенный в книгах по проверке включения кук должен работать, если он ни у кого не работал.
Можете для опоры и предметного общения пример привести?

  Ответить  
 
 автор: Valick   (15.08.2011 в 17:15)   письмо автору
 
   для: Сашинька   (15.08.2011 в 16:37)
 

Пусть тогда модератор удалит.
Хеопс и есть модератор) и автор множества книг и создатель этого форума)
вам просто нужна хорошая книга, чтобы последовательно изучить язык, без этого у вас в голове еще долго будет каша

  Ответить  
 
 автор: Сашинька   (15.08.2011 в 16:37)   письмо автору
 
   для: cheops   (15.08.2011 в 16:18)
 

Так он от старости не может работать?
Смешнее, когда с кем-то общаешься в жизни, с теоретиком, а он постоянно ссылаясь на теоретиков, человека практика записывает в дураки.
Еще смешнее, когда в институте все такое дают, а теоретик свято верит и борется за правду.
Очень смешно, когда кругом одни теоретики, но давным давно они были практики по использованию ошибок и не проверили теорию до конца.
Совсем смешно, когда вся страна изучив отрицательный опыт прошлого, принимает его за положительное и начинает все крушить вокруг.
Извините если шутка кажется глупыми и неуместными. Пусть тогда модератор удалит.

Весь интернет из этого примера на эту тему. Все переписывают не проверяя.
Получается любая глупость в инете может быть, что мы и имеем.

То что вы сказали-заработало в денвере, а в браузере ни фига.
В браузере тоже самое пишет.
Можно ли использовать для поставленных целей, а то уже голова запарилась от комбинаций?
Подскажите пожалуйста.

  Ответить  
 
 автор: cheops   (15.08.2011 в 16:18)   письмо автору
 
   для: Сашинька   (15.08.2011 в 15:48)
 

Скрипт очень старый (хорошо, что обратили на него внимание, обновим в ближайшее время), нужно преобразовать $cookie в $_GET['cookie'], а $test в $_COOKIE['test'].

  Ответить  

Сообщения:  [1-10]    [11-20]  [21-21] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования