Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> <<wstecz<< jestem tutaj >>nastepny>>, jak NIEresetowac zawartosci?
devint
post
Post #1





Grupa: Zarejestrowani
Postów: 68
Pomógł: 0
Dołączył: 16.05.2005

Ostrzeżenie: (10%)
X----


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
Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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 (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
devint
post
Post #3





Grupa: Zarejestrowani
Postów: 68
Pomógł: 0
Dołączył: 16.05.2005

Ostrzeżenie: (10%)
X----


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
Go to the top of the page
+Quote Post
defrost
post
Post #4





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 24.03.2003
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


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ć?
Go to the top of the page
+Quote Post
devint
post
Post #5





Grupa: Zarejestrowani
Postów: 68
Pomógł: 0
Dołączył: 16.05.2005

Ostrzeżenie: (10%)
X----


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 (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

pozdr
Go to the top of the page
+Quote Post
NoiseMc
post
Post #6





Grupa: Zarejestrowani
Postów: 398
Pomógł: 10
Dołączył: 24.11.2004
Skąd: Łódź

Ostrzeżenie: (0%)
-----


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)

Ten post edytował NoiseMc 30.11.2005, 22:24:56
Go to the top of the page
+Quote Post
defrost
post
Post #7





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 24.03.2003
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


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 (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)

Dzięki za wszelkie sugestie.

Ten post edytował defrost 7.12.2005, 14:45:39
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 09:03