ID сессии и переменные в PHP - PullRequest
3 голосов
/ 14 марта 2011

У меня есть страница входа, на которой после успешного входа пользователя появляется ссылка на его личную страницу.Когда эта страница загружается, я хочу проверить, есть ли у пользователя доступ к ней, чтобы кто-то не пытался просто ввести www.mywebsite.com/bob.php в URL.Я пытался использовать куки для отправки информации о пользователе, но я понял, что вы не можете использовать куки после того, как html был записан на страницу.Кто-нибудь знает эффективный способ сделать это, который также довольно прост?Спасибо

Ответы [ 2 ]

4 голосов
/ 14 марта 2011

После того, как пользователь войдет в систему, присвойте его идентификатор переменной сеанса:

<?php
session_start();
$_SESSION["userid"] = $userid;
?>

На защищенной странице проверьте, имеет ли пользователь переменную $ _SESSION ["userid"]:

<?php
session_start();
if (isset($_SESSION["userid"])) {
   //show page
}else{
  echo "No rights";
}
?>
1 голос
/ 14 марта 2011

Это правда, что вы не можете установить куки, если выходные данные уже отправлены в браузер. Полезным приемом является использование буферизации вывода . По сути, вы начинаете свой код с вызова ob_start() и заканчиваете ob_end_flush(). Теперь вы можете установить файлы cookie (и любой HTML-заголовок) в любом месте кода.

...