У меня есть несколько страниц JSP, которые я должен преобразовать в страницах PHP. в моем JSP я мог получить зарегистрированного пользователя с этим request.getUserPrincipal().getName()
, Как мне сделать это на моей странице php, чтобы получить зарегистрированного пользователя?
Вы можете иметь таблицу под названием 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, есть множество учебных пособий по сети.
Надеюсь, это поможет вам.
Других решений пока нет …