Array per formular übergeben

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

  • Array per formular übergeben

    Hallo an alle,

    ich muss leider noch mal um Rat fragen und hoffe auf Hilfe.

    Ich habe ein Array:

    Array
    (
    [1] => Array
    (
    [0] => Wie nennt man eine Garage für Flugzeuge?
    [1] => Ungar
    [2] => Halbgar
    [3] => Hangar
    )

    [2] => Array
    (
    [0] => In welche Richtung zeigt immer die Kompassnadel?
    [1] => nach Westen
    [2] => nach Süden
    [3] => nach Norden
    )

    [3] => Array
    (
    [0] => Wie heissen die gefährlichen Eckzähne bei Wildschweinen?
    [1] => Säbelzähne
    [2] => Beisser
    [3] => Hauer
    )

    )

    welches dynamisch erzeugt wird. Nun möchte ich dieses array per formular - post übergeben. Ich habe es mit einer for schleife versucht:

    PHP-Code:
    <?php  foreach($ergebnis as $value)
    {
      echo 
    "<input type=\"hidden\" name=\"ergebnis[]\" value=\"".addslashes($value)."\">\n";
    }
    ?>
    auf der nächsten Seite habe ich nun mit :

    PHP-Code:
     foreach($_POST["ergebnis"] as $key => $value)
    {
      
    $_POST["ergebnis"][$key] = stripslashes($_POST["ergebnis"][$value]);

    das array wieder zugänglich zu machen. Aber leider erhalte ich nun nur:

    Array
    (
    [0] => Array
    [1] => Array
    [2] => Array
    )

    Bitte, bitte gebt mir einen Rat.
    Meine befürchung ist , das das Prob ist, das mein Array mehrdimensional ist, aber ich gesteh als Newbee hänge ich zur Zeit und komme nicht weiter. Danke vorab

    Gruß Kicky

    P.S. Folgende Fehlermeldung erscheint auf der zweiten Seite:

    Warning: Invalid argument supplied for foreach() in /home/www/htdocs/ks-mediaplan.de/ki-galerie/php/quiz/spielen.php on line 95
    Zuletzt geändert von Kicky; 20.08.2003, 11:13.

  • #2
    PHP-Code:
    foreach($_POST["ergebnis"] as $key1 => $value1)
      foreach(
    $value1 as $key2 => $value2)
        
    $_POST["ergebnis"][$key1][$key2]=stripslashes($value2); 
    so?

    beim generieren des formulars musst du analog vorgehen, oder du arbeitest mit serialize / unserialize
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      @ mrhappiness

      Danke für deine Antwort. Leider erhlate ich aber die gleiche Fehlermelung wie vorher. Grübel, grübel.

      Gruß Kicky

      Kommentar


      • #4
        s. o.

        du musst die gleiche methodik auch beim generierendes formulars verwenden, oder du prüfst die möglichkeiten von serialize
        Ich denke, also bin ich. - Einige sind trotzdem...

        Kommentar


        • #5
          Sorry, ich muss noch mal nerven,

          ich kämpfe immer noch mit serialize bzw. unserialize

          bei einem einfachen array funktioniert es problemlos, aber bei einem mehrdimensionalen array leider nicht.
          Im Formular gebe ich ein

          PHP-Code:
          $ergebnis= htmlspecialchars(serialize($ergebnis));?>
          <input type="hidden"name="ergebnis" value="<?php echo $ergebnis?>">
          dann erscheint auf der ersten seite im Quelltext:

          <input type="hidden"name="ergebnis" value="a:3i:1;a:4i:0;s:41:&quot;Wie nennt man eine Garage für Flugzeuge? &quot;;i:1;s:5:&quot;Ungar&quot;;i:2;s:7:&quot;Halbgar&quot;;i:3;s:6:&quot;Hangar&quot;;}i:2;a:4i:0;s:49:&quot;In welche Richtung zeigt immer die Kompassnadel? &quot;;i:1;s:11:&quot;nach Westen&quot;;i:2;s:10:&quot;nach Süden&quot;;i:3;s:11:&quot;nach Norden&quot;;}i:3;a:4i:0;s:57:&quot;Wie heissen die gefährlichen Eckzähne bei Wildschweinen? &quot;;i:1;s:10:&quot;Säbelzähne&quot;;i:2;s:7:&quot;Beisser&quot;;i:3;s:5:&quot;Hauer&quot;;}}">

          Das scheint mir korrekt zu sein.
          Wenn ich nun aber auf der zweiten Seite mit

          PHP-Code:
          $ergebnis=unserialize($ergebnis); 
          in den Quelltext schaue, dann steht da nur noch:

          PHP-Code:
          <input type="hidden"name="ergebnis" value="b:0;"
          Wer hat noch einen Rat für mich? Liegt es daran das das array mehrdimensional ist? Vorab herzlichen Dank

          Gruß Kicky

          Kommentar


          • #6
            Im übergebenden Skript:
            Code:
            <?
            $ergebnis=urlencode(addslashes(serialize($ergebnis)));
            ?>
            <input type="hidden" name="ergebnis" value="<? print $ergebnis ?>">
            Im auswertenden Skript:
            Code:
            $ergebnis=unserialize(stripslashes(urldecode($ergebnis)));
            Lev
            There is no spoon!

            Kommentar


            • #7
              Herzlichen Dank,

              es funktioniert jetzt alles. Einen schönen Abend wünscht

              Kicky

              Kommentar

              Lädt...
              X