+ Antworten
Ergebnis 1 bis 7 von 7

Thema: Kann Session nicht beenden

  1. #1
    TP-Senior creative4web macht alles soweit korrekt
    Registriert seit
    Aug 2002
    Beiträge
    135

    Kann Session nicht beenden

    Hallo zusammen!

    habe mal wie immer ein seltsames Problem

    Für einen kleinen Shop starte ich folgendermaßen eine Session :

    PHP-Code:

    session_start
    ();
    if(!isset(
    $partnerid))
    {
    $partnerid=0001;}
    // Registrieren der Partner ID
    $HTTP_SESSION_VARS['s_partnerid']=$partnerid
    Soweit so gut , oder ?

    So, jetzt hatte ich mal folgendes gemacht. Per $sid=session_id() hatte ich die Variable $sid mit der Aktuellen Session belegt. Diese $sid schleife ich dann quer durch den Shop um den Inhalt meines Warenkorbes zuzuordnen.

    So, am Ende , also nach der Bestellung versuche ich folgendermaßen die Session wieder zu löschen :

    PHP-Code:
    session_start();
    session_unset($sid);
    session_destroy();
    setcookie("PHPSESSID","",time()-3600,""".domain.com"""); 
    header("location:index.php"); 
    Mein Problem ist nun: Wenn ich wieder von der index.php auf die shopindex.php klicke , hängt immer noch die gleiche $sid und somit auch der "alte" Warenkorb drin.

    Ist das nachvollziehbar ?? Wie kann ich das Ding lösen ???


    THANX A LOT

  2. #2
    TP-Specialist Stuck Mojo ist ein richtiges Arbeitstier - DANKE Stuck Mojo ist ein richtiges Arbeitstier - DANKE Stuck Mojo ist ein richtiges Arbeitstier - DANKE Stuck Mojo ist ein richtiges Arbeitstier - DANKE Stuck Mojo ist ein richtiges Arbeitstier - DANKE Stuck Mojo ist ein richtiges Arbeitstier - DANKE Avatar von Stuck Mojo
    Registriert seit
    Feb 2001
    Ort
    Helmstedt/Wolfsburg
    Beiträge
    4.108
    Hi !!

    Was passiert, wenn du folgendes ausprobierst?
    PHP-Code:
    unset($_SESSION); // oder $HTTP_SESSION_VARS
    session_destroy(); 
    Gruss
    Jan

  3. #3
    TP-Specialist Flixxtoras macht alles soweit korrekt
    Registriert seit
    May 2001
    Beiträge
    2.497
    Das ist ja klar die Session ist solange aktiv (kann aber auch leer sein !session) wie du dein Browserfenster offen hast. Schau dir doch mal das Session File an da wirst du sehen das nach dem löschen nix mehr drin ist.

  4. #4
    TP-Greis Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Avatar von Boris
    Registriert seit
    Mar 2001
    Ort
    Stuttgart & Kornwestheim
    Beiträge
    9.420
    Ich nutze immer diese Methode, um eine Session + alle Daten zu löschen:

    Code:
    session_start();
    $_SESSION = array(); // Alle reg. Variablen aus Session loeschen
    session_destroy();
    
    // Falls die Session nicht zerstört wurde, dann eben auf die harte Tour ;)
    if (strtolower(session_module_name()) == 'files')
    {
    	$deli = substr(PHP_OS, 0, 3) == 'WIN'
      ?   '\\'
      :   '/';
      @unlink(get_cfg_var('session.save_path').$deli.'sess_'.session_id());
    }
    
    header("Location: http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF'])."/index.php");
    exit;
    Das funktioniert immer und auf allen Systemen (Linux, Windoof etc.).

    Btw: gewöhn Dir mal an, in header()-Angaben eine vollständige (!) URL einzutragen, bzw. eintragen zu lassen (wie in meinem Beispiel). Das ist nämlich nur so 100% HTTP-Konform
    My software never has bugs. It just develops random features ...

    » DevShack - die Website des freien Webentwicklers Boris

  5. #5
    TP-Senior creative4web macht alles soweit korrekt
    Registriert seit
    Aug 2002
    Beiträge
    135
    Hi zusammen

    @ Stuck Mojo,

    hat nix gebracht

    @ Adagio

    Ich krieg da nen Parse Error in folgender Zeile :

    @unlink(get_cfg_var('session.save_path').$deli.'sess_'.session_id());

    Kannst du mir weiterhelfen ?

  6. #6
    TP-Greis Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Avatar von Boris
    Registriert seit
    Mar 2001
    Ort
    Stuttgart & Kornwestheim
    Beiträge
    9.420
    Ja, das Forum hat beim Code ein paar Zeichen "weggelassen", daher geht das nicht.

    Ich versuchs mal so:


    if (strtolower(session_module_name()) == 'files')
    {
    $deli = substr(PHP_OS, 0, 3) == 'WIN'
    ? '\\'
    : '/';
    @unlink(get_cfg_var('session.save_path').$deli.'sess_'.session_id());
    }
    My software never has bugs. It just develops random features ...

    » DevShack - die Website des freien Webentwicklers Boris

  7. #7
    TP-Senior creative4web macht alles soweit korrekt
    Registriert seit
    Aug 2002
    Beiträge
    135
    HI,

    jo jetzt tut daß

    Mille Grazie

+ Antworten

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

     

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 44 45 46 47 48 49 50 51