Ich habe eine sehr einfache PHP-Single-Seite, die den Benutzer erfordert, einen bestimmten Benutzernamen und Pass eingeben, um auf den Inhalt zugreifen. Es generiert ein Cookie, mit dem der Benutzer für einen Tag auf diese Seite zugreifen kann. Wenn der Benutzer angemeldet ist, wird die Inhaltsliste angezeigt. Ist dies nicht der Fall, wird das Formular angezeigt.PHP: Das Setzen der Sitzungsinformationen in einem Cookie wird nicht beibehalten, nachdem die Seite neu geladen wurde?
Es ist alles innerhalb einer einzigen index.php Seite.
Diese einzelne "geschützte" Seite enthält ein Formular, wo der Benutzer einige Informationen eingeben und speichern kann. Nachdem sich der Benutzer angemeldet hat, wird der gesamte Inhalt wie beabsichtigt angezeigt. Aber wenn der Benutzer versucht, dieses Formular zu senden und die Seite neu zu laden (der neue Inhalt sollte zu dieser Seite hinzugefügt werden), wird es rausgeschmissen und die im Formular enthaltenen Informationen gehen verloren, und es wird nicht gespeichert.
Dies sind die spezifischen Teile der Seite index.php:
<?php session_start(); ?>
<!DOCTYPE html>
[...]
<?php
if(isset($_POST['loguearse'])) {
$_SESSION['user']=strip_tags($_POST['user']);
$_SESSION['pass']=strip_tags($_POST['pass']);
if($_SESSION['user'] == 'myuser' && $_SESSION['pass'] == 'mypass') {
if (isset($_SESSION['user'])) {
session_start();
setcookie ("usuario",$_POST['user'], time()+24*60*60);
setcookie ("clave",$_POST['pass'], time()+24*60*60);
}
[hier geht es der Inhalt, OK funktioniert, wenn ich die Login-Kontrollstreifen]
}
} else {
setcookie("usuario","");
setcookie("clave","");
echo '
<form method="post">
<div class="form-group">
<input type="text" class="form-control" name="user" id="user" placeholder="Usuario">
</div>
<div class="form-group">
<input type="password" class="form-control" name="pass" id="pass" placeholder="clave">
</div>
</div>
<div class="modal-footer">
<input type="submit" name="loguearse" class="btn btn-primary">
</div>
</div>
</form>
';
echo 'No puedes entrar sin poner la clave correcta!';
}
?>
Meine Frage ist: Wie behalte ich diesen Benutzer angemeldet und mit einer aktiven Sitzung für 24 Stunden?