Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> kasowanie zawartości formularza przy refreshu, lub przejściu dalej i cofnięciu
Najki
post
Post #1





Grupa: Zarejestrowani
Postów: 190
Pomógł: 0
Dołączył: 12.02.2004
Skąd: Poznań

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


Ciekaw jestem czy też macie taki problem, a może nawet znaleźliście rozwiązanie ku temu.

Załóżmy, że mamy zalogowanego użytkownika (na sesji), który np. próbuje napisać newsa przez panel na stronie (form, input, textarea). Taki user klika w jakiś link i przechodzi na inną stronę, ale zaraz chce kliknąć w przeglądarce 'cofnij' i wrócić do wpisywanej treści newsa, lub prościej - po prostu odświeża okno przeglądarki. I co widzi? Nic, bo wszystkie pola formularza się wyczyściły, lub przybrały wartość z value="cos tam".

Napewno nie jeden z Was tak miał. Co na to poradzić? Wiem, że może ktoś powiedzieć, że to nie ten dział, że to bardziej HTML, tymczasem robiąc stronę w HTML nie dzieje mi się coś takiego, a w php/HTML tak. Proszę o pomoc, bo to się staje irytujące...
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 8)
hwao
post
Post #2


Developer


Grupa: Moderatorzy
Postów: 2 844
Pomógł: 20
Dołączył: 25.11.2003
Skąd: Olkusz




Mozna do Cookie to wrzucac w JS zawsze:)
Jedyne co mozna w php kminic to
  1. <?php
  2. echo '<input name=\"cos\" value=\"'.@$_POST['cos'].'\"/>';
  3. ?>


jezeli to nie pomaga w gre wchodzi tylko JS + cookie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
Najki
post
Post #3





Grupa: Zarejestrowani
Postów: 190
Pomógł: 0
Dołączył: 12.02.2004
Skąd: Poznań

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


No tak, ale trzebaby zapisywać cookie przez JS po wpisaniu każdego znaku, a to chyba trochę nie na rękę ;>. No ale nie rozumiem, dlaczego jeszcze nikt nie podał innego rozwiązania, skoro inne rozwiązanie jest napewno możliwe. No bo weźmy jako przykład właśnie tutejsze forum (IPB), albo najpopularniejsze phpBB. Zarówno tam, jak i tu, odświeżanie nie kasuje wpisanej do pola treści. Napewno jest jakiś sposób, ale dotyczasowa analiza kodu phpBB mi nie pomogła jakoś.
Go to the top of the page
+Quote Post
rml
post
Post #4





Grupa: Zarejestrowani
Postów: 116
Pomógł: 0
Dołączył: 13.03.2005

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


ja takie dane wrzucam do informacji o sesji i w momencie powrotu usera sprawdzam w sesji czy juz byl na tej stronie, a jesli byl wstawiam odpowiednie dane z sesji w value (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

nie wiem czy to dobre rozwiazanie, ale u mnie dziala bardzo dobrze (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

a poza tym walcze wlasnie z header(), ktore za cholere nie chce mi pomoc w czyszczeniu posta i geta (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) ale to szczegol (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)


pozdrawiam,
rml.
Go to the top of the page
+Quote Post
Najki
post
Post #5





Grupa: Zarejestrowani
Postów: 190
Pomógł: 0
Dołączył: 12.02.2004
Skąd: Poznań

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


Znalazłem pomoc, ale niestety na innym, mniej lubianym, forum (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) .

Dla zainteresowanych: http://forum.webhelp.pl/viewtopic.php?t=88120
Go to the top of the page
+Quote Post
hawk
post
Post #6





Grupa: Zarejestrowani
Postów: 521
Pomógł: 0
Dołączył: 3.11.2003
Skąd: 3city

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


Hmm, podany wątek na nielubianym (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) forum opisuje rozwiązanie w php. A tu mamy do czynienia z refreshem, lub po prostu kliknięciem przycisku "wstecz".

BTW, u mnie na Firefoxie kliknięcie "wstecz" nie usuwa wpisanych poprzednio treści. Nie tylko na naszym forum. Odświeżanie tak samo.

Wracając do problemu: jeżeli rzeczywiście przeglądarka nie zapamiętuje wpisanych danych, można spróbować wykorzystać zdarzenie odpalane przy wyjściu ze strony. Niestety, było to chyba MSIE-only.

Jeżeli na niektórych stronach tak się tobie dzieje, a na innych nie, to prawdopodobnie powodem jest jakiś header no-cache lub inny, albo przeglądarka inaczej traktuje POST niż GET.
Go to the top of the page
+Quote Post
areekz
post
Post #7





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 19.04.2005

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


Ja mam podobny problem z formularzem. Po wpisaniu informacji do formularza i po wyslaniu tych danych do innej strony, nie moge nacisnac WSTECZ w IE bo wyswietla sie info ze nie ma strony. Oczywiscie ten problem tyczy sie tylko stron z wykorzystaniem funkcji session_start(). W odpowiedzi dostalem wiadomosc ze to w IE normalne i mozna to obejsc uzywajac javy script, ale nie wiem dokladnie jak.
Go to the top of the page
+Quote Post
Spirit86
post
Post #8





Grupa: Zarejestrowani
Postów: 607
Pomógł: 23
Dołączył: 8.09.2004
Skąd: Wrocław

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


nie wiem czy znacie rozwiązanie z Mambo OS.
mianowicie przy edycji, dodawaniu itp. aby przejść na inną stronę należy zaakceptować confirma z JS. Moim zdaniem to jest najlepsze rozwiązanie (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
j00seph
post
Post #9





Grupa: Zarejestrowani
Postów: 54
Pomógł: 0
Dołączył: 3.10.2004
Skąd: Taka wiocha koło Cieszyna :P

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


areekz
Mam rozwiazanie na tego IE:
na poczatku strony dajesz (ja formularze 6 - jeden z adrugim mam inkludowane):
  1. <?php
  2. header(&#092;"Cache-control: private\");
  3.  
  4. ?>


i teraz bezproblemowo mi wraca poprzes window.history.back


Ps. Zapraszam do klikania(250 klikow i jest licencja na Opere) :
http://my.opera.com/J00nash/affiliate/

Ten post edytował j00seph 21.04.2005, 11:48:48
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: 24.08.2025 - 00:00