Подскажите по сессиям

barabula

Гуру форума
Регистрация
21 Май 2009
Сообщения
474
Реакции
80
Вообщем есть простой скрипт с авторизацией, в нём используются куки и сессии. Сайт построен так, что если юзер заходит на index.php, то его перенаправляет на регистрацию, если нету сессии и куков, а если есть, то он должен перенаправить на последнюю страницу которую посещал юзер.
Итак, вопрос: Как сделать так, что-б при входе на index.php скрипт перенаправит юзера именно на последнюю страницу которую он посетил( в том случае, если есть куки и(или) сессия.
 
1) session_set_cookie_params - выставить большой TTL для cookies
2) хранить в сессии последнюю страницу, вроде $_SESSION['last_page'] = $_SERVER['REQUEST_URI']
3) смотреть, если пользователь авторизован, сделать проверку по ключу аля first-hit и сделать редирект на $_SESSION['last_page']
4) ...
5) PROFIT
 
Писать пользователю в те же куки адрес последней страницы... или в базе данных в профиле пользователя регистрировать его переходы по страницам...
 
Писать пользователю в те же куки адрес последней страницы... или в базе данных в профиле пользователя регистрировать его переходы по страницам...
Как вписать в куки адрес последней страницы?
Касательно БД, тос крпит очень простой для того чтобы подключать БД, да и если это делать, то большая нагрузка на БД будет.

Добавлено через 2 минуты
1) session_set_cookie_params - выставить большой TTL для cookies
2) хранить в сессии последнюю страницу, вроде $_SESSION['last_page'] = $_SERVER['REQUEST_URI']
3) смотреть, если пользователь авторизован, сделать проверку по ключу аля first-hit и сделать редирект на $_SESSION['last_page']
4) ...
5) PROFIT
Раскажи о первом методе подробней, я не понял, как TTL используется для возобновления на последную страницу.
4-ый способ понравился, но реализовать врядли смогу ))))
3-ий способ нужно реализовывать через 2-ой.
Про 5-ый способ вообще нчиего не понял.
Сейчас попробую сделать что-то на подобе 2-ого способа.

Добавлено через 49 минут
Получилось всё 2-ым способом.
В итоге в индексе вот такой код вывел:
PHP:
$username = $_SESSION['username'];
$last = $_SESSION['last_page'];

if($username)
	{
		header("Location:$last");
	}
А в отслаьных файлах, что-бы запоминалась сесия написал вот что:
PHP:
$_SESSION['last_page'] = $_SERVER['REQUEST_URI'];
В общем то, что предлагалось во 2-ом варианте.
 
Как вписать в куки адрес последней страницы?
пункт 2 в сообщении Miraage (собственно ты уже и реализовал)
Но записывать адрес последней посещённой пользователем страницы в базу данных предпочтительнее в плане безопасности... Куки без особых проблем можно исправить, а если перенаправить пользователя туда, куда он сам напишет, то можно и без сайта остаться!
З.Ы.в сообщении Miraage это не 5 вариантов, а 1 просто разбит на подпункты
 
использовать HttpOnly в cookies и session_regenerate_id => безопасные куки.

ТС, если возникают проблемы с реализацией - стукни в личку >> помогу :)

п.с. насчет 4 и 5 пунктов - :)
 
Назад
Сверху