|
|
|
| Как отчистить куки? Нужно что бы после того как браузер закрыли куки автоматом устаревало. | |
|
|
|
|
|
|
|
для: Doorgen
(22.12.2008 в 19:17)
| | а зачем тебе вообще куки нужны, если после закрытия браузера их не должно быть?
пользуйся сессиями. имхо | |
|
|
|
|
|
|
|
для: Рома
(23.12.2008 в 01:34)
| | А чо, сессии это альтернатива cookies по-Вашему? | |
|
|
|
|
|
|
|
для: BinLaden
(23.12.2008 в 02:01)
| | а каков смысл кук, если они на один сеанс? | |
|
|
|
|
|
|
|
для: Doorgen
(22.12.2008 в 19:17)
| | ну раз тема про куки, то, что бы не засорять форум, то спрошу здесь
Делаю регистрацию и, соответственно, вход на сайт под своим логином.
Ровняясь на уже сделанные системы (vBulletin, E107, PHPNuke и прочие сайты, не лазяя в код), понял, что как-то надо реализовать пункт "запомнить".
Ну, как понимаю, это делается через cookies.
Первая проблема, которая возникла, это "когда создавать куки у пользователя?". Это проблема возникла по той причине, что у меня иерархия файлов такая:
Весь процесс проходит в файле login.php
В нем, в самом начале файла включаются файлы config, connection и header.
В header содержится начало страницы: session_start() и HTML заголовки.
Дальше по файлу идут уже условия включения тех или иных файлов:
login_form.php - форма для входа в систему
login_action.php - обработка данных, полученных из формы
login_exit.php - session_destroy();
Ну, как знаю, setcookie() должны идти до заголовков в header.php
Но как реализовать, не понимаю?
из login_action.php сделать перенаправление на login.php с передаваемым параметром через GET и перед включением config, connection, header поставить условие и setcookie?
И еще вопрос, как реализовывается, что если сессия обрывается, пользователь все еще зарегистрирован на сайте? Что храниться в cookies и как обрабатывается?
Мне хотябы просто алгоритм. | |
|
|
|
|
|
|
|
для: SteAlzzer
(23.12.2008 в 12:47)
| | ну что, никто не знает как..? | |
|
|
|
|
|
|
|
для: SteAlzzer
(24.12.2008 в 22:49)
| | Куки работают так же как и сессия по большому счёту. различие в том, что в куках информация хранится на клиентской машине, а значит доступна. При работе с сессией информация хранится на сервере, а клиенту выдается только ключ к ней - идентификатор. Можно установить время жизни как сессии, так и куки. Есть еще различия, массивы например, но это к делу не относится. И то и другое (куку или ид сессии) нужно передать клиенту. Делается это так же, как и другая передача заголовков. То есть до установки и того и другого не должно быть вывода. Если у Вас такой алгоритм работы - есть очень простой способ. Используйте буфферизацию. Например как то так:
<?
ob_start();
include_once("file.php");
$buffer = ob_get_contents();
ob_end_clean();
session_start();
echo $buffer ;
|
| |
|
|
|
|
|
|
|
для: SteAlzzer
(23.12.2008 в 12:47)
| | setcookie() не должны идти до заголовков.
setcookie() , равно как вызовы session_start(), header(), должны идти до вывода в поток первого байта тела отклика. | |
|
|
|