-
1. Data: 2010-10-18 21:00:56
Temat: Przekazywanie danych w _POST
Od: "Robbo" <y...@m...com>
Witam,
Stworzyłem w HTML formularz, w którym użytkownik
może wypełnić kilka pól. Po wypełnieniu formularza,
użytkownik klika przycisk "Podgląd" (typu "submit"),
co powoduje przejście do następnej strony, na której
prezentowane są wpisane uprzednio dane.
Użytkownik ma teraz do dyspozycji dwa przyciski "Cofnij"
oraz "Zatwierdź" (typu "submit") -- jeden
zatwierdza dane, drugi powoduje ponowne przejście do
strony umożliwiającej poprawę wpisanych danych.
Mam pewien problem z realizacją "powrotu" ze
strony prezentacji danych, do formularza, w którym
użytkownik móglby dane poprawić. Chodzi o przekazanie
danych przez _POST. Poniżej przedstawiłem, o co chodzi.
Plik "formularz.php":
<form name="editingForm" enctype="multipart/form-data" method="post"
action="podglad.php">
<input type="hidden" name="newplace" value="1" />
nazwisko: <input type="text" name="nazwisko" value="<?PHP echo
$_POST["nazwisko"]; ?>" />
<input type="submit" name="formularzSubmit" value="Podgląd" />
</form>
Plik "podlad.php":
<?PHP print_r($_POST); ?>
<form name="PodladForm" enctype="multipart/form-data" method="post"
action="formularz.php">
<input type="submit" name="podladSubmit" value="Cofinj" />
</form>
Najpierw odpalamy "formularz.php", wypełniamy pole
nazwisko i klikamy "Podląd", co powoduje uruchomienie
"podlad.php" i prezentację danych z _POST.
Chodzi o to, że teraz gdy nacisnę "Cofnij" i powrócę do
"formularz.php", to chciałbym mieć w _POST wpisane
uprzednio w formularzu nazwisko.
W jaki sposób to zrobić?
Przychodzi mi do głowy coś takiego w pliku "podlad.php":
<?PHP print_r($_POST); ?>
<form name="PodladForm" enctype="multipart/form-data" method="post"
action="formularz.php">
<input type="hidden" name="nazwisko" value="<?PHP echo $_POST["nazwisko"];
?>" />
<input type="submit" name="podladSubmit" value="Cofinj" />
</form>
... ale może ktoś ma lepszy pomysł, zwłaszcza, że widziałem
stronę, na której jest przycisk "Cofnij" (typu "submit") i nie
stosują ukrytych pól formularza.
Z góry dziękuję za pomoc.
R.
-
2. Data: 2010-10-18 21:31:41
Temat: Re: Przekazywanie danych w _POST
Od: Piotr Siudak <s...@x...pl>
W dniu 18.10.2010 23:00, Robbo pisze:
> ... ale może ktoś ma lepszy pomysł,
to jest trochę bardziej skomplikowane
Po pierwsze pomysł by przesyłać dane postem do innego dokumentu nie
jest najlepszy. Jego minusy widać w sytuacjach takich jak ta. Prosciej
kiedy atrybut action formularza ma ta sama wartość co uri formularza.
Po drugie, obsługa formularza składa sie z pieciu kroków:
1. sprawdzenie czy odebrano dane i czy odebrane dane sa zgodne z
załozonymi warunkami
W przypadku bledów lub braku POSTa
2. przygotowania danych do formularza
3. wyswietlenie formularza (wraz z ewentualnym komunikatem o błędzie)
W przypadku braku błedów
4. przetworzenia danych
5. wyświetlenia potwierdzenia/ przekierowania do nastepnego dokumentu.
W twoim przypadku w formularzu1 w punkcie punkcie 4 zapisujesz dane do
sesji i w punkcie 5 przekierowujesz do formularza2
formularzu2 w punkcie 2 pobierasz dane z sesji i wyświetlasz celem
potwierdzenia
w razie cofniecia do formularza1 w punkcie 2 sprawdzasz zawartość sesji
i w punkcie 3 wyswietlasz w formularzu to co zostało już wczesniej
wprowadzone
ale zdecydowanie lepszą grupą na tego typu dyskusje byłaby pl.comp.lang.php
--
Piotr Siudak
s...@x...pl