php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2004

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 04.06.2004, 03:08  
Gast
 
Beiträge: n/a
Standard Login Problem

Hallo,

Da ich leider mein Problem nicht im forum gefunden habe frage ich nun einfach mal. Ich habe folgendes Problem mit einem Login der auf SESSIONS passiert. Wenn ich mich einlogge und wieder auslogge und danach auf Zurück im Browser klicke bin ich auf einmal wieder eingeloggt. Muss sagen ist für mich nicht verständlich da ich nichts über die Url weitergebe bzw. die Session beende (hoffe ich jedenfalls :wink: )

Hier sind meine Dateien, vielleicht könnt ihr mir weiterhelfen wie ich dieses Problem beseitige bzw. vermeiden kann.

Muss auch noch schnell sagen das es auch vorkommt wenn man mehrmals auf zurück (Browser) geklickt hat und danach wieder vor dann passiert es manachmal das eine SESSION Variable was zb. einen Usernamen beinhaltet einfach auf einen Boolischen Wert (true) gesetzt wird???

index.php
Code:
<?
$username = "Suppenfritz";
$passwort = "test";
if(isset($user) && isset($pass) && $user == $username && $pass == $passwort){
	session_start();
	$_SESSION['user_name'] = $user;
	echo "SESSION initialisiert!";
} elseif($action =="logout"){
	session_start();
	$_SESSION = array();
	session_destroy();
	echo "SESSION gelöscht!\n\nSie sind jetzt ausgeloggt!";
}
?>
<html>
<head>
<title>Login - Test</title>
</head>
<body bgcolor=lightblue>

<div align=center><h1><u>Login - Test</u></h1>
<?

//Inhalt von Tabelle erzeugen
echo "<table border><tr><td>\n";
// SESSION initialisieren
//session_start();
if(isset($_SESSION['user_name']) && $_SESSION['user_name'] == $user){
	include('menu.php');
} else {
	include('login.php');
}
?>


<?	
echo "</td><td>\n";
include('main.php');
?>
</td></tr></table>
</div>
</body>
</html>
login.php
Code:
<form name=frm1 action="index.php" method=post>
	Benutzername:

	<input name=user>

	Passwort:

	<input type=password name=pass>


	<input type=reset value=Del>&&<input type=submit value=Login>
</form>
menu.php
Code:
<script language=javascript>
function show_ebene(id)
{
	menu = "ebene" + id;
	if(document.getElementById(menu).style.display == "none"){
		document.getElementById(menu).style.display = "";
	} else {
		document.getElementById(menu).style.display = "none";
	}		
}
</script>
<table border><tr><td>
<ul>[*]Erster Eintrag
<li style="cursor:hand; color:blue" onclick="show_ebene(1)">Zweiter Eintrag
<ul id=ebene1 style="display:none">
	[*]Eintrag 1
	<li style="cursor:hand; color:blue" onclick="show_ebene(1);show_ebene('1_1')">Eintrag 2
	<ul id=ebene1_1 style="display:none">
		[*]Ein 1
		[*]Logout
	[/list][/list][*]Dritter Eintrag[*]Vierter Eintrag[/list]</td></tr></table>
main.php
Code:

<u>SESSION´s Daten</u>



<table border>
<?
echo "<tr><td>Session Name:</td><td>".session_name()."</td></tr>\n";
echo "<tr><td>Session ID:</td><td>".session_id()."</td></tr>\n";
echo "<tr><td>Session User:</td><td>".$_SESSION['user_name']."</td></tr>\n";
echo "<tr><td>Session Var´s:</td><td>";
var_dump($_SESSION);
echo "</td></tr>\n";
echo "<tr><td>Post Var´s:</td><td>";
var_dump($_POST);
echo "</td></tr>\n";
echo "<tr><td>Benutzername:</td><td>".$user."</td></tr>\n";
echo "<tr><td>Kennwort:</td><td>".$pass."</td></tr>\n";
?>
</table>
Hoffe das ich hiermit nicht schon oft vorhandenes im Forum anspreche, aber leider habe ich einfach nichts derartiges gefunden.

