![]() |
![]() ![]() |
![]() |
--void-- |
![]()
Post
#1
|
Goście ![]() |
Witam. Chciałbym się dowiedzieć, jak mogę sie zabezpieczyc przed naciskaniem przycisku Wstecz w przeglądarce.
Mam plik index.html, w nim formularz HTML i przesyłam go POSTem do pliku wynik.php. Kiedy ktoś wprowadzi dane do formularza, kliknie na Wyślij, a potem naciśnie Wstecz, to znowu ujrzy formularz (z wprowadzonymi danymi, jeśli je zmodyfikuje, to będzie mógł znow kliknąć na Wyślij i zobaczy inną stronę wynik.php (znaczy strona ta sama, ale dane inne). A ja chcę, żeby po kliknięciu na Wstecz dalej pozostawał na stronie wynik.php, niezależnie od ilości kliknięc na ten przycisk (czyli tak jakbym w historii nieskończenie wiele razy dodawał wpis o odwiedzeniu strony wynik.php), ewentualnie może przechodzić do jeszcze poprzedniej strony, to znaczy tej, z której przyszedł jeszcze przed index.html (chcę po prostu, żeby już nie mógł zobaczyć strony index.html). Jeśli ktoś poda rozwiązanie, które wygasa po zamknięciu przeglądarki (a po ponownym otwarciu znów będzie można oglądać index.html), to też nie bedzie źle. Nie wiem, czy mam sie bawic sesjami, czy czym... |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 856 Pomógł: 19 Dołączył: 30.08.2005 Skąd: 100lica Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
--void-- |
![]()
Post
#3
|
Goście ![]() |
Heh, no właśnie też wpadłem na sesje i dziwnie sie dzieje...
Czasem działa, a czasem nie... Coś źle robię? Nie zmieniam kodu, i przy jednym uruchomieniu Wstecz działa normalnie, a przy drugim tak jak ja bym chciał... Sesje ogólnie dziwnie się zachowują w różnych przeglądarkach i przy różnych ustawieniach, a nawet... przy tych samych ustawieniach i tym samym kodzie, w tej samej przeglądarce... :/ Nie rozumiem, ale może lepiej zrobić to cookiesami? Tylko nie wiem, jak miałoby to wyglądać... A jeżeli z sesjami to ja coś robię nie tak, to napiszcie... Ale ja nie wiem... Kod mam chyba ok, bo czasem działa... Chyba nawet nie ma potrzeby, zebym go tu wciskał...to parę linijek tylko. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 611 Pomógł: 19 Dołączył: 28.02.2005 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
shoł mi kod bedzie łatwiej pomóc :]
|
|
|
--void-- |
![]()
Post
#5
|
Goście ![]() |
if (!$_SESSION['licznik'])
// strona jest odwiedzana po raz pierwszy { $_SESSION['licznik'] = 0; // początkowe ustawienie licznika } if ($_POST) { // właściwa treść wyniku jaki ma być wyświetlony po wpisaniu danych // ta treść nie ma nic wspólnego z sesjami } else { // coś, co ma być wyświetlane w przypadku naciśnięcia Wstecz już po wypełnieniu formularza // czyli zamiast formularza z wpisanymi wynikami mogę napisać np. // echo 'Już wypełniłes formularz, nie możesz tego zrobić drugi raz!'; } if ($_SESSION['licznik'] == 0) { // formularz $_SESSION['licznik'] = 1; } [/php] Chyba trochę zamotałem ten kod (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 856 Pomógł: 19 Dołączył: 30.08.2005 Skąd: 100lica Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
--void-- |
![]()
Post
#7
|
Goście ![]() |
Niestety, dziala dokładnie tak jak mój kod, i to we wszystkich przeglądarkach. Po naciśnięciu wstecz działa standardowo - wyświetla formularz z wpisanymi danymi, i to we wszystkich przeglądarkach. Kod:
A może jednak cookies? |
|
|
--void-- |
![]()
Post
#8
|
Goście ![]() |
Z $_COOKIE też próbowałem, i działają dokładnie tak samo jak sesje w tym przypadku.
Nie ma na to sposobu? (IMG:http://forum.php.pl/style_emoticons/default/sadsmiley02.gif) (IMG:http://forum.php.pl/style_emoticons/default/wstydnis.gif) |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 856 Pomógł: 19 Dołączył: 30.08.2005 Skąd: 100lica Ostrzeżenie: (0%) ![]() ![]() |
ustaw w metatagach zeby nie czytal strony z cache przeglądarki to moze pomoze
|
|
|
--void-- |
![]()
Post
#10
|
Goście ![]() |
cytat z kurshtml.boo.pl:
Niestety przegladarki często po prostu ignorują powyższe polecenia, a więc całkowitej pewności nie będzie raczej nigdy :-( Niestety, to prawda - wszystkie zgodnie olewają <meta> (chyba, że nie takie mety wstawiłem) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 27.08.2025 - 07:16 |