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
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
Re: Post Array wieder in einem Formular übergeben
Argh!
Jens Himmelrath schrieb:
>
> '<input type="hidden" name="arrayName[]" value="'. $value .'" />
';
regards,
Jens
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."
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
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
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
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
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