Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jak przekazać dalej wszystkie zmienne $_POST
Forum PHP.pl > Forum > PHP
Vasquez21
Witam

Mam następującą sytuację.
Użytkownikowi pojawia się formularz w którym ma wiele pól typu input po zatwierdzeniu wszystkie dane wysyłane są metodą $_POST do popupa, w którym zczytuję je sobie, wyświetlam na ekranie i czekam na potwierdzenie.
W momencie kiedy użytkownik potwierdzi chciałbym jeszcze raz puścić pętlę po wszystkich przekazanych elementach i wpisać je do bazy.
Problem w tym, że po tym jak user naciśnie przycisk formularz jest przeładowywany a wcześniej przekazane dane znikają.

Wiem, że mogę to zrobić zapisując ponownie wszystkie dane i np. przypisując do ukrytych innput'ów. Zastanawiam się po prostu czy jest jakieś szybsze rozwiązanie.
gac3k
serialize() i unserialize() albo zwyczajnie zapisz całą tablicę posta w sesji i jedziesz smile.gif
MateuszS
Albo w ostateczności input hidden w drugim formularzu z wartością poprzedniego POSTa.
erix
Cytat
w drugim formularzu z wartością poprzedniego POSTa.

No tak, i dawaj dodatkowe, zbędne sprawdzanie poprawności.

Cytat
Wiem, że mogę to zrobić zapisując ponownie wszystkie dane i np. przypisując do ukrytych innput'ów. Zastanawiam się po prostu czy jest jakieś szybsze rozwiązanie.

Ja to realizuje w taki sposób - zważywszy na to, że żądań może być kilka (ktoś otworzy sobie kilka kart), to bezpośrednie wrzucanie do sesji odpada. Każda instancja u użytkownika nadpisze poprzednią.

Rozwiązaniem jest zserializowanie z asocjacją na unikalny token - przekazujesz przez np. GET identyfikator żądania i wtedy wystarczy sprawdzać, czy przed przetwarzaniem takowy występuje. Jeśli tak - wykonujesz zwyczajne przepisanie. [;
gac3k
Cytat
Rozwiązaniem jest zserializowanie z asocjacją na unikalny token - przekazujesz przez np. GET identyfikator żądania i wtedy wystarczy sprawdzać, czy przed przetwarzaniem takowy występuje. Jeśli tak - wykonujesz zwyczajne przepisanie. [;


No to jak już tak sobie rozważamy smile.gif to sesji też możesz sobie ustalić unikalny token, i go sprawdzać, jednakże ciężko mi sobie w ogóle wyobrazić sytuację o której mówisz, bo dane w sesij byłyby zapisywane po wysłaniu formularza więc co ma tu do rzeczy otworzenie kilku kart smile.gif
erix
Prosta sytuacja: otwieram w dwóch kartach ten sam formularz. Wypełniam jeden, nie czekam na wysłanie, wypełniam drugi i też wysyłam. W obu oknach jest prośba o potwierdzenie. Bez rozróżnienia na tokeny żądania, przetworzony zostanie wyłącznie ostatni formularz. KPW? wink.gif
gac3k
KPW smile.gif , ale nie zmienia to faktu że możesz sobie stworzyć tablicę z kluczem asocjacyjnym w sesji, i będzie chyba nawet bardziej optymalnie niż taka serializacja.
erix
Ech, racja - za duży skrót myślowy. wink.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.