martin: Array mit Formular übertragen

Hallo, ich habe ein assoziatives Array $artikel[bezeichnung][$i] und möchte dieses mit Hilfe eines Formulars

<INPUT type ='hidden' name ='artikel'  value=$artikel>

auf die nächste Seite übertragen. Klappt aber nicht! Was mache ich falsch oder wie kann ich es richtig machen?
Gruß martin

  1. Hallo martin,

    <INPUT type ='hidden' name ='artikel'  value=serialize($artikel)>

    und wieder auflösen mit unserialize()

    Gruß aus Berlin!
    eddi

    1. Moin,

      ich hätte da mal ne Frage, die sich hier anschließt. Ich will auch ein Array an andere Seiten übertragen. Nur will ich das ganze nicht mit Hilfe eines senden-Buttons machen, sondern die Daten sollen jedes Mal übertragen werden, wenn ein Link im Menü geclickt wird. Geht das irgendwie?

      Vielen Dank schon mal!

      Ditscher

      1. Hiho,

        entweder mit JavaScript (sehr unschön) oder indem du den serilisierten Array einfach an die Adresse dran hängst (kann aber zimlich lang werden) oder per Session.

        Marc

        1. Hiho,

          entweder mit JavaScript (sehr unschön)

          nö, will ich nich =)

          oder indem du den serilisierten Array einfach an die Adresse dran >>hängst (kann aber zimlich lang werden)

          mmhhhhh, dann hätte ich doch nur 255 Zeichen oder so zur Verfügung, oder??

          oder per Session.

          dann muss ich das wohl machen, oder hat noch jemand ne idee

          danke schonmal!

      2. Moin moin Ditscher,

        da gibt es viele Spielerein. Sinnvoll sind m. E. aber nur Cookies und Sessions.

        Gruß aus Berlin!
        eddi

  2. Hallo Martin,

    <INPUT type ='hidden' name ='artikel'  value='serialize($artikel)'>

    und wieder auflösen mit unserialize()

    Gruß aus Berlin!
    eddi

  3. Hallo, erst einmal schönen Dank.
    Ich bekomme auch nach einen wunderschönen string auf die nächste Seite, den ich per echo ausgeben kann. Jetzt brauche ich natürlich wieder ein ARRAY, doch klappt die Funktion:

    $artikel_neu = unserialize ($artikel);

    bei mir leider nicht. Kann es sein, dass in der php.ini noch Einstellungen vorgenommen werden müssen?
    Gruß martin

    1. Hallo martin,

      warscheinlich könnte an magic_quotes_gpc liegen. Aber dafür würde ich nicht extra die php.ini bemühen. Versuch mal bitte vorher:

      $artikel_neu=unserialize(stripcslashes($artikel));

      Gruß aus Berlin!
      eddi

      1. Hallo eddi, leider ohne Erfolg.
        Meine magic_quotes_gpc  stehen auf "on".
        Mfg martin

        1. Hallo martin,

          folgendes Script läuft bei mir reibungslos:

          <?php
          $a[0]="yyy";
          $a["preis"][8]["zeichen"]="xxx";
          $a[7][22]=445;
          ?>
          <html>
          <body>
          <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
          <input type="text" name="if" value='<?php echo serialize($a); ?>'>
          <input type="submit">
          </form>
          <pre>
          <?php
          print_r(unserialize(stripcslashes($_POST["if"])));
          ?>
          </pre>
          </body></html>

          Gruß aus Berlin!
          eddi

          1. Hallo eddi, bei mir läuft das Script nicht! Wahrscheinlich sind meine Einstellungen anders. Ich habe das Problem jetzt über eine datenbank gelöst. Klappt wunderbar. Vielen Dank. martin

  4. Hello,

    das ist hier in 2003 ausführlich beschrieben worden. Müsste man eigentlich im Archiv finden.

    Vorgehensweise:

    Daten aufbereiten (stripslashes() o.ä.)
    Daten in Array speichern
    Array serialisieren
    Serialisiertes Array mit base64 codieren

    Array übertagen

    Array wieder decoden
    Array wieder deserialisieren

    mit Array arbeiten.

    Liebe Grüße aus http://www.braunschweig.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen