Paul: Newbee Frage array mit $_POST übergeben

Hi,
habe mal 'ne genz blöde Frage (kann es leider gerade nicht ausprobieren...)
habe $array=array(1,2,3,...);
in einem Formular:
z.B. <input type="hidden" name="array" value="$array">

Wenn ich nun das Formular abschicke - habe ich dann $_POST["array"] wieder als array? kann also sowas wie
foreach($_POST["array])
{
mach was
}
schreiben?
cu,
Paul

  1. Hi,

    habe $array=array(1,2,3,...);
    in einem Formular:
    z.B. <input type="hidden" name="array" value="$array">

    Wenn ich nun das Formular abschicke - habe ich dann $_POST["array"] wieder als array?

    Nein, damit bekommst du hoechstens das, was im Quellcode schon als Inhalt des value-Attributes drinsteht - und das duerfte nicht das sein, was du erwartest.
    Arrays lassen sich nicht sinnvoll mit echo oder print ausgeben.

    Informiere dich ueber Stichworte wie serialization, oder besser noch ueber Session. Denn wenn du Daten, die auf dem Server vorhanden sind, in einer neuen Scriptinstanz wieder verfuegbar haben willst - dann ist es im Allgemeinen nicht sinnvoll, sie dazu erst mal den Umweg ueber den Client nehmen zu lassen.

    MfG ChrisB

    --
    „This is the author's opinion, not necessarily that of Starbucks.“
  2. Hi

    möglich wäre es z.B. so:

    foreach($array as $value){  
    echo '<input type="hidden" name="array2[]" value="'.$value.'">';  
    }
    

    Jetzt hast du nach dem Post das Array in $array2.

    1. echo $begrüßung;

      Beim Einfügen von Werten in einen anderen Kontext sind diese kontextgerecht zu behandeln. Ansonsten kann für deren fehlerfreien Transport und das Ausbleiben anderer Nebenwirkungen nicht garantiert werden.

      echo '<input type="hidden" name="array2[]" value="'.$value.'">';

      Es fehlt ein htmlspecialchars() um $value.

      echo "$verabschiedung $name";