mfG Suppenfritz
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 04.06.2004, 03:45  
Gast
 
Beiträge: n/a
Standard Re: Login Problem

Zitat:
Zitat von Suppenfritz
Ich habe folgendes Problem mit einem Login der auf SESSIONS passiert. Wenn ich mich einlogge und wieder auslogge und danach auf Zurück im Browser klicke bin ich auf einmal wieder eingeloggt. Muss sagen ist für mich nicht verständlich da ich nichts über die Url weitergebe bzw. die Session beende (hoffe ich jedenfalls :wink: )
Das reicht nicht:
Zitat:
session_start();
$_SESSION = array();
session_destroy();
... weil session_destroy() das Sessionfile nicht sofort löscht.
session_write_close() schreibt $_SESSION (ist ja korrekt geleert) ins Sessionfile und dann mit header ('Location: ...'); exit; das Script beenden und neu starten. Dann schickt der Client zwar brav den Keks, aber das dazugehörige Sessionfile enthält keine Daten mehr.

Guck Dir das Beispiel an:
http://test.php-help.info/auth-1/

Achte auf das Logout
 
Alt 04.06.2004, 07:38  
Gast
 
Beiträge: n/a
Standard

ich benutze bei logouts erst
session_unset()
und dann auch noch
session_destroy()
das klappt immer wunderbar
 
Alt 04.06.2004, 11:05  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von burner.nst
...das klappt immer wunderbar
Beim OP offenbar nicht.

An dem Beispiel-Script hatte ich etwas rumbasteln müssen, weil PHP das Session File nicht sofort löscht. session_write_close() garantiert zumindest, daß in dem Falle ein leeres $_SESSION ins File geschrieben wird.
 
Alt 04.06.2004, 18:46  
Gast
 
Beiträge: n/a
Standard Versuch

Hallo,

Dank euch für eure Tipps, werde das ganze mal umsetzen/versuchen, schaun ma mal ob ich das hinkriege :wink:
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Problem mit meinem Login System DJ Nuno PHP Tipps 2008 9 16.10.2007 16:44
Etwas komplexerer Login --> Keine Angst, Suche benutzt dethlef14 PHP Tipps 2006 7 02.10.2006 00:35
Login Problem Nevermind PHP Tipps 2006 10 26.04.2006 08:59
Login script Problem Marian Datenbanken 8 30.03.2006 20:16
PHP / MySQL | Login Script Problem PHP Tipps 2006 15 17.02.2006 12:26
login problem mit if abfragen schmiddy PHP Tipps 2007 2 13.12.2005 15:05
login mit session id PHP Tipps 2005 10 26.01.2005 12:32
problem mit login auf neuem server PHP Tipps 2005 9 15.01.2005 00:45
login problem PHP Tipps 2005 19 01.01.2005 21:52
Session Problem beim Login PHP Tipps 2004-2 6 15.12.2004 09:37
[Erledigt] problem mit login skript | mysql | cookie PHP Tipps 2004-2 13 07.12.2004 19:01
problem nach login aircrash PHP Tipps 2004-2 5 22.11.2004 18:55
PHP mysql problem beim login. c01001 PHP Tipps 2004 8 05.08.2004 15:57
login problem PHP Tipps 2004 8 30.07.2004 20:41
[Erledigt] Problem mit Login PHP Tipps 2004 6 07.07.2004 15:17

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
js onclick=\unset session, was bedeutet der eintrag ul im reisepass, kenwort.tr, onclick unset session, suppenfritz, session_write_close session_destroy, login script beispiel display farbe, onclick session destroy, reicht session_destroy()

Alle Zeitangaben in WEZ +1. Es ist jetzt 02:33 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.