Session Variablen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Session Variablen

    Hallo zusammen,

    ich ärgere mich nun schon seit zwei Wochen mit PHP rum, und habe daheim endlich meine Scripte fertiggestellt --->> auf 1und1 Puretec hochgeladen und siehe da -->> nichts geht mehr

    Daheim und bei 1und1 php4.2.3, 1und1 - register_global=on, daheim=off

    wer kann mir folgendes Symptom erklären:

    <?PHP
    session_start();
    ........

    $stat = 40;
    $_SESSION["stat"]=$stat;
    .
    .
    if ($stat== 40) $stat=$stat+ 23;
    $stat=55;
    .
    .
    echo "Session Inhalt von stat: ".$_SESSION["stat"]."<br>\n";

    ?>

    Die Ausgabe müsste meiner Logik nach 40 sein....
    Denkste ..... es ist 55..

    Darf ich etwa bei register_global on nicht die gleiche SESSION variablen-Bezeichnung verwenden wie die im Script benutzte? und bei register_global=Off darf ich dass?

    Wie schreib ich ein Script das sich nicht darum schert wie PHP 4.2.3 eingerichtet ist? Bei dem Hick-Hack der PHP.ini Möglichkeiten wird es einem ja nicht leicht gemacht portable Scripte zu erstellen!

    Vielleicht hat da jemand von Euch hierzu Erfahrung. Die Lösungen die ich
    bis jetzt gesehen habe, zielen darauf ab register_global OFF auszuhebeln soweit gesetzt --- Das kann ja wohl nicht Sinn der Sache sein??
    --------------------------------------------------------------------------
    Gone are the days when you could say "Those were the days."
    --------------------------------------------------------------------------

  • #2
    bei register_globals=on

    zeigen $_SESSION['stat'] und $stat auf die selbe Variable,
    dh.

    $stat++ ist das selbe wie $_SESSION['stat']++
    TBT

    Die zwei wichtigsten Regeln für eine berufliche Karriere:
    1. Verrate niemals alles was du weißt!


    PHP 2 AllPatrizier II Browsergame

    Kommentar


    • #3
      register_globals = on => ein adressraum, in dem alle variablen sind (SESSIOn, COOKIE, GET, POST, ...)

      ein adressraum => $_SESSION['fubar'] == $_GET['fubar'] = $fubar ...
      Ich denke, also bin ich. - Einige sind trotzdem...

      Kommentar


      • #4
        Jo TBT, ganau das dachte ich mir, ERGO: Nun muss ich alle Variablen mit denen ich lokal im Script arbeite klar von den Session variablen unterscheiden.
        --------------------------------------------------------------------------
        Gone are the days when you could say "Those were the days."
        --------------------------------------------------------------------------

        Kommentar


        • #5
          Re: Session Variablen

          Original geschrieben von Softkick
          $stat = 40;
          $_SESSION["stat"]=$stat;
          .
          .
          if ($stat== 40) $stat=$stat+ 23;
          $stat=55;

          Die Ausgabe müsste meiner Logik nach 40 sein....
          Denkste ..... es ist 55.
          dann überdenke deine logik.

          $stat=55;

          ist die letzte anweisung die du vor der ausgabe machst, und dies in jedem fall, egal wie die if-abfragen ausfallen.
          I don't believe in rebirth. Actually, I never did in my whole lives.

          Kommentar


          • #6
            Das erklärt aber trotzdem nicht warum bei register_globals = off die Ausgabe
            PHP-Code:
            echo "Session Inhalt von stat: ".$_SESSION["stat"]."<br>\n"
            55 ergibt ... weil bei register_globals $stat und $_SESSION["stat"] eigentlich was anderes sein sollten ... das ist halt das übel wenn man unterschiedliche Dinge gleich benennt ... !
            carpe noctem

            [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
            [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

            Kommentar


            • #7
              Original geschrieben von goth
              Das erklärt aber trotzdem nicht warum bei register_globals = off die Ausgabe
              PHP-Code:
              echo "Session Inhalt von stat: ".$_SESSION["stat"]."<br>\n"
              55 ergibt ...
              Ich denke du meinst da sicherlich bei register_globals = On ....
              denn wenn die "Off" sind kommt das "richtige" raus (40)...

              Kommentar

              Lädt...
              X