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

Форум PHP

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

 

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

вид форума:
Линейный форум Структурный форум

тема: Куки и php сессия
 
 автор: l-mariachi   (08.11.2010 в 21:47)   письмо автору
 
 

Подскажите пожалуйста, если в браузере отключены именно куки, будет ли работать php сессия?
Ну всмысле переменные $_SESSION[] ??
Скрипт у меня такой, который сначала проверяет куки, если их нет, проверяет сессию.
Так вот если куки в браузере отключаю, сессия не работает, не пойму это мой косяк или браузер не пропускает никакие сессии????

  Ответить  
 
 автор: sl1p   (08.11.2010 в 22:11)   письмо автору
 
   для: l-mariachi   (08.11.2010 в 21:47)
 

сесси хранят ключ в куках) но этот идентификатор можно передавать и гет параметром)

  Ответить  
 
 автор: l-mariachi   (08.11.2010 в 22:13)   письмо автору
 
   для: sl1p   (08.11.2010 в 22:11)
 

А как не подскажете?

  Ответить  
 
 автор: sl1p   (08.11.2010 в 22:17)   письмо автору
 
   для: l-mariachi   (08.11.2010 в 22:13)
 

<?
$link 
'index.php?sid='.session_id();

  Ответить  
 
 автор: neadekvat   (08.11.2010 в 22:17)   письмо автору
 
   для: l-mariachi   (08.11.2010 в 22:13)
 

Если кукисы будут отключены - php позаботится о том, чтобы передать идентификатор сессии через гет-параметр

  Ответить  
 
 автор: sl1p   (08.11.2010 в 22:24)   письмо автору
 
   для: neadekvat   (08.11.2010 в 22:17)
 

негуя) позаботится только если это будет включено в опциях пхп =) и то ссылки которые будут генерироваться динамически не будут затронуты пхп=)

  Ответить  
 
 автор: Trianon   (08.11.2010 в 22:26)   письмо автору
 
   для: neadekvat   (08.11.2010 в 22:17)
 

Случается, что нелишним будет ему в этом помочь, очевидно.

Тредстартеру: http://ru.php.net/manual/en/session.idpassing.php


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

  Ответить  
 
 автор: l-mariachi   (08.11.2010 в 22:52)   письмо автору
 
   для: Trianon   (08.11.2010 в 22:26)
 

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

Не подскажете логически это как сделать вообще?
Чтобы юзая по сайту она сама, при ее наличии дописывалась в строку адреса???

  Ответить  
 
 автор: neadekvat   (08.11.2010 в 22:56)   письмо автору
 
   для: l-mariachi   (08.11.2010 в 22:52)
 

Чем же вызвана такая необходимость? Вы все-таки решили подстраиваться под те "меньше процента" посетителей, у которых кукисы офф? Или на то есть иные причины?

  Ответить  
 
 автор: l-mariachi   (08.11.2010 в 23:08)   письмо автору
 
   для: neadekvat   (08.11.2010 в 22:56)
 

Ну да, надо иметь ввиду всех по идее

  Ответить  
 
 автор: neadekvat   (08.11.2010 в 23:10)   письмо автору
 
   для: l-mariachi   (08.11.2010 в 23:08)
 

Лично мое мнение, что овчинка выделки не стоит, скажем так.
Взять те же гугл, контакт - попробуйте ка там с выключенными кукисами и джаваскриптом поработать нормально.
Если пользователь что-то отключает у себя, то он должен быть готов к тому, что эти изменения не пройдут бесследно :) Например, я сознательно не включаю возможность контроля js над левой кнопкой в Опере.

  Ответить  
 
 автор: l-mariachi   (08.11.2010 в 23:16)   письмо автору
 
   для: neadekvat   (08.11.2010 в 23:10)
 

Понимаю, но хотябы уведомить юзера о том что надо включить куки я не могу, потому что не могу проверить включены ли куки в браузере. Здесь на форуме все советуют этот код:

<?
  
if(!$cookie)
  {
    
/* посылаем заголовок переадресации на страницу,
    с которой будет предпринята попытка установить cookie */
    
header("Location: $PHP_SELF?cookie=1");
    
/* устанавливаем cookie с именем "test" */
    
setcookie("test","1");
  }
  else
  {
    if(!
$test)
    {
      echo(
"Для корректной работы приложения необходимо включить cookies");
    }
    else
    {
      
/* cookie включены, переходим на нужную страницу */
      
header("Location: http://localhost/test1.php");
    }
  }
?>

Хотя в хроме и опере он не работает, говоря мол бесконечный запрос.

В инете тож чето не нашел ничего дельного...
Подскажите может, как проверить?

  Ответить  
 
 автор: neadekvat   (08.11.2010 в 23:19)   письмо автору
 
   для: l-mariachi   (08.11.2010 в 23:16)
 

Так, постойте, откуда вы берете $cookie, $test и какой еще $PHP_SELF? Вы работаете с register_globals() = on? Срочно меняйте на off и читайте, какие изменения вам предстоит внести в код.

  Ответить  
Rambler's Top100
вверх

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