Sönke Tesch: array aus formular mit hidden-field übergeben

Beitrag lesen

dieses array wollte ich per
<input type="hidden" name="empf" value="<? echo $empf; ?>">
an die folge-seite übergeben.

nun will aber dieses array ums verr... nicht da ankommen.
echo $empf; ergibt einfach nur "Array" , was ja auch stimmt.

echo $empf[0]."<br>";echo $empf[1]."<br>";echo $empf[2]."<br>";...
ergibt dann:
A
r
r

wo bitte sind denn nun meine werte geblieben????

Die sind wohl irgendwo in Deinem Code verlustig gegangen, $empf wurde jedenfalls mit dem Text "Array" überschrieben. Ohne Kenntniss Deines Codes kann Dir da aber keiner weiterhelfen. Sicher bringt Dich aber auch großflächiges Ausstreuen von var_dump($empf) im Code an die Stelle, an der $empf sich neuen Welten zuwendet.

Um die Werte dann später, wenn $empf den gewünschten Inhalt auch bei sich behält, auszugeben, solltest Du besser etwas in der Richtung implode() benutzen. Achte aber darauf, daß Deine Daten nicht das Trennzeichen verwenden.

Alternativ kannst Du auch die Einträge des Feldes als einzelne <input>-Elemente ausgeben:

foreach ($empf as $empfaenger)
    echo "<input type="hidden" name="empf[]" value="".htmlentities($empfaenger)."">";

Dadurch, daß der Elementname mit [] endet, sammelt PHP alle Werte automatisch wieder in einem Feld $empf.
htmlentities() ist nötig, um die Daten HTML-gerecht zu maskieren (auch, wenn Du statt der Schleife obige join()-Methode benutzt oder sonst irgendwie die Daten ausgibst).

Gruß,
  soenk.e