Hi !!
Was passiert, wenn du folgendes ausprobierst?
GrussPHP-Code:unset($_SESSION); // oder $HTTP_SESSION_VARS
session_destroy();
Jan
Hallo zusammen!
habe mal wie immer ein seltsames Problem
Für einen kleinen Shop starte ich folgendermaßen eine Session :
Soweit so gut , oder ?PHP-Code:
session_start();
if(!isset($partnerid))
{$partnerid=0001;}
// Registrieren der Partner ID
$HTTP_SESSION_VARS['s_partnerid']=$partnerid;
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 :
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.PHP-Code:session_start();
session_unset($sid);
session_destroy();
setcookie("PHPSESSID","",time()-3600,"", ".domain.com", "");
header("location:index.php");
Ist das nachvollziehbar ?? Wie kann ich das Ding lösen ???
THANX A LOT
Hi !!
Was passiert, wenn du folgendes ausprobierst?
GrussPHP-Code:unset($_SESSION); // oder $HTTP_SESSION_VARS
session_destroy();
Jan
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.
Ich nutze immer diese Methode, um eine Session + alle Daten zu löschen:
Das funktioniert immer und auf allen Systemen (Linux, Windoof etc.).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;
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
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 ?
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
HI,
jo jetzt tut daß
Mille Grazie![]()
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)