Sessions trotz geblockter Cookies

Christoph Haas

Mitglied
Hallo Leute,

wenn ich alle Cookies blocke, kann ich die Session ja nur über die URL übertragen.
Mit dem folgendem Script ist dies möglich.

session.php
PHP:
<?php
session_start();

$_SESSION["vorname"] = "Christoph";
$_SESSION["nachname"] = "Haas";

echo "Dieses mal werden Werte über Sessions gesetzt. ";
echo "Hier können Sie sie auslesen <a href='session_auslesen.php?"
	. session_name() . "="
	. session_id()
	. "'>session_auslesen.php</a>";

?>

session_auslesen.php
PHP:
<?php
session_start();

if(isset($_SESSION["vorname"]) && isset($_SESSION["nachname"]))
	{
	echo "Die geschriebenen Werte sind: <br />";
	echo "Name: {$_SESSION['vorname']} <br />\n";
	echo "Farbe: {$_SESSION['nachname']} <br />\n";
	}
else
	{
	echo "noch keine Session gesetzt";
	}
?>

Somit hab ich in der Adresszeile:
Code:
session_auslesen.php?PHPSESSID=24h499cmjh175ccl9skjv3plk0
stehen.

Wenn ich aber bei der session.php die Session umbenenne in

PHP:
<?php
session_name("id");
session_start();
//...

erscheint in der Adresszeile auch:
Code:
session_auslesen.php?id=24h499cmjh175ccl9skjv3plk0
stehen ABER, die Session wird nicht übertragen!?

Wieso? :(:(:(
 
Hallo Herr Haas,

wenn Sie eine benannte Session auslesen wollen, dann müssen Sie session_name() vor session_start() aufrufen.

session_auslesen.php
PHP:
session_name( 'name_der_session' );
session_start(); 

if(isset($_SESSION["vorname"]) && isset($_SESSION["nachname"])) 
    { 
    echo "Die geschriebenen Werte sind: <br />"; 
    echo "Name: {$_SESSION['vorname']} <br />\n"; 
    echo "Farbe: {$_SESSION['nachname']} <br />\n"; 
    } 
else 
    { 
    echo "noch keine Session gesetzt"; 
    }

Gruß
 
ach klar, danke!

Ich musste einfach nur die

PHP:
session_name("id")

in die session_auslesen.php einfügen.
Vielen Dank nochmals

Gruß
Christoph Haas
 
Zurück