Skriptsprachen (PHP, Javascript, etc.) - Forum

Derzeit sind Sie als Gast in unserem Forum aktiv. Für das Schreiben registrieren Sie sich bitte. Unser Forum ist eine Austauschplattform für Webworker zum Kommunizieren, Helfen, Informieren und Hilfe finden. Auf der rechten Seiten finden Sie eine Forenübersicht über alle Bereiche des Webmaster-Forums. Unterhalb finden Sie alle aktuellen Themen.

Diskutieren Sie hier über die serverseitige Skriptsprachen PHP und Python und über dynamische Webseitenerstellung mit Javascript und Ajax.


Frances !
Beiträge: 299

PN schreiben
Profil ansehen
User ist offline

Session will nicht gelöscht werden

Link zur Antwort auf "Session will nicht gelöscht werden" von Frances ! Frances !, am Saturday den 19.04.2008 um 11:19:07

Guten Morgen,

langsam bin ich echt am Verzweifeln.

Ich speichere den Wert 1 in $_SESSION['loggedin'];. Jetzt frage ich auf jeder Seite den Wert ab, wenn nicht 1, dann raus.

Jetzt lösche ich mittels session_destroy(); die Session. Geht aber nicht. Wenn ich im Browser zurück gehe, kann ich immer noch navigieren und $_SESSION['loggedin'] ist immer noch 1. Habe auch $_SESSION = array(); versucht, funktioniert aber nicht. Schließe ich den Browser und rufe eine interne Seite auf, werde ich wie gewollt auch auf die Login-Seite weitergeleitet. Aber so soll es auch sein, wenn ich nur auf Logout klicke und anschließend mit dem Back-Button des Browsers zurückgehe und wieder in der Navigation rumklicke.

Bitte möglichst schnell um Hilfe.

DANKE!!!

/edit: Benutze PHP 4.4.4

Insgesamt 1 mal bearbeitet, zuletzt am 19.04.2008 um 11:39:57

Benutzer gelöscht
Beiträge: 140

PN schreiben
Profil ansehen
User ist offline
Link zur Antwort auf "Session will nicht gelöscht werden" von Benutzer gelöscht Benutzer gelöscht, am Saturday den 19.04.2008 um 11:21:42

probier doch einfach mal session_unset(); hinter das session_destroy(); zusetzten.das sollte die Session Variablen löschen.


Benutzer gelöscht
Beiträge: 140

PN schreiben
Profil ansehen
User ist offline
Link zur Antwort auf "Session will nicht gelöscht werden" von Benutzer gelöscht Benutzer gelöscht, am Saturday den 19.04.2008 um 11:29:24

Wie fragst du denn den Wert von $_SESSION['loggedin'] ab?

Probiers doch mal explizit mit

 
HTML
1
2
3
<?php
unset($_SESSION['loggedin']);
?>

Edit: War hier nicht grad noch ein Antwort-Post? Oder seh ich jetzt Gespenster.


Frances !
Beiträge: 299

PN schreiben
Profil ansehen
User ist offline
Link zur Antwort auf "Session will nicht gelöscht werden" von Frances ! Frances !, am Saturday den 19.04.2008 um 11:39:07

Also unset($_SESSION['loggedin']); hatte ich auch schon mal versucht, klappt nicht.

Die Abfrage von $_SESSION['loggedin'] hab ich schon in mehreren Varianten abgefragt, aber immer das gleiche Ergebnis.

if($_SESSION["loggedin"] != "1")

oder

if(!isset($_SESSION["loggedin"]))


niklas
Beiträge: 153

PN schreiben
Profil ansehen
User ist offline
Link zur Antwort auf "Session will nicht gelöscht werden" von niklas niklas, am Saturday den 19.04.2008 um 11:43:19

Löschen der Session  
PHP
1
2
3
4
5
6
7
$_SESSION = array();

if (isset($_COOKIE[session_name()])) {
    setcookie(session_name(), '', time()-42000, '/');
}

session_destroy();

Frances !
Beiträge: 299

PN schreiben
Profil ansehen
User ist offline
Link zur Antwort auf "Session will nicht gelöscht werden" von Frances ! Frances !, am Saturday den 19.04.2008 um 11:46:48

