Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: какие данние надо сохранить в COOKIES ?
Форумы портала PHP.SU » » HTTP и PHP » какие данние надо сохранить в COOKIES ?

Страниц (1): [1]
 

1. dadli - 18 Ноября, 2011 - 10:05:34 - перейти к сообщению
здраствуите.
при авторизации не понимаю что надо сохранять в куках. (COOKIES)
вот допустим такои процес.
человек зашёл на маём саите, регистрировался как "che-guevara" (ето его логин), потом авторизовался так, что включил чекбокс: "запомни мне". ето значит что мне нада как то запомнить етот "che-guevara" да? если он допустим через 1 месяц снова заидёт на маём саите, он будить так скажем автоматически авторизованн на саите, а ето нужно с помошчю COOKIES сделать да, тоесть на странице авторизации пишем:

PHP:
скопировать код в буфер обмена
  1. if (isset($_POST['zapomni_mne'])) {
  2.         setcookie("cookiename", ???? ,time()+3600*24*365);
  3. }


а в место знаки вопросов нада значение ети кукисов написать да? а какои именно? например логин ползователя саидёт? или что-то другое нада?
спасибо балшое
2. EuGen - 18 Ноября, 2011 - 10:23:58 - перейти к сообщению
Ничего не надо специально. Если Вы используете сессии, то кука с именем сессии и значением идентификатора создастся автоматически (если Вы не запретили PHP использовать cookies для сессий в Вашей конфигурации)
3. dadli - 18 Ноября, 2011 - 10:30:55 - перейти к сообщению
EuGen
вот например так сделаю страницу авторизации: (здес не пишу никаких мускл_реал_ескапе_стринг() и мд5 и так далее, патаму здес ето не важно)
PHP:
скопировать код в буфер обмена
  1. if (isset($_POST['login'])) {
  2.         $login = $_POST['login'];
  3. }
  4. if (isset($_POST['password'])) {
  5.         $password = $_POST['password'];
  6. }
  7.  
  8. $res = mysql_query(
  9. "SELECT login FROM users WHERE
  10. login = '".$login."' AND password = '".$password."' ",$db);
  11.  
  12. if (mysql_num_rows($res) != 1) {
  13.         exit("login i/ili parol ne pravilni");
  14. }
  15.  
  16. $row = mysql_fetch_row($res);
  17. $_SESSION['login'] = $row[0];

сесия стартуется хорошо, когда я на саите, я авторизован, но если закрою -> открою браузер уже нада мне снова авторизоватся, если сесии сам саздаёт кукисов, то почему не происходит автометически авторизаця ?
тестирую на денвере, и в конфигурацях я ничего не изменил
4. EuGen - 18 Ноября, 2011 - 10:44:44 - перейти к сообщению
dadli пишет:
если сесии сам саздаёт кукисов, то почему не происходит автометически авторизаця ?

Потому что когда Вы закрываете браузер, кука разрушается. И Вы завершаете сессию.
5. dadli - 18 Ноября, 2011 - 10:50:34 - перейти к сообщению
EuGen
а как сделать так что, если например через 1 месяц я снова заиду на саите, я бил уже авторизован?
как например здес: я закрою браузер, втарои ден открою и я автоматически авторизован, как такое сделат?
6. EuGen - 18 Ноября, 2011 - 11:07:51 - перейти к сообщению
Используйте session_set_cookie_params:
http://ru2.php.net/manual/en/fun...ookie-params.php

(обратите внимание, в комментариях там есть много хороших примеров.)

- для установки времени жизни сессионной куки.
7. dadli - 18 Ноября, 2011 - 11:12:49 - перейти к сообщению
ок EuGen посматрю, благадарю очен за помошч

 

Powered by ExBB FM 1.0 RC1