[PHP5] Was bedeutet diese Meldung?

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

  • #16
    [PHP5] Arrays

    Nein ich glaube ihr versteht mich gerade nicht richtig.
    Ich weiß, wie ich Arrays nutze.... davon abgesehen. Genau deshalb finde ich dies gerade so absurt, warum es bei der Session ( welche oft und meist ein großes Array wird ) anders gehandhabt wird als bei normalen Arrays.

    Macht mal folgendes Beispiel:

    $testarray["test"]["muh"] = "sagt die Kuh";
    echo "TestArray test: ".$test."<br>";

    $_SESSION["test1"]["muh"] = "als sie auf der weide stand";
    echo "SessionArray test1: ".$test1."<br>";

    Korrigiert mich, wenn ich falsch liege aber um allgemein auf ein Array zugreifen zu können, muss ich doch den Array(Variablennamen) angeben und in Klammern die Spalte, die ich haben will.... oder?
    In dem Fall gibt dieser kleine Test richtigerweise auch "nichts" zurück, da $test in dem Moment nicht besteht...

    Im zweiten Fall jedoch gibt er für $test1 die ausgabe "Array" aus, obwohl $test1 in der selben ebene ja garnicht erzeugt wurde sondern lediglich ein Array in der Session ist. Hätte ich echo $_SESSION["test1"]; gemacht, dann hätte ichs verstanden, dass er "Array" ausgibt aber so empfinde ich das als einen blöden Fehler, da die Session anscheinend nicht wie ein echtes Array gehandhabt wird.

    Mario

    Kommentar


    • #17
      Hi,

      Zum $test-problem.
      Möglicherweise hat register_globals da seine finger drin?


      Zum anderen problem. Du serialisierst deine objekte nicht
      explizit in die session? Vll. macht es ein anderer programteil?
      Irgendwie müssen die daten ja da hinein kommen.

      greets
      (((call/cc call/cc) (lambda (x) x)) "Scheme just rocks! and Ruby is magic!")

      Kommentar


      • #18
        [PHP5] Fehler

        Hi closure,

        Ich hab wie gesagt das Hauptproblem lösen können.
        Der Fehler lag halt daran, dass eine der Variablen schon in der Session als Array bestand, in welche ich mein Objekt instanzieren wollte.
        Das Problem lag eben genau daran, dass die Arrays, die direkt in der Session liegen( also $_SESSION["..."] ), außerhalb der Session auch gefunden werden, wenn man einfach echo $variable macht. Und das hatte sich dann überschnitten.

        Deshalb hab ich euch nochmal die zwei Beispiele gezeigt.

        Mario

        Kommentar


        • #19
          was erwartest du da?

          PHP-Code:
          $testarray["test"]["muh"] = "sagt die Kuh";
          echo 
          "TestArray test: ".$test."<br>";

          $_SESSION["test1"]["muh"] = "als sie auf der weide stand";
          echo 
          "SessionArray test1: ".$test1."<br>"

          $test und $test1 sind hier leer!!!!


          wenn überhaupt:

          echo "SessionArray test1: ".$_SESSION["test1"]["muh"] ."<br />";
          **********
          arkos
          **********

          Kommentar


          • #20
            [PHP5] Fehler

            Hi arkos,

            Ich weiß, dass man wenn dann über die [index]´e auf die ArrayElemente zugreift. Ich schwöre dir, dass mein kleiner 2ter Test vor 2 tagen nicht undefined oder nichts zurückgegeben hat sondern "array" und das hatte mich sehr gewundert.

            Ich kanns nicht erklären... fakt ist, dass es wirklich so war, dass wenn ich in der Session ein weiteres Array angelegt hatte und außerhalb der Session einfach nur echo $variablenname ( die des Arrays in der Session ) gemacht habe, dass er mir den Typ meines Arrays ( eben Array ) ausgegeben hat..... und das wie gesagt außerhalb der Session.

            Ich habs eben auch nochmal versucht und habe tatsächlich das selbe Ergebnis wie du mir eben sagtest. Bevor mich das ganze noch mehr verwirrt, sage ich lieber.... Problem behoben und nehme meine Erfahrungen weiter mit.

            Gruß, Mario

            Kommentar

            Lädt...
            X