Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: <<wstecz<< jestem tutaj >>nastepny>>
Forum PHP.pl > Forum > PHP
devint
hej

dokopalem sie do tysiaca sposobow jak resetowac zawartosc po wcisnieciu WSTECZ itp, ale mi chodzi o formularz w kilku etapach (3 i wiecej) z dosc duza iloscia okien typu input.

Jak to wszystko wrzucic do jakiegos cache zeby bedac w form 2 lub 3 swobodnie wrocic do 1 a pozniej ponownie do 3.

Jesli macie namiary na wlasciwe tutoriale to bardzo prosze, bo caly czas reset i reset bleeeeee

milego dnia
dev
nospor
Takie rzeczy do raczej po stronie serwera robisz np. w php. Trzymasz wszystkie dane pol w sesji i w zaleznosci na jakiej stronie jestes, takie pola wypelniasz z sesji.

Jesli nie oto ci chodzilo, daj znac. jesli oto, to tez daj znac to przeniose na php smile.gif
devint
Chyba TAK - O to mi chodzilo - juz w trakcie pisania zaczalem myslec sesje sesje sesje

Po prostu moje mysli kierowaly sie do javascript jako uzupelnianie formularza i chyba chcialem przekombinowac, jednak jesli ktos wie jak to zrobic bez sesji to z checia uslysze.

pozdr

A wiec przenosze na php
---
nospor
defrost
Borykam się z podobnym problemem. Trzymam wszystkie zmienne w sesji jednak edycja juz wstawionego rekordu do formularza jest niemożliwa, gdyż dane te są zarejestrowane w sesji.
Formularz ma 3 strony, na 4 jest podsumowanie. Stwierdzam błąd na stronie np. 2, przechodze tam i wstawiam nowe dane - na podsumowaniu wyświetla mi nadal stare dane.

Czy ktoś wie jak to rozwiązać?
devint
musialbys chyba ponownie rejestrowac te zmienna sesji ktora edytowales, tak mi cos swita, ale pewnie jak tutejsi guru zobacza te metne tlumaczenie to Ci wyprostuja smile.gif

pozdr
NoiseMc
Ja bym zrobił tak:

Obiekt przechowujący tablicę asocjacyjną np.:
  1. <?php
  2. $arrForm['txtImie'] = 'Imię';
  3. ?>


Za każym wysłaniem odserializowanie obiektu zakodowanego base64 i umieszczenie w polach formularza wartości z tablicy przechowywanej w obiekcie ewentualnie wrzucenie do tablicy danych z wyslanego formularza po czym serializacja, zakodowanie i wrzucenie ciągu base64 w ukryte pole formularza, które jest przesyłane pomiędzy stronami
(rozwiązanie to w ASP.NET jest znane jako __VIEWSTATE)
defrost
Wszystko brzmi magicznie.
Może przedstawię kod jak chciałem to zrobić to będzie łatwiej.
Na przykładzie 3 stron, 2 mają formularz a trzecia wyświetla wprowadzone dane i wprowadza je do bazy MySQL.

Strona index.php
Na początku includuję plik session.php:
  1. <?php
  2. $txt1 = $_GET['txt1'];
  3. $txt2 = $_GET['txt2'];
  4. $txt3 = $_GET['txt3'];
  5. $txt4 = $_GET['txt4'];
  6. $txt5 = $_GET['txt5'];
  7. ?>

Potem w treści strony:
  1. <form name="txt01" action="form.php" method="GET">
  2. <p>Imie i nazwisko<br>
  3. <input type="text" name="txt1" /><br>
  4. Stanowisko:<br>
  5. <input type="text" name="txt2" /><br>
  6. Firma:<br>
  7. <input type="text" name="txt3" /><br>
  8. <input type="submit" value="dalej" /></p>
  9. </form>

Na stronie form.php mam takie coś:
  1. <?php
  2. include("session.php");
  3. echo $txt1."<br>";
  4. echo $txt2."<br>";
  5. echo $txt3."<br>";
  6. ?></p>
  7. <form name="txt02" action="form2.php" method="GET">
  8. Dane - <input type="text" name="txt4" /><br>
  9. Dane - <input type="text" name="txt5" /><br>
  10. <input type="submit" value="dalej" />
  11. </form>

Na koniec na stronie form2.php:
  1. <?php
  2. include("session.php");
  3. echo $txt1."<br>";
  4. echo $txt2."<br>";
  5. echo $txt3."<br>";
  6. echo $txt4."<br>";
  7. echo $txt5."<br>";
  8. ?></p>



Prosze używać odpowniego bbcode
poprawiam
---
nospor

OK. Następnym razem będe uważał.
Niestety dane wprowadzone na stronie index.php pojawiają się jako wprowadzone na stronie form.php jednak kiedy wypełnię form na stronie form.php i przejdę na strone form2.php ślad po nich zanika.

Czy sesja nie powinna ich trzymać? A może jest jakiś inny posób na to, żeby wypełnić formularz na stronie np. index.php i po przejściu przez wszystkie podstrony wrócić do strony index.php i zmienić/poprawić te dane?

Dodam, że docelowo pól formularza będzie blisko 100 sad.gif

Dzięki za wszelkie sugestie.
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.