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

Форум PHP

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

 

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

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

тема: Сессии и Куки

Сообщения:  [1-7] 

 
 автор: cheops   (03.08.2005 в 12:59)   письмо автору
 
   для: Ziq   (03.08.2005 в 06:57)
 

Да аргумент time()+600 не претерпит изменений и через 10 минут после установки cookie будет уничтожена.

   
 
 автор: Ziq   (03.08.2005 в 06:57)   письмо автору
 
   для: cheops   (02.08.2005 в 12:53)
 

А что если на одной странице объявить COOKIE так

setcookie("name",$name,time()+600);

А на другой странице так

$_COOKIE['name']=$name;

,то после этого останется аргумент time()+600

   
 
 автор: cheops   (02.08.2005 в 12:53)   письмо автору
 
   для: Ziq   (02.08.2005 в 08:10)
 

1) SID может передаваться двумя способами, либо через COOKIE, как у вас, либо через параметр GET, поэтому ничего удивительного, что в COOKIE имеется PHPSESSID нет - номер SID как-то нужно закрепить за клиентом, а COOKIE - это идеальное решение (если они включены). А уже по SID сервер находит файл сессиии у себя во временной директории.

2) Всё правильно COOKIE устанавливаются не сразу, так как cookie хранятся на машине клиента, а массив $_COOKIE на сервере. Т.е. сервер посылает требование установить cookie - она ещё не установлена и массив $_COOKIE пуст. В следующий запрос, когда клиент уже установит cookie, он пошлёт её серверу в HTTP-заголовке и сервер поместит её в $_COOKIE - поэтому складывается впечатление, что cookie устанавливается со второго раза. Просто так устроент протокол HTTP.

   
 
 автор: holst   (02.08.2005 в 09:37)   письмо автору
 
   для: Ziq   (02.08.2005 в 08:50)
 

А ты попробуй поставить в php.ini установку кук по умолчанию.

Я точно не помню как выглядит строка, но она находится в разделе SESSION. (там что-то use.session.cookie). Поставь там единицу и куки в сессиях будут устанавливаться автоматически.



А по поводу страницы, что не сохраняется? Можешь пояснить поподробнее?

   
 
 автор: Ziq   (02.08.2005 в 08:50)   письмо автору
 
   для: HoLsT   (02.08.2005 в 08:20)
 

По-моему эта книга не отвечает ни на один из заданных мной вопросов. Но все равно спасибо за то, что откликнулись.

   
 
 автор: HoLsT   (02.08.2005 в 08:20)   письмо автору
 
   для: Ziq   (02.08.2005 в 08:10)
 

Прочитай учебник на этом сайте http://www.softtime.ru/bookphp/gl8_1.php.
Может поможет. Если нет, то потом спрашивай

   
 
 автор: Ziq   (02.08.2005 в 08:10)   письмо автору
 
 

Я в конец запутался в сессиях и куках. Всю жизнь думал, что именно сессиям нужен sid, но недавно пропустил через print_r($_COOKIE) и заметил, что PHPSESSID отображается, а в сессиях нет.

Потом возник еще один вопрос, почему COOKIE сразу не присваиваются. Если я у себя на локалке cookie устанавливаю с помощью setcookie, то вот такой код правильно отобразиться только со второй загрузки

<?
setcookie
("name",$name,time() + 600);
echo 
$_COOKIE['name'];
?>
а вот такой с первой
<?
$_COOKIE
['name']="Вася";
echo 
$_COOKIE['name'];
?>


И еще почему у меня на локалке, когда я использую сессии страница не сохраняется.

P.S. И объясните, пожалуйста, как там все работает, где какие статейки надо почитать. Заранее ОЧЕНЬ благодарен.

   

Сообщения:  [1-7] 

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

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