получить основной пользователь в php

0

У меня есть несколько страниц jsp, которые мне нужно преобразовать на php-страницах. в моем jsp я могу получить зарегистрированного пользователя с помощью этого request.getUserPrincipal().getName(). Как мне это сделать на моей php-странице, чтобы получить зарегистрированного пользователя?

  • 0
    $request->getUserPrincipal()->getName() если вы имеете в виду синтаксис. В противном случае вам нужно предоставить тот же интерфейс
Теги:
jsp

1 ответ

0

У вас может быть таблица с именем logged_users которая структурирована следующим образом:

  id         |         user_id              |        created
------------------------------------------------------------------------
abc          |            1                 |     11-12-2014 12:31:51
xyz          |            2                 |     11-12-2014 08:21:13

id имеет уникальный id, например UUID или случайно сгенерированную строку. user_id - это идентификатор пользователя для запоминания. создается, когда запись была создана (чтобы вы могли выйти из системы после X-времени).

Теперь, если пользователь успешно войдет в систему и хочет, чтобы его запомнили, вы добавляете новую запись с уникальным идентификатором и его user_id в logged_users. Вы также создаете новый файл cookie с помощью setcookie() который будет содержать случайно сгенерированный id вы только что вставили.

Теперь, когда пользователь запрашивает сайт в следующий раз, вы видите, что он хранит сохраненный файл cookie. Вы получите эту запись, проверьте, не истечет ли ее срок действия, и используйте столбец user_id для входа в соответствующий пользователь. Таким образом, вы не храните конфиденциальную информацию в файле cookie.

                                       OR

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

session_start();

Затем, когда пользователь отправляет свое имя пользователя и пароль с помощью формы входа, вы обычно проверяете свое имя пользователя и пароль, запрашивая базу данных, содержащую информацию о имени пользователя и пароле, такую как MySQL. Если база данных возвращает совпадение, вы можете установить переменную сеанса, чтобы она содержала этот факт. Вы также можете указать другую информацию:

if (match_found_in_database()) {
    $_SESSION['loggedin'] = true;
    $_SESSION['username'] = $username; // $username coming from the form, such as $_POST['username']
                                       // something like this is optional, of course
}

Затем на странице, которая зависит от состояния входа в систему, поставьте следующее (не забудьте session_start()):

if (isset($_SESSION['loggedin']) && $_SESSION['loggedin'] == true) {
    echo "Welcome to the member area, " . $_SESSION['username'] . "!";
} else {
    echo "Please log in first to see this page.";
}

Это основные компоненты. Если вам нужна помощь в аспекте SQL, в сети есть учебные пособия.

Надеюсь, это поможет вам.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню