[OOP] Objekt per POST übergeben

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

  • [OOP] Objekt per POST übergeben

    Hi,

    ich möchte ein Objekt per POST in einem hidden input Feld übergeben:
    PHP-Code:
    echo"<input type='hidden' name='foo' value='".$bar."' >"
    Das klappt ja leider nicht...

    Ich kann die Daten leider nicht in eine $_SESSION Variable speichern, weil der Webserver diverse Platten hat und der User evtl. div. Sessions zugewiesen bekommt.
    Hat jmd. ne Idee, wie ich ein Objekt auf ne andere Weise übergeben kann?

    Danke und Gruß

  • #2
    http://www.php.net/manual/de/function.serialize.php

    Kommentar


    • #3
      ch möchte ein Objekt per POST in einem hidden input Feld übergeben:
      Das klappt ja leider nicht...
      PHP-Code:
      print_r($_POST); 
      was genau willst du eigentlich? einfach gesprochen sind alle inhalte eines formulars in der (super)globalen variablen $_POST verfügbar. das hat imho nichts mit oop und objekten zu tun

      gruß
      peter
      Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
      Meine Seite

      Kommentar


      • #4
        Ich kann die Daten leider nicht in eine $_SESSION Variable speichern, weil der Webserver diverse Platten hat und der User evtl. div. Sessions zugewiesen bekommt.
        wie kommst du drauf?

        Kommentar


        • #5
          wie kommst du drauf?
          das liegt an meinen anbieter, da werden die user nicht immer an denselben server geleitet... daher werden die vars überschrieben

          Kommentar


          • #6
            was genau willst du eigentlich? einfach gesprochen sind alle inhalte eines formulars in der (super)globalen variablen $_POST verfügbar. das hat imho nichts mit oop und objekten zu tun
            ich erstelle ein objekt mit diversen werten, und dieses eine objekt möchte ich an anderer stelle - per post aufgerufene seite - auslesen können.
            Zuletzt geändert von benicio1978; 12.09.2007, 22:26.

            Kommentar


            • #7
              Original geschrieben von benicio1978
              das liegt an meinen anbieter, da werden die user nicht immer an denselben server geleitet... daher werden die vars überschrieben
              Wechsel den Anbieter...

              Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

              bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
              Wie man Fragen richtig stellt

              Kommentar


              • #8
                ??? geiler vorschlag!
                serialize() und unserialize() sind dagegen gute ansätze, die ich gerade ausprobiere

                Kommentar


                • #9
                  Du musst allerdings bedenken, der User kann mit deinem Objekt machen was er will! Ich würde eher die Session in die Datenbank packen, beispielsweise mit der Sessionklasse von Zend.

                  Kommentar


                  • #10
                    Original geschrieben von benicio1978
                    ??? geiler vorschlag!
                    Das war mein totaler ernst. Wenn ein Anbieter nicht mal seine Sessions geregelt bekommt, obwohl es dafür fertige Lösungen gibt, z.B. von Zend, dann ist er es 1. nicht wert, dass man ihm Geld gibt und 2. wer weiß was noch für Grauen in seinen Tiefen schlummern...

                    Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

                    bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
                    Wie man Fragen richtig stellt

                    Kommentar


                    • #11
                      danke schonmal für alle lösungs ansätze, bin gestern eingepennt...
                      eine DB zu nutzen ist unerwünscht, das sollte nicht sein.

                      den anbieter zu wechseln ist auch keine lösung, die mir auf die schnelle zumindest weiterhilft.

                      ich probiere es mit serialize und gib beschied, ob und wie es geklappt hat.

                      Kommentar


                      • #12
                        also folgendes hab ich jetzt ma ausprobiert:

                        PHP-Code:
                        <?php
                        class fo {
                            var 
                        $bar;
                            var 
                        $ba;
                        }

                        if (isset(
                        $_POST["foo"])) {
                            
                        //$objekt = new fo; ??? hier schon erzeugen?
                            
                        $objekt unserialize($_POST["foo"]);
                            echo 
                        $objekt->ba;    // hier passiert nix
                        } else {
                            
                        $objekt = new fo;
                            
                        $objekt->bar 1;
                            
                        $objekt->ba  111+1;
                        }

                        $postvar serialize($objekt);
                        ?>

                        <script language="javascript" type="text/javascript">
                        function test_form(formularname) {
                            document.forms[formularname].submit();
                        }
                        </script> 
                        <form name="blub" action="./temp.php" method="post">
                        <a href="javascript:test_form('blub');">weiter</a>
                        <?php 
                        echo "<input type='hidden' name='foo' value='".$postvar."' >";
                        ?>
                        </form>
                        ... ohne erwünschten erfolg (der ausgabe der wertes $objekt->ba

                        woran kann das liegen???

                        Kommentar


                        • #13
                          1. Das setzen des session.save_path sollte schon Abhilfe schaffen...

                          2. Objekte im Pingpong Verfahren zwischen Server und Browser hüpfen zu lassen ist garantiert der falsche Weg!

                          3. und wie ich dir schon im anderen Forum gesagt habe:
                          Der Provider gehört auf die Streckbank!!!
                          (oder du erzählst Unsinn)
                          Wir werden alle sterben

                          Kommentar


                          • #14
                            PHP-Code:
                            echo "<input type='hidden' name='foo' value='".$postvar."' >"
                            ergibt was im Browser?

                            Kommentar


                            • #15
                              also, um es abzuschliessen... ein objekt per post zu übergeben ist anscheinend echt käse, das macht nicht viel sinn.
                              was ich gemacht hab ist ein array zu erstellen, es zu serialisieren, und dann verschlüssellt per post zu übergeben, das war m.E. an der stelle das sinnvollste.

                              danke an alle.
                              peace

                              Kommentar

                              Lädt...
                              X