Я хочу, чтобы вывести пользователя из системы, когда они нажимают на ссылку выхода, и это работает, но есть проблема. Когда я нажимаю ссылку на выход, пользователь выходит из системы и переходит на страницу заголовка, но если я нажму кнопку «Назад», я вернусь назад на предыдущую страницу, не войдя снова, и это небезопасно. Когда пользователь выходит из системы, я хочу, чтобы они были полностью отключены, и единственный способ вернуться - это войти. Может кто-нибудь помочь?PHP Выйти из системы полностью
<?php
include("connect.php");
//check if form is submitted
if ($_SERVER['REQUEST_METHOD'] != 'POST' ||
! isset($_POST['signin']))
{
// looks like a hack, send to index.php
header('Location: index.php');
exit;
}
if (empty($_POST["usernam"])) {
echo 'fill in username to sign in';
}
if (empty($_POST["pw"])) {
echo 'fill in password to sign in';
}
$sql = "SELECT pw FROM users WHERE usernam = ?";
$stmt = mysqli_prepare($conn, $sql);
if (!$stmt) {
echo mysqli_error($conn);
exit;
}
$stmt->bind_param('s', $_POST['pw']);
$stmt->execute();
if (!$stmt) {
echo mysqli_error($conn);
exit;
}
// we found a row with that username,
// now we need to check the password is correct
// get the password from the row
$stmt->bind_result($hashed_pwd);
$stmt->fetch();
if (password_verify($_POST['pw'], $hashed_pwd)) {
// password verified
header('Location: home.php');
} else {
echo 'Incorrect username or Password. <a href= index.php>Try again</a><br />';
}
?>
logout.php
session_start();
session_destroy();
header('location:index.php');
process2.php (Логин):
include("connect.php");
//check if form is submitted
if ($_SERVER['REQUEST_METHOD'] != 'POST' ||
! isset($_POST['signin']))
{
// looks like a hack, send to index.php
header('Location: index.php');
exit;
}
if (empty($_POST["usernam"])) {
echo 'fill in username to sign in';
}
if (empty($_POST["pw"])) {
echo 'fill in password to sign in';
}
$sql = "SELECT pw FROM users WHERE usernam = ?";
$stmt = mysqli_prepare($conn, $sql);
if (!$stmt) {
echo mysqli_error($conn);
exit;
}
$stmt->bind_param('s', $_POST['pw']);
$stmt->execute();
if (!$stmt) {
echo mysqli_error($conn);
exit;
}
// we found a row with that username,
// now we need to check the password is correct
// get the password from the row
$stmt->bind_result($hashed_pwd);
$stmt->fetch();
if (password_verify($_POST['pw'], $hashed_pwd)) {
// password verified
header('Location: home.php');
} else {
echo 'Incorrect username or Password. <a href= index.php>Try again</a><br />';
}
Ну, как вы это делаете ДЕЙСТВИТЕЛЬНО зависит от того, как вы отслеживаете зарегистрированных пользователей. Показать код из вашего сценария входа, и это должно дать нам несколько подсказок. – RiggsFolly
Используете ли вы сеанс? – Fabio
Я обновлю свой вопрос – mkd