Hab ich auch probiert, geht nicht :(


Benutzer gelöscht
Beiträge: 140

PN schreiben
Profil ansehen
User ist offline
Link zur Antwort auf "Session will nicht gelöscht werden" von Benutzer gelöscht Benutzer gelöscht, am Saturday den 19.04.2008 um 11:53:17

setzt du im falle eines fehlgeschlagenen logins die session variable auf 0? oder lässt du sie einfach undefiniert?


Frances !
Beiträge: 299

PN schreiben
Profil ansehen
User ist offline
Link zur Antwort auf "Session will nicht gelöscht werden" von Frances ! Frances !, am Saturday den 19.04.2008 um 11:57:59

War bisher undefiniert. Habs mal gemacht, aber selbes Resultat.


C S
Beiträge: 199

PN schreiben
Profil ansehen
User ist offline
Link zur Antwort auf "Session will nicht gelöscht werden" von C S C S, am Saturday den 19.04.2008 um 12:08:13

Hast du schon versucht die Variable beim Logout explizit auf 0 zurückzusetzen?

Insgesamt 1 mal bearbeitet, zuletzt am 19.04.2008 um 12:18:54

Frances !
Beiträge: 299

PN schreiben
Profil ansehen
User ist offline
Link zur Antwort auf "Session will nicht gelöscht werden" von Frances ! Frances !, am Saturday den 19.04.2008 um 12:10:32

Jepp, auch schon versucht. $_SESSION['loggedin'] bleibt 1.


Benutzer gelöscht
Beiträge: 140

PN schreiben
Profil ansehen
User ist offline
Link zur Antwort auf "Session will nicht gelöscht werden" von Benutzer gelöscht Benutzer gelöscht, am Saturday den 19.04.2008 um 12:23:58

hast du vor dem session_destroy(); noch ein session_start() drin?


C S
Beiträge: 199

PN schreiben
Profil ansehen
User ist offline
Link zur Antwort auf "Session will nicht gelöscht werden" von C S C S, am Saturday den 19.04.2008 um 12:24:49

Aus der PHP-Dokumentation: (Achte auf die Reihenfolge)

InterNic 20-May-2006 12:20

sometimes you might have problems even if using both session_unset and session_destroy. You have to clear the $_SESSION array. I got it working this way:

session_unset(); session_destroy(); $_SESSION = array();


Frances !
Beiträge: 299

PN schreiben
Profil ansehen
User ist offline
Link zur Antwort auf "Session will nicht gelöscht werden" von Frances ! Frances !, am Saturday den 19.04.2008 um 12:29:00

Login:

 
HTML
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<?php session_start('kvs');
    
    include("../inc/sql.php");
    
    $res = mysql_query("SELECT * FROM kundendaten WHERE kundennummer='".$_REQUEST["form_kundennummer"]."' AND passwort='".md5 ($_REQUEST["form_passwort"])."'"); 
    $row = mysql_fetch_array($res); 
    
    // User-ID, User, Vorname und Nachname den Variablen zuweisen 
    $sys_id=$row['id'];
    $sys_kundennummer=$row['kundennummer'];
    $sys_vorname=$row['vorname'];
    $sys_nachname=$row['nachname'];
    $sys_anrede=$row['anrede'];
    $sys_email=$row['email'];
    
    if (isset($row['kundennummer'])) // User gefunden 
    { 
        $res = mysql_query("SELECT * FROM kundendaten WHERE kundennummer='".$_REQUEST["form_kundennummer"]."'");
        
        while ($data = mysql_fetch_assoc($res))
        {
            $status = $data['status'];
            
            if ($status == "0")
            {
                header("Location: ../index.php?page=KVS&aktion=2");
            }
            
            else
            {
                $_SESSION['loggedin'] = "1";
                $_SESSION['kundennummer'] = $sys_kundennummer;
                
                header ("Location: register.php");
            }
        }
    } 
    
    else
    { 
        header ("Location: ../index.php?page=KVS&aktion=1");
    }
?>

Header inkludiert:

 
HTML
1
2
3
4
5
6
7
8
<?php  session_start('kvs');

    if($_SESSION["loggedin"] != "1")
    {
        header("Location: http://www.speicherriese.com/?page=KVS");
        exit;
    }
?>

Logout:

 
HTML
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
<?php session_start('kvs'); 


#$_SESSION['loggedin'] = "0";

$_SESSION = array();
unset($_SESSION['loggedin']);

if (isset($_COOKIE[session_name()])) {
    setcookie(session_name(), '', time()-42000, '/');
}

session_destroy();



header("Location: ../index.php?page=KVS&aktion=3");
exit; ?>


Frances !
Beiträge: 299

PN schreiben
Profil ansehen
User ist offline
Link zur Antwort auf "Session will nicht gelöscht werden" von Frances ! Frances !, am Saturday den 19.04.2008 um 12:31:56
Zitat von: Cedric St.

Aus der PHP-Dokumentation: (Achte auf die Reihenfolge)

InterNic 20-May-2006 12:20

sometimes you might have problems even if using both session_unset and session_destroy. You have to clear the $_SESSION array. I got it working this way:

session_unset(); session_destroy(); $_SESSION = array();

Geht leider auch nicht :( *ABSTURZ*


Frances !
Beiträge: 299

PN schreiben
Profil ansehen
User ist offline
Link zur Antwort auf "Session will nicht gelöscht werden" von Frances ! Frances !, am Saturday den 19.04.2008 um 13:28:49

Problem gelöst und der Fehler war echt total blöde.

Es lag an einer Umleitung von einer SSL geschützten Seite auf eine "normale" URL. Fragt mich nicht warum, aber jetzt geht es.

VIELEN VIELEN LIEBEN DANK FÜR EURE HILFE UND ANTWORTEN!!!!!!!!!!!!!!! :)