IE vs. Firefox - Interpretationssache bez. PHP

MUZekater hat gesagt.:
also bitte sagt mir...warum funkt dass im firefox und im ie nicht? danke, lg

Kannst du doch hier nachlesen:
Gumbo hat gesagt.:
Möglicherweise akzeptiert der Internet Explorer den Cookie nicht, in dem die Sitzungs-ID gespeichert ist.

Sven Mintel hat gesagt.:
Eine Session hat einen bestimmten Namen, in PHP ist er standardmässig PHPSESSID
Wenn du eine Session durch Weitergabe per URL aufrechterhalten willst, dann muss die Variable auch so heissen, es sei denn, du benennst sie eingangs per session_name() um.

$_SESSION['ID'] ist eine Session-Variable, die hat aber nicht gezwungenermassen etwas mit der Session-ID zu tun.

mhm...ich hab mich xtra für die uniqid entschieden, weil ich diese als ID in den Warenkorb schreiben lasse, udn sie später bei der bestellung wieder auslesen kann...

Die wirkliche Session-ID kannst du ebenfalls bequem auslesen per [phpf]session_id[/phpf], du musst das Rad also nicht neu erfinden.
 
danke für deinen beitrag!
ich dachte, wenn cookies akzeptiert werden enthält die Konstante SID nur eine Leerstring?!
dh wenn session_id() auslese, kommt diese imme
 
so wenn ich das jetzt richtig verstanden habe dann müsste es so in beiden Browsern funktionieren oder?
PHP:
session_start();
if(!isset($_SESSION['ID'])) {
$_SESSION['ID'] = session_id();
}

das hab ich gerade gemacht, ändert aber nichts daran...:-) Trotzdem danke für eure Geduld...
 
Zuletzt bearbeitet:
Nö...hast nicht richtig verstanden.
PHP versucht erstmal einen Session-Cookie zu setzen..darum musst du dich nicht kümmern(funktioniert ja im FF)

Entscheidend ist, das du die Session-ID korrekt per URL übergibst, wenn kein Cookie gesetzt werden kann...und das tust du nicht. Deine Session heisst standardmässig PHPSESSID...so ist es die Standardeinstellung von PHP, du übergibst aber ID.
Dadurch wird die Session nicht aufrechterhalten.
Wie das richtig läuft, hab ich schon verher beschrieben...hier mal nen kleines Bsp.:
PHP:
<?php

session_name('blablubb');
session_start();
if(isset($_SESSION['ID']))
  {
     echo 'Gottseidank, es wurde was gespeichert:'.$_SESSION['ID'];
  }

$_SESSION['ID']=session_id();
?>


<a href="<?php echo $_SERVER['PHP_SELF'].'?'.SID ?>">klick</a>
 
Zurück