Samuel Vogel: Session Frage

Hallo erstmal,

Also programmier grad ein Board welches natüröich auch eine Userbereich per Sessions hat.
Deshalb probier ich gard mit Sessions rum. Aber irgendwie geht es nicht also Testdatei 1:

<html>
<head>
</head>
<body>

<?php
  ini_set("session.use_cookies", 0);
  // session.use_cookies is aus

session_start();

$_SESSION[user_name] = "samuel";

echo "<a href='./test2.php?PHPSESSID=".$PHPSESSID."'>test2</a>";

?>

</body>
</html>

und Testdatei 2:

<html>
<head>
</head>
<body>

<?php
  ini_set("session.use_cookies", 0);
  // session.use_cookies is aus

session_start();

echo $_SESSION[user_name];

?>

</body>
</html>

so man soll also wenn man den Link auf der 1. Seite anklickt zur 2. Seite kommen und seinen Benutzernamen angezeigt kriegen aber schon die übergabe der SESSION ID geht nicht und wenn ich die die SESSION ID ganz weglasse bei dem Link geht es auch nicht!

samy,

  1. Hallo erstmal,

    $_SESSION[user_name] = "samuel";

    Hallo,

    es sollte $_SESSION['user_name'] heissen.

    MFG
    Christoph

    1. Danke,

      aber es ist volkommen egal ob man nun mit '' oder ohne '' schreibt.
      Habs grad ausprobiert!

      samy,

      1. Hallo,

        aber es ist volkommen egal ob man nun mit '' oder ohne '' schreibt.
        Habs grad ausprobiert!

        Dann war dein Testaufbau fehlerhaft.

        <?php
        define('user_name','falscher_wert');
        $foo = array('user_name' => 'richtig','falscher_wert' => 'falsch' );
        echo $foo[user_name],$foo['user_name'];
        ?>

        gruß,
        Severin

        --
        Realität ist das, was nicht verschwindet, wenn man aufhört, daran zu glauben.
        --Philip K. Dick
        1. Hallo,

          ich raff irgendwie nicht was diu Meinst!

          samy,

          1. Hallo,

            ich raff irgendwie nicht was diu Meinst!

            Hast du den Code ausprobiert?
            Naja, ich weiss nicht genau warum, aber PHP scheint einfach zu raten, dass bei $foo[bar] 'bar' ein String ist. Sollte es jedoch eine Konstante 'bar' geben wird 'bar' mit ihrem Wert ersetzt und dein Code funktioniert nicht mehr.
            Du solltest generell alles was ein String ist, auch wie es sich für Strings gehört, in Anführungszeichen setzen.

            gruß,
            Severin

            --
            Realität ist das, was nicht verschwindet, wenn man aufhört, daran zu glauben.
            --Philip K. Dick
    2. Hello,

      wenn man bei PHP-Sessions die Cookies ausschaltet, und session.use_trans_sid nicht einschaltet, dann geht nix mehr. Irgendwie muss die Sessionsteuerung die Session-ID ja aufnehmen.

      Außerdem finde ich PHP-Sessions ohne Cookies schwachsinnig. Dann solltest Du lieber auf "Auth401" umsteigen.

      Grüße

      Tom

  2. Hallo,

    <?php
      ini_set("session.use_cookies", 0);
      // session.use_cookies is aus

    Wenn schon, müsste es ini_set("session.use_cookies", "0"); heissen.http://at2.php.net/manual/en/function.ini-set.php

    [...]  $_SESSION[user_name] = "samuel";

    Wurde schon angesprochen.

    <?php
      ini_set("session.use_cookies", 0);
      // session.use_cookies is aus

    siehe oben.

    session_start();

    echo $_SESSION[user_name];

    siehe oben.

    gruß,
    Severin

    --
    Realität ist das, was nicht verschwindet, wenn man aufhört, daran zu glauben.
    --Philip K. Dick