php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 13.02.2005, 14:43  
Erfahrener Benutzer
 
Registriert seit: 09.12.2004
Beiträge: 250
nixdorf
Standard Session - logout

Hallo, ich habe mit ein script für das loggin und die Sessionverwaltung erstellt. Klappt auch alles schon prima, ich kann benutzer einoggen wenn Sie mit Ihren Passwörtern in der Datenbank stehen. Ansonsten werden sie nicht angemeldet. Wenn ein Benutzer angemeldet ist wird $SESSION['kundenid'] in den gesicherten Seiten abgefragt, um den nichtautorisierten Zugriff zu vermeiden. Das Problem ist das Logout, wenn ich ausloggen will bleib immer die $SESSION['kundenid'] erhalten, und somit klappt der logout nicht.

Hier der CODE zum Logout:
(logout.php)

<?php
@session_start();
session_start ();
session_unset ();
session_destroy();
header("Location: index.php?section=home");
ob_end_flush ();
?>


aufgerufen wird logout.php mit:

echo "<a href=logout.php>logout</a>";

Gruß Nixdorf
nixdorf ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 13.02.2005, 14:45  
Gast
 
Beiträge: n/a
Standard

Beispiel 2 http://de3.php.net/manual/de/functio...on-destroy.php

Gruß
phpfan
 
Alt 13.02.2005, 15:35  
Erfahrener Benutzer
 
Registriert seit: 09.12.2004
Beiträge: 250
nixdorf
Standard

Hallo,

