jsp — получить основной пользователь в переполнении стека

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

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 колонка для входа в систему соответствующего пользователя. Таким образом, вы не сохраняете конфиденциальную информацию в куки.

                                       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's area, " . $_SESSION['username'] . "!";
} else {
echo "Please log in first to see this page.";
}

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

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

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]