Ich versuche, eine einfache Benutzer/Login-Schnittstelle auf meiner Website zu implementieren.Probleme haben, PHP-Sitzung zu "erinnern" Postdaten auf Aktualisierung
Ich kann gut mit einem Standard-HTML-Formular "anmelden" Eingabe für eine Datenbank überprüfen, aber die Benutzername/Passwort-Eingabe ist verloren, wenn ich die Seite nach einer erfolgreichen Anmeldung aktualisieren.
Ich habe einige Nachforschungen angestellt und festgestellt, dass Session-Variablen eine Möglichkeit sind, dies zu umgehen. Also habe ich einen "session_start();" Zeile oben auf jeder relevanten Seite (login.php, index.php). Trotzdem kann ich keine Seite aktualisieren und "eingeloggt" bleiben.
Hier ist der Code:
login.php -
<?php
session_start();
include "db_connect.php";
?>
<html>
<body>
<h3>Login form:</h3>
<form action='index.php' method='POST'>
User:
<input type="text" name="user">
Pass:
<input type="password" name="pass">
<br><br>
<input type="submit" value="Login">
</form>
</body>
</html>
index.php -
<?php
session_start();
$_SESSION['user'] = $_POST['user'];
$_SESSION["pass"] = $_POST['pass'];
$session_user = $_SESSION['user'];
$session_pass = $_SESSION['pass'];
?>
<html>
<head>
</head>
<body>
</body>
</html>
<?php
include "../db_connect.php";
$sql = "SELECT * FROM user WHERE (user = '$session_user' && password = '$session_pass')";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
include "index_detail.php";
}
} else {
echo "There was an error logging in.";
}
?>
in meinem Code-Logs und zeigt, was ich gerade einmal wollen, aber alle Form-Post Daten (Benutzer/Pass) gehen bei der Aktualisierung verloren. Was mache ich falsch? Ich möchte dieses "eingeloggte" Gefühl wirklich erfassen.
Danke.
Sie versuchen, Sitzungsvariablen per Post festzulegen. Wenn Sie also Ihre Seite aktualisieren, werden die Post-Variablen nicht angezeigt. Also initialisiert es mit leer. Deshalb bleibst du nicht eingeloggt. –
Ah, das sehe ich jetzt. Was kann ich tun, um den Benutzernamen/das Passwort zu erhalten? –
Es gibt mehrere Beispiele für "Remember me" im Internet. Prüfen Sie. In Ihrem Code müssen Sie die Sitzung auf der Anmeldeseite überprüfen. Wenn es Wert hat, laden Sie es einfach in das Eingabe-Tag. –