Ich möchte einen Benutzer melden, wenn sie auf den Abmelden Link klicken und es funktioniert, aber es gibt ein Problem. Wenn ich auf den Abmeldelink klicke, wird der Benutzer ausgeloggt und geht auf die Kopfseite, aber wenn ich auf die Zurück-Schaltfläche klicke, gehe ich zurück zur vorherigen Seite, ohne mich erneut einzuloggen, und das ist nicht sicher. Wenn der Benutzer sich abmeldet, möchte ich, dass er vollständig ausgeloggt wird. Die einzige Möglichkeit, sich wieder einzuloggen, besteht darin, sich anzumelden. Kann jemand helfen?PHP Benutzer vollständig abmelden
<?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 (Login):
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 />';
}
Nun, wie Sie dies wirklich tun, hängt davon ab, wie Sie die angemeldeten Benutzer verfolgen. Zeigen Sie Code aus Ihrem Login-Skript und das sollte uns ein paar Hinweise geben – RiggsFolly
Verwenden Sie eine Sitzung? – Fabio
Ich werde meine Frage aktualisieren – mkd