Если isset $ _SESSION перейти на эту страницу? - PullRequest
2 голосов
/ 26 января 2011

Хорошо, возникли проблемы здесь:

Я создал скрипт входа в систему, поэтому после входа в систему человек будет перенаправлен на другую страницу. Кроме того, я могу перенаправить их на страницу входа, если они попытаются получить доступ к одной из этих других страниц.

Моя проблема в том, что если пользователь вошел в систему и снова зашел на страницу входа - случайно - я хотел бы, чтобы он узнал, что пользователь вошел в систему, и перенаправил его на следующую страницу (которая является index2 .php) ?? Возникли проблемы: - (

Вот мой код:

require_once "inc/functions.class.php";
$quickprotect = new functions('inc/ini.php');

if (isset($_SESSION['goAfterLogin'])){
    $goto = $_SESSION['goAfterLogin'];
    unset($_SESSION['goAfterLogin']);
}
else $goto = $quickprotect->settings['DEFAULT_LOGIN_SUCCESS_PAGE'];

if (isset($_POST[username])) {
    if($quickprotect->login($_POST[username], $_POST[password])) header ("Location: $goto");
}

Вот как я могу сохранить сеанс пользователя на странице функций

 public function is_logged_in() {
        //Determines if a user is logged in or not. Returns true or false;
            if ($_SESSION['logged_in'] === md5($this->settings[ADMIN_PW])) {
                return true;
            }
            else return false;
        }

1 Ответ

10 голосов
/ 26 января 2011

Вы не упоминаете, как храните своих пользователей в своем сеансе, но что-то вроде этого должно сделать это для вас:

if(isset($_SESSION['user']))
{
    header("Location: index2.php");
    exit;
}

Это проверит, есть ли у вас пользователь в вашем сеансе, и еслиИтак, перенаправьте на index2.php.

Вам нужно изменить 'user' в соответствии с вашим ключом сеанса.

...