Post Array wieder in einem Formular übergeben

Hallo,

ein Script liest die per Formular übergebenen Werte aus und zeigt sie
an. Wie kann ich dann den ganzen Array in einem weiteren Formular auf
der gleichen Seite nochmal als Array weitergeben, ohne mit <input
type=hidden name=... value=...> arbeiten zu müssen, also z.B. <input
type .... value="<?=$_POST?>" ?

--
Stephan
Stephan Dreisbach [ Do, 03 Januar 2008 22:36 ] [ ID #1899056 ]

Re: Post Array wieder in einem Formular übergeben

Hallo Stephan

Stephan Dreisbach schrieb:
> ein Script liest die per Formular übergebenen Werte aus und zeigt sie
> an. Wie kann ich dann den ganzen Array in einem weiteren Formular auf
> der gleichen Seite nochmal als Array weitergeben, ohne mit <input
> type=hidden name=... value=...> arbeiten zu müssen, also z.B. <input
> type .... value="<?=$_POST?>" ?

AFAIK gibt es keine andere Möglichkeit als die erste. Also sowas:

foreach ($_POST['arrayName'] as $value) {
$html .=
'<input type="hidden" name="arrayName[]" value="'. $value .'" />
}

Wobei du $value wohl noch mit htmlentities() oder ähnlichem vor der
Ausgabe bearbeiten solltest.

regards,
Jens
Jens Himmelrath [ Do, 03 Januar 2008 22:55 ] [ ID #1899057 ]

Re: Post Array wieder in einem Formular übergeben

Argh!

Jens Himmelrath schrieb:
>
> '<input type="hidden" name="arrayName[]" value="'. $value .'" />

';

regards,
Jens
Jens Himmelrath [ Do, 03 Januar 2008 22:56 ] [ ID #1899058 ]

Re: Post Array wieder in einem Formular übergeben

Am 3. Januar 2008 schrieb Jens Himmelrath:

> Stephan Dreisbach schrieb:
>> ein Script liest die per Formular übergebenen Werte aus und zeigt sie
>> an. Wie kann ich dann den ganzen Array in einem weiteren Formular auf
>> der gleichen Seite nochmal als Array weitergeben, ohne mit <input
>> type=hidden name=... value=...> arbeiten zu müssen, also z.B. <input
>> type .... value="<?=$_POST?>" ?
>
> AFAIK gibt es keine andere Möglichkeit als die erste.

Doch, man könnte ein serialisiertes Array ins value-Attribut packen. Aus
Sicherheitsgründen ist das aber ebenfalls keine gute Idee. Sessions sind
für solche Zwecke deutlich besser geeignet.

Gruß
Mark

--
Jörg Dahlmann (über Lothar Matthäus): "Da geht er, ein großer Spieler.
Ein Mann wie Steffi Graf."
Mark Wiesemann [ Do, 03 Januar 2008 22:59 ] [ ID #1899059 ]

Re: Post Array wieder in einem Formular übergeben

Mark Wiesemann schrieb:
> Am 3. Januar 2008 schrieb Jens Himmelrath:
>
>> Stephan Dreisbach schrieb:
>>> ein Script liest die per Formular übergebenen Werte aus und zeigt sie
>>> an. Wie kann ich dann den ganzen Array in einem weiteren Formular auf
>>> der gleichen Seite nochmal als Array weitergeben, ohne mit <input
>>> type=hidden name=... value=...> arbeiten zu müssen, also z.B. <input
>>> type .... value="<?=$_POST?>" ?
>> AFAIK gibt es keine andere Möglichkeit als die erste.
>
> Doch, man könnte ein serialisiertes Array ins value-Attribut packen. Aus
> Sicherheitsgründen ist das aber ebenfalls keine gute Idee. Sessions sind
> für solche Zwecke deutlich besser geeignet.

Schon richtig, die Session sollte eine bessere Lösung sein, aber dann
wäre es eben nicht "in einem weiteren Formular".

regards,
Jens
Jens Himmelrath [ Do, 03 Januar 2008 23:04 ] [ ID #1899060 ]

Re: Post Array wieder in einem Formular übergeben

Am Thu, 03 Jan 2008 22:36:37 +0100 schrieb Stephan Dreisbach:

> ein Script liest die per Formular übergebenen Werte aus und zeigt sie
> an. Wie kann ich dann den ganzen Array in einem weiteren Formular auf
> der gleichen Seite nochmal als Array weitergeben

Das Array $_POST ist doch vorhanden. Warum willst Du überflüssigerweise ein
weiteres Array einsetzen?

Ich verstehe nicht ganz, was Du mit "Weitergeben" meinst. So etwas:

<!-- Formular 2 -->
<form action='skript.php' method='post'>
<?php
sprintf("<input type='text' name='eingabe2' value='%s'>",
$_POST['eingabe1']); // Wert aus dem ersten Formular
?>
<input type='submit'></form>

oder etwas anderes?

Martin
Martin Lemke [ Fr, 04 Januar 2008 10:56 ] [ ID #1899919 ]

Re: Post Array wieder in einem Formular übergeben

Jens Himmelrath schrieb:

> Schon richtig, die Session sollte eine bessere Lösung sein, aber dann
> wäre es eben nicht "in einem weiteren Formular".

Warum nicht? Er schrieb doch das er die Daten ohne zusätzliches
Formularfeld weiterreichen will. Ob das Script an das weitergereicht
wird ein Formular ausgibt ist dabei doch absolut irrrelevant!

Also ja, Session ist das was er sucht.

MfG, Ulf
Ulf Kadner [ Fr, 04 Januar 2008 11:13 ] [ ID #1899920 ]

Re: Post Array wieder in einem Formular übergeben

Ulf Kadner schrieb:
> Jens Himmelrath schrieb:
>
>> Schon richtig, die Session sollte eine bessere Lösung sein, aber dann
>> wäre es eben nicht "in einem weiteren Formular".
>
> Warum nicht? Er schrieb doch das er die Daten ohne zusätzliches
> Formularfeld weiterreichen will. Ob das Script an das weitergereicht
> wird ein Formular ausgibt ist dabei doch absolut irrrelevant!

Wenn er mit "in einem Formular" eigentlich "in einem Program, dass das
Formular ausgibt" meinte, dann ja.

> Also ja, Session ist das was er sucht.

Mit Sicherheit, aber nicht das wonach er fragte.
Dennoch habt Ihr natürlich beide Recht, man sollte Ihn auf die bessere
Lösung stoßen.

Ich hatte allerdings mal den Fall, dass ich ein Formular in 3 Schritten
anlegen musste, und am Ende alle Werte an einen anderen Server schicken
musstem - um das nicht im Hintergrund mit PHP machen zu müssen benutze
ich dort mein oben im Thread beschriebenes Vorgehen und im letzten
Formular wurde das action-Attribut auf den anderen Server gerichtet.

regards,
Jens
Jens Himmelrath [ Sa, 05 Januar 2008 00:42 ] [ ID #1899936 ]

Re: Post Array wieder in einem Formular übergeben

"Stephan Dreisbach" <muelleimer15 [at] gmx.de> schrieb im Newsbeitrag news:b3lqn3dfbj3pi2368cva40qtv150pe91d7 [at] 4ax.com...
> Hallo,
>
> ein Script liest die per Formular übergebenen Werte aus und zeigt sie
> an. Wie kann ich dann den ganzen Array in einem weiteren Formular auf
> der gleichen Seite nochmal als Array weitergeben, ohne mit <input
> type=hidden name=... value=...> arbeiten zu müssen, also z.B. <input
> type .... value="<?=$_POST?>" ?
>
> --
> Stephan

Ich habe ein ähnliches Problem mit

$_SESSION["edit"] = $_REQUEST;

gelöst, also in Deinem Fall:

$_SESSION["edit"] = $_POST;


Andreas
DFS [ Sa, 05 Januar 2008 12:40 ] [ ID #1900435 ]
PHP » de.comp.lang.php.misc » Post Array wieder in einem Formular übergeben

Vorheriges Thema: programmings
Nächstes Thema: Wie Email extrahieren