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

Форум PHP

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

 

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

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

тема: И опять, COOKIE
 
 автор: iham   (19.01.2007 в 03:47)   письмо автору
 
 

Доброго времени суток. Хотел подробнее узнать о куках..

1)как реализовать отправку куков. Пользователь вводит пароль и попадает на check.php, там он проверяется и ему присваиваются куки. Это правильно?

2)Далее он попадает на forum.php. Нужно ли ему присваивать куки снова? А на последующих страницах?

3)как реализовать проверку куков, проверять на каждой странице пароль и имя? Как в check.php?

4)хотя и назначаю куки( setcookie("name",$name) ), в "документс и сеттингс/кукис" нет моего... Что я делаю не так?

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

Поэтому подскажите пожалуйста.

Спасибо

   
 
 автор: targa   (19.01.2007 в 06:01)   письмо автору
 
   для: iham   (19.01.2007 в 03:47)
 

1)
>>как реализовать отправку куков
setCookie(), setRawCookie(), header()

Пользователь вводит логин/пасс
На странице проверки(хотя необязательно на отдельной странице, можно делать это вначале скрипта)
- очищаем их от мусора (вских там апострофов, бэкслешей и прочего)
- проверяем валидность введенных данных (по БД или в файле)
- если логин/пасс валидны ставим куки (я предпочитаю пасс еще и зашифровать - лишним не будет)
не забудьте сначала куки (хэдеры) потом текст
- и раз они валидны поднимает флаг что юзер залогинен
- если не валидны - так ему и говорим

2)
>>Нужно ли ему присваивать куки снова?
Нет куки у него уже стоят. Пока не истечет их срок

>>А на последующих страницах?
Мы только проверяем глобальный массив _COOKIE на наличие в нем ключей login/pass (или как вы их там обозвали) и проверяем валидность уже куков. Если куки шифровали то они в массиве будут уже зашифрованные. Следовательно данные для проверки из БД/файла тоже надо будет зашифровать и сранивать уже зашифрованные строки.

3) Проверяем куки и их валидность функцией вначале скрипта.

4) может вы Оперой/ФайрФоксом пользуетесь. Если да - то смотрите в настройках этих браузеров - там есть специальные вкладки для управления кукисами.

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

   
 
 автор: jbs   (19.01.2007 в 06:11)   письмо автору
 
   для: targa   (19.01.2007 в 06:01)
 

4) если неуказан "срок жизни" куки, то она не сохраняется в файле и будет жить в памяти до закрытия окна.

   
 
 автор: iham   (19.01.2007 в 07:01)   письмо автору
 
   для: jbs   (19.01.2007 в 06:11)
 

огромное спасибо спасибо, пока всё ясно. :)

Будем разбираться.

   
 
 автор: iham   (27.01.2007 в 18:18)   письмо автору
 
   для: iham   (19.01.2007 в 07:01)
 

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

И ещё, как правильно их проверять? $_COOKIE["name"])="" или isset($_COOKIE["name"]) или ещё как.

Вобщем они умирают, проблема в этом. Подскажите, пожалуйста.

   
 
 автор: Sergey89   (27.01.2007 в 18:20)   письмо автору
 
   для: iham   (27.01.2007 в 18:18)
 

Использовать isset - правильно, если необходимо проверить существование кукисов.

   
 
 автор: iham   (27.01.2007 в 19:39)   письмо автору
 
   для: Sergey89   (27.01.2007 в 18:20)
 

Спасибо, а как на счёт того чтоб они не умирали?

   
 
 автор: kasmanaft   (27.01.2007 в 20:42)   письмо автору
 
   для: iham   (27.01.2007 в 19:39)
 

Должны жить, если правильно срок даете :)
Указывается не количество секунд/минут/дней , а дата, когда срок жизни закончится, например

time()+60*60*3 - будут жить еще 3 часа

   
 
 автор: iham   (27.01.2007 в 22:37)   письмо автору
 
   для: kasmanaft   (27.01.2007 в 20:42)
 

спасибо, конечное, я таким макаром и сделал... Только по истечении этого времени пользователь вылетит. А если он работает с сайтом 24 часа подряд?

Я имел ввиду, как сделать, чтоб куки поняли, пока умирать не стоит, ведь пользователь еще сдесь..

   
 
 автор: bronenos   (28.01.2007 в 12:54)   письмо автору
 
   для: iham   (27.01.2007 в 22:37)
 

тогда может
time() + 99*99*99*99

   
 
 автор: iham   (29.01.2007 в 14:27)   письмо автору
 
   для: bronenos   (28.01.2007 в 12:54)
 

:) понятно

   
Rambler's Top100
вверх

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