in dem Link (Beispiel 2 http://de3.php.net/manual/de/functio...on-destroy.php )
steht:

// Wenn Sie session_name("irgendwas") verwenden, vergessen Sie es
// jetzt nicht!

Das mache ich, doch was soll ich nicht vergessen? Bzw. was muß mit session_name gemacht werden? session_name habe ich im header gesetzt.

Gruß Nixdorf
nixdorf ist offline  
Alt 13.02.2005, 15:41  
Gast
 
Beiträge: n/a
Standard

session_name ("");

Gruß
phpfan
 
Alt 13.02.2005, 15:53  
Erfahrener Benutzer
 
Registriert seit: 09.12.2004
Beiträge: 250
nixdorf
Standard

Habe ich alles probiert, die Session wird aber leider immer noch nicht beändet.

nochmal der Code:

logout.php:

<?php
@session_start();
session_name ("meine_sess");
session_start ();
session_unset ();
session_destroy();
ob_end_flush ();
echo "logout";
?>


im header habe ich:

session_name("meine_sess");
session_start();


dann habe ich die Datei admin.php:

<?php
session_name("sess");
include "dbconnect.php";
$sql="select benutzername, pwort, kundenid from kunden where benutzername='".$_POST['benutzername']."' and pwort='".$_POST['passwort']."'";
$result=mysql_query($sql);

if (mysql_num_rows ($result) > 0)
{
$row = mysql_fetch_array($result, MYSQL_ASSOC);
$_SESSION['bname']=$_POST['benutzername'];
$_SESSION['passwort']=$_POST['passwort'];
$_SESSION['kundenid']=$row['kundenid'];
echo "

Benutzername: ".$_SESSION['benutzername']."</p>";
echo "

Passwort: </p>".$_SESSION['passwort'];
echo $_SESSION['kundenid']; <<<diese Ausgabe wird
echo "<a href=index.php?section=logout>logout</a>"; nicht gelöscht,
} wenn logout.php
else ausgeführt wird.
{
echo "Fehler: falscher Benutzername oder falsches Passwort!

<a href=index.php?section=home&".session_name()."=".s ession_id().">zur&uuml;ck</a>";
}
?>


und die abfrage in den geschützten Seiten lauted:

echo $_SESSION['kundenid'];
if (!isset ($_SESSION['kundenid']))
{
header ("Location: index.php?section=kundenlogin");
}

Gruß NIxdorf
nixdorf ist offline  
Alt 13.02.2005, 16:30  
Benutzer
 
Registriert seit: 09.11.2003
Beiträge: 91
tonne zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

ich verstehe zwar net so ganz den fehler....
aber ich habe bei mir bei einem logout-script einfach folgendes benutzt:

session_destroy();
session_unset();

ausserdem muss session_start() ganz am anfang des scriptes kommen, sonst kann es sein, dassa aufmuckt... glaub ich.....
__________________
Was soll ich denn nun in meine sig einfügen????
tonne ist offline  
Alt 13.02.2005, 17:59  
Erfahrener Benutzer
 
Registriert seit: 09.12.2004
Beiträge: 250
nixdorf
Standard

Hallo,

session_start habe ich direct im header der in jeder Seite aufgerufen wird.

Der Fehler liegt darin, dass die Variable $_SESSION['kundenid']; nicht gelöscht wird wenn ich das logout.php - Script ausführe.

Ich kann da session_destroy();
session_unset();

ausführen lassen, aber dies löscht mir nicht Session-variablen.

Gruß Nixdorf
nixdorf ist offline  
Alt 13.02.2005, 18:16  
Gast
 
Beiträge: n/a
Standard

PHP-Code:
  $_SESSION = array();

  
setcookie(session_name(), ''time()-ini_get('session.cookie_lifetime'),
            
ini_get('session.cookie_path'), ini_get('session.cookie_domain'));

  
session_destroy(); 
Gruß
phpfan
 
Alt 13.02.2005, 18:41  
Erfahrener Benutzer
 
Registriert seit: 09.12.2004
Beiträge: 250
nixdorf
Standard

habe ich auch schon probiert, ich werd`s noch mal versuchen...

Gruß Nixdorf
nixdorf ist offline  
Alt 13.02.2005, 18:54  
Erfahrener Benutzer
 
Registriert seit: 09.12.2004
Beiträge: 250
nixdorf
Standard

Im header lasse ich mit:

$sessionid = session_id();
echo "Aktuelle Session-ID: $sessionid";

immer die aktielle sessionid ausgeben, wenn ich aber auf logout.php ausführe wird diese nicht geändert. Das müste doch der Fall sein, oder was durchschaue ich da noch nicht.

mit der Zeile:

setcookie(session_name(), '', time()-ini_get('session.cookie_lifetime'),
ini_get('session.cookie_path'), ini_get('session.cookie_domain'));

Wird die Sessionid gelöscht, sie wirf aber eine Reihe andere Probleme auf, außerdem würde ich gerne auf cookies verzichten, wenn das geht.

Gruß NIxdorf
nixdorf ist offline  
 


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
[Erledigt] Session Problem karina_02 PHP Tipps 2008 6 18.05.2008 22:37
Session Variablen als Referenz!? O_o Sam781 PHP-Fortgeschrittene 4 01.10.2007 11:19
Problem bei session Lifetime Cyberbob_at_tot PHP Tipps 2007 5 05.06.2007 17:47
session nach seitenwechsel leer... GELight PHP Tipps 2006 8 17.09.2006 15:17
Session logout bei Frames Diet PHP Tipps 2006 31 28.07.2006 18:30
Session Logout Login Navigation TailerD PHP Tipps 2006 10 24.06.2006 17:12
Frage zur Anwendung einer Session mehrfach... GELight PHP Tipps 2006 10 12.03.2006 16:47
[Erledigt] php session problem :( PHP Tipps 2005-2 5 21.10.2005 16:37
Bei Session - verfall socke PHP Tipps 2005-2 12 01.09.2005 02:30
Session wird nicht angelegt PHP Tipps 2005-2 7 24.07.2005 13:35
Kreieren einer Session PHP Tipps 2005 11 28.05.2005 15:16
Session error nach Umstellung auf PHP 5 PHP Tipps 2005 15 13.05.2005 14:35
[Erledigt] Formulardaten in einer Session speichern, per Link übergeben PHP Tipps 2004-2 2 29.12.2004 15:47
[Erledigt] Hilfe...PhpBB Session Problem!! PHP Tipps 2004-2 2 15.12.2004 18:28
Session automatisches Logout? PHP Tipps 2004 1 03.07.2004 23:26

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
session logout, php session logout, logout session, session logout php, php logout session, php logout script, logout mit session, logout php session, logout session php, http://www.php.de/php-tipps-2005/17810-session-logout.html, php logout vergessen, php session_start logout, session log out, session logut, logout php beispiel, logout vergessen php, session_start( logout, logout vergessen, phpbb session logout, logout php

Alle Zeitangaben in WEZ +2. Es ist jetzt 06:14 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.