Stefan: PHP SESSION ID

Halli Hallo!

Was mach ich falsch?

Ich habe eine index.php Seite bei der ich eine Session eröffne.
Auf der Index.php Seite befindet sich ein Link:

echo "<a href='index2.php?kat=".($row[kat_nr])."&".SID."'>";

das Funktioniert bestens so, die Session ID wird an die Seite Index2.php übergeben.
Nun wenn ich auf der Seite index2.php die Session ID weiergeben will, geht das nicht.

echo "<tr><td><a href = 'index.php?".session_id()."'>Zurück</a></td> </tr>";

Es wird nur der folgende Link übertragen:
http://www.blabla.ch/friedel/index.php?

Was mach ich falsch oder was habe ich vergessen?

Vielen Dank für die Infos
Gruss stefan

  1. Hallo,

    Nun wenn ich auf der Seite index2.php die Session ID weiergeben will, geht das nicht.

    hast du die Session mit session_start() wieder aufgenommen?

    Grüße, Matze

  2. Lieber Stefan,

    zusätzlich zu dem, was Matze schon völlig richtig angemerkt hat:

    echo "<a href='index2.php?kat=".($row[kat_nr])."&".SID."'>";

    Es ist sehr gut möglich, dass Dein Dokument nicht mehr valide ist, wenn Du dieses "&" nicht maskierst. Desweiteren ist $row[kat_nr] wahrscheinlich nicht das, was Du darunter verstehst. Hast Du "kat_nr" als Konstante definiert? Wohl eher nicht, daher sollte vor kat_nr auch ein Dollarzeichen.

    Ich denke, da sollte dieses stehen:
    echo '<a href="index2.php?kat='.$row[$kat_nr].'&amp;'.SID.'">';

    Liebe Grüße aus Ellwangen,

    Felix Riesterer.

    --
    ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)
    1. Hallihallo!

      Oder, was ich persönlich für wahrscheinlicher halte, (wenn kat_nr z.B. aus einer Datenbankabfrage kommt, was ich wegen "$row" einfach mal annehme):

      echo '<a href="index2.php?kat='.$row['kat_nr'].'&amp;'.SID.'">';

      Viele liebe Grüße,
      Der Dicki

    2. Hi,

      Ich denke, da sollte dieses stehen:
      echo '<a href="index2.php?kat='.$row[$kat_nr].'&amp;'.SID.'">';

      sollte, aber auch session_id() liefert die Session-ID zurück, *wenn* denn eine Session getartet wurde. Der Unterschied liegt darin, dass die Konstante SID einen Leerstring enthält, wenn die Session bereits über Cookie gesendet wurde, und ansonsten nicht nur die ID, sondern auch den SessionNamen.
      "index.php?".session_id() wäre daher auch gar nicht einsetzbar. Und wenn dies einen Leerstring ergibt, dann war definitiv die Session nicht gestartet.

      freundliche Grüße
      Ingo