ronny: variablen immer verfügbar

hallo,

wie mache ich meine variablen immer wieder verfügbar, also auf jeder(!) meiner unterseiten?

sofern ich immer ein session_start() nutze sollte es doch gehen wenn ich die varis auf der ersten seite registriere und fülle, oder?

$usr = $eingabe;
session_register("usr");

oder eben so in der art?

$_SESSION["usr"] = $eingabe;

??? liege ich da richtig? meine variablen sind nämlich irgendwann mal verloren.

ansprechen tu ich sie unter anderem mit
$usr das geht aber nur auf der ersten seite, is klar, dann nutz ich $HTTP_SESSION_VARS[usr] damit geht s auch.

danke

  1. Moin,

    so du denn eine PHP-Version >= 4.1 hast, geht die Variante mit $_SESSION['usr'] wunderbar.
    Dann allerdings hast du auf jeder beliebigen Seite die Variable $_SESSION['usr'] zur Verfügung, nicht $usr. Wenn du aus Gründen der Schreibfaulheit lieber $usr verwenden möchtest, musst du eben im Kopf jeder Seite ungefähr folgendes schreiben:
    if(isset($_SESSION['usr'])) {
     $usr = $_SESSION['usr'];
    }

    Gruß und einen schönen Sonntag, Uschi

    1. hallo,

      so du denn eine PHP-Version >= 4.1 hast, geht die Variante mit $_SESSION['usr'] wunderbar.

      ja habe ich ;)

      Dann allerdings hast du auf jeder beliebigen Seite die Variable $_SESSION['usr'] zur Verfügung, nicht $usr.

      das wäre mein zeil ;) ich hatte vorhin nen denkfehler...das problem, ich übergebe per form ne variable ( name )an seite2

      dort "hallo name"
      auf dieser seite wird dann auch die session gestartet
      und die variuable name zu $_SESSION["name"] gemacht.

      jetzt per klick auf seite seite 3

      hier "hallo name( $_SESSION["name"] )

      jetzt per klick auf seite2 zurück, da gibt es aber kein "hallo name" mehr, da ja hier die variable name leer ist und somit auch kein
      $_SESSION["name"] gefüllt werden kann, zumindest denke ich mir das jetzt so, da es eben so ist, habe mir ein paar kleine schnipsel gebastelt nur um eben dies zu testen.

      ciao

      1. Hello,

        [...]

        jetzt per klick auf seite2 zurück, da gibt es aber kein "hallo name" mehr, da ja hier die variable name leer ist und somit auch kein
        $_SESSION["name"] gefüllt werden kann, zumindest denke ich mir das jetzt so, da es eben so ist, habe mir ein paar kleine schnipsel gebastelt nur um eben dies zu testen.

        Die Session-Vraiablen stehen auf jeder Seite zur Verfügung, in der session_start() aufgerufen wird und die innerhalb der eingestellten Session-Root liegt. Standard ist da "Domain/"

        Grüße

        Tom

        1. hi ,

          Die Session-Vraiablen stehen auf jeder Seite zur Verfügung, in der session_start() aufgerufen wird und die innerhalb der eingestellten Session-Root liegt. Standard ist da "Domain/"

          mmhm, nein

          auf der seite, auf der sie registriert werden nicht.

          $variable1 = "name"; // per form auf diese seite übertragen

          //nutzen der variable1, wenn variable1 = bedingung dann erst session erstellen

          session_start();
          $_SESSION["variable1"] = $variable1;

          echo "hallo $variable1";
          //oder sonst was
          echo "hallo $HTTP_SESSION_VARS[variable1]";

          wenn ich hier jetzt variable1 verwende funktioniert es, auch die session etc.

          klicke ich aber zwischen meinen seiten hin und her und komme hier mal wieder zurück , dann nicht, da die variable1 ja verloren ist, da sie ursprünglich von einem form kam. und die sessionvariable ist da neu erstellt quasi leer.

          danke

          ciao

          1. Hello,

            Die Session-Vraiablen stehen auf jeder Seite zur Verfügung, in der session_start() aufgerufen wird und die innerhalb der eingestellten Session-Root liegt. Standard ist da "Domain/"

            mmhm, nein

            Doch! Der Wert bleibt erhalten, bis Du ihn überschreibst.

            auf der seite, auf der sie registriert werden nicht.

            Registriert werden müssen sie nicht mehr separat. Du meinst "initialisiert". Und das kann man ja abhägeig davon machen, ob die Variable schon belegt ist, oder nicht. Wenn es denn sinnvoll ist.

            $variable1 = "name"; // per form auf diese seite übertragen

            //nutzen der variable1, wenn variable1 = bedingung dann erst session erstellen

            session_start();

            if (!isset($_SESSION["variable1"])
            {
              $_SESSION["variable1"] = $variable1;
            }

            echo "hallo $variable1";

            Grüße

            Tom

            1. hi,

              nu hab ich was ;)

              vielleicht wieder einmal einer meiner sehr vielen denkfehler ;)

              habe zwei scripts ins html per include
              jedes dieser scripts sollte nun ein paar variablen bereitstellen. (session)

              wie schon beschrieben, fehlten mir welche, habe nun beides kombiniert und die varis nur noch in einem dieser included scripts erstellen lassen und siehe da es läuft. habe zwar noch nicht kapiert warum, aber mit der zeit sehe auch ich da mal nen horizont ;)

              schönes we noch

              ronny

  2. Hallo,

    ??? liege ich da richtig? meine variablen sind nämlich irgendwann mal verloren.

    vielleicht wird Deine Session gelöscht bzw. geleert? Das passiert mir auch immer. Frag mich nicht wie das kommt.

    Gruß, Andreas

    1. hallo,

      vielleicht wird Deine Session gelöscht bzw. geleert? Das passiert mir auch immer. Frag mich nicht wie das kommt.

      session ist da, wird jedesmal geprüft und ich lass es mir noch zu testzwecken anzeigen. hab die ursache "gefunden" siehe zweites posting von mir.

      dank dir trotzdem ;)

      ciao