Hallo liebe PHP-Gemeinde,
ich bin ein Php-Beginner und habe mir testweise ein Skript geschrieben, dass den Benutzernamen und ein Passwort einliest, dieses mit Einträgen aus einer SQL-Datenbank vergleicht und dementsprechen eine Session für den erfolgreich eingeloggten User startet.
Nun habe ich aber festgestellt, dass man sich nach dem Ausloggen durch Betätigung der "Zurücktaste" des Browsers wieder "einloggen" kann bzw. man ist dann wieder in der Session drin.
Hier das dazugehörige Skript (unsaubere Version):
index.php
die login.php:
logout.php
Hätte da einer von Euch eine kreative Lösung?
Viele Grüsse
phpo
ich bin ein Php-Beginner und habe mir testweise ein Skript geschrieben, dass den Benutzernamen und ein Passwort einliest, dieses mit Einträgen aus einer SQL-Datenbank vergleicht und dementsprechen eine Session für den erfolgreich eingeloggten User startet.
Nun habe ich aber festgestellt, dass man sich nach dem Ausloggen durch Betätigung der "Zurücktaste" des Browsers wieder "einloggen" kann bzw. man ist dann wieder in der Session drin.
Hier das dazugehörige Skript (unsaubere Version):
index.php
Code:
<html> <title>Sessions + Database (Userlogin) </title> <body> <h1>Sessions + Database (Userlogin)</h1> <form method="post" action="login.php"> username : <input type="text" name="username" size="20" maxlength="20"><br> password : <input type="text" name="passwd" size="20" maxlength="20"> <input type="submit" value="login"> </form> </body> </html>
Code:
<?php session_start(); /* Zuerst mit Datenbank verbinden */ $host="localhost"; $port="5432"; $user="sqlusr"; $password=""; $dbname="userlogin"; $connection = pg_connect("dbname=$dbname user=$user host=$host port=$port"); /* Login-Informationen abrufen */ $username=$_POST['username']; $passwd=$_POST['passwd']; $res=pg_query("select * from profiles where login='$username' and passwd='$passwd'"); $rows = pg_num_rows($res); if($rows==1){ echo"Login erfolgreich! "; if(!isset($_SESSION['zaehler'])) $_SESSION['zaehler']=0; else $_SESSION['zaehler']++; $z=$_SESSION['zaehler']; echo "$z<br>\n"; echo "<a href=\"logout?exit=1\">logout</a>"; } else { echo "Login fehlgeschlagen."; } php?>
Code:
<?php session_start(); if($_GET['exit']==1) unset($_SESSION['zaehler']); php?> <html> <title>PHP & Sessions</title> <body> <h1>PHP & Sessions</h1> <h1>Logout erfolgreich ... </h1> <a href="index.php">wieder einloggen</a> </body> </html>
Viele Grüsse
phpo
Kommentar