Seite 1 von 1

session geht nicht

Verfasst: 10.12.2006 17:39
von langeweile
ich habe (weil ich gerade sessions lerne) gerade folgendes geschrieben:


test_1.php

Code: Alles auswählen

<?php session_start(); ?>
Anzahl Seitenwechsel: <?php
if (!isset($_SESSION["zaehler"])) $_SESSION["zaehler"]=0;
$_SESSION["zaehler"]++;
echo $_SESSION["zaehler"];
?>
<a href="test_2.php?<?=SID?>">next</a>
test_2.php

Code: Alles auswählen

<?php session_start(); ?>
Anzahl Seitenwechsel: <?php
if (!isset($_SESSION["zaehler"])) $_SESSION["zaehler"]=0;
$_SESSION["zaehler"]++;
echo $_SESSION["zaehler"];
?>
<a href="test_1.php?<?=SID?>">next</a>

Der Zähler funktioniert zwar, aber es wird keine sessions id an die url´s angehängt

Verfasst: 10.12.2006 17:42
von Pyramide
Lesen bildet:
SID (string)
Konstante, die entweder den Namen und die ID der Session in der Form "name=ID" enthält oder eine leere Zeichenkette, falls die Session-ID in einem entsprechenden Cookie gesetzt wurde.

Verfasst: 10.12.2006 20:14
von langeweile
und was bedeutet das jetzt genau?
muss ich jetzt dafür einen cookie setzen und wenn ja, wie macht man das?

Verfasst: 11.12.2006 00:12
von gn#36
Musst du nicht. Die Konstante enthält nur dann Text wenn es nicht möglich ist einen Cookie zu setzen (warum auch immer das so ist). Dementsprechend wäre es sinnlos das dann zu versuchen. Um also zu testen ob das mit der SID funktioniert solltest du die Cookies abschalten.

Was ansonsten das Setzen eines Cookies angeht:
http://de.php.net/setcookie

Verfasst: 11.12.2006 08:13
von larsneo
Der Zähler funktioniert zwar, aber es wird keine sessions id an die url´s angehängt
und das ist auch gut so - denn sonst ist das session hijacking unnötig leicht gemacht.

bei postnuke versuchen wir beispielsweise, durch

Code: Alles auswählen

ini_set('session.use_cookies', 1);
ini_set('session.use_trans_sid', 0);
@ini_set('url_rewriter.tags', '');
die trans-sid komplett zu vermeiden.