![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 26 Pomógł: 0 Dołączył: 1.04.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam, mam taki problem:
Mam na stronie zalogowany.php przycisk formularza, po naciśnięciu go przeładowywana jest strona i sprawdzany jest warunek, jeśli warunek jest spełniony to funkcją header w PHP przechodzę na stronę test.php. I teraz mam pytanie, czy da się tak zrobić, żeby po wejściu na stronę test.php przycisk wstecz w przeglądarce nie wskazywał poprzedniej strony (strony zalogowany.php) (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) Nie chciałbym używać blokowania przycisku wstecz, bo to da się obejść, tylko jakoś wyzerować historię przeglądania strony. Z tego co się orientuję, to jeśli jest taka możliwość to zapewne za pomocą javascriptu, dlatego umieszczam moje zapytanie w tym forum. Z góry dzięki za odpowiedzi |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 76 Pomógł: 7 Dołączył: 30.09.2006 Ostrzeżenie: (0%) ![]() ![]() |
hmmm nie da sie w JS manipulować historią, a nawet jeśli w co wątpię, to absolutnie nie jest to wskazane, powiedz co chcesz osiągnąć a wymyślimy rozsądniejsze rozwiązanie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 26 Pomógł: 0 Dołączył: 1.04.2008 Ostrzeżenie: (0%) ![]() ![]() |
Chciałbym osiągnąć to, żeby po wejściu na stronę test.php nie dało się już z niej wejść spowrotem na stronę zalogowany.php inaczej jak tylko poprzez zakończenie testu odpowiednim przyciskiem. A myślę, że może skoro da się poprzez javascript wejść na poprzednią stronę (funkcją history(-1)) to może da się jakoś podmienić tą historię na adres innej strony (np. test.php)
Ten post edytował kryspinus 4.05.2009, 16:24:50 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 76 Pomógł: 7 Dołączył: 30.09.2006 Ostrzeżenie: (0%) ![]() ![]() |
trzymaj w sesji dane od których uzależniasz to czy na stronę można wejść czy nie - jeśli tak to ok, jeśli nie rób redirect (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Sprawa prosta, i to nie musi być sesja.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 26 Pomógł: 0 Dołączył: 1.04.2008 Ostrzeżenie: (0%) ![]() ![]() |
No ok, ale to jednak nie rozwiązuje mojego problemu, bo jeśli ktoś wciśnie wstecz to i tak i tak wejdzie na stronę wcześniejszą bo przeglądarka nie sprawdza wtedy żadnych danych jeśli się nie mylę.
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 76 Pomógł: 7 Dołączył: 30.09.2006 Ostrzeżenie: (0%) ![]() ![]() |
ale PHP może sprawdzić.
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 26 Pomógł: 0 Dołączył: 1.04.2008 Ostrzeżenie: (0%) ![]() ![]() |
trzymaj w sesji dane od których uzależniasz to czy na stronę można wejść czy nie - jeśli tak to ok, jeśli nie rób redirect (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Sprawa prosta, i to nie musi być sesja. Sprawdzałem to dzisiaj i rzeczywiście działa, czyli jak dam wstecz to sprawdzany jest warunek i jeśli nie jest spełniony to znowu jest powrót na stronę, z której chcę wyjść. Jednak jak dam kilka razy wstecz to mnie całkiem wylogowuje, czyli nie do końca jest to rozwiązaniem mojego problemu. Najlepiej by było jakby strony na które wchodzę nie dodawały się do historii. Tak, żeby przycisk wstecz był pusty. Nie wiem tylko czy da się coś takiego zrobić. Ten post edytował kryspinus 8.05.2009, 15:23:48 |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 2 350 Pomógł: 512 Dołączył: 4.01.2009 Skąd: Wrocław / Świdnica Ostrzeżenie: (0%) ![]() ![]() |
Poczytaj o nagłówkach w PHP i ustaw je tak, żeby kazały przeglądarce nie zapisywać cache (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 26 Pomógł: 0 Dołączył: 1.04.2008 Ostrzeżenie: (0%) ![]() ![]() |
Poczytaj o nagłówkach w PHP i ustaw je tak, żeby kazały przeglądarce nie zapisywać cache (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) W manualu znalazłem coś takiego: (Jednak nadal to nic nie daje, nadal można powrócić do strony poprzedniej) Skrypty PHP często służą do generowania dynamiczej treści, która nie może być buforowana przez klienta czy serwer proxy. Pamięć cache (bufor) w większości tych urządzeń da się wyłączyć dzięki: CODE header ("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // data w przeszłości header ("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); // ciągle modyfikowany header("Cache-Control: no-store, no-cache, must-revalidate"); // HTTP/1.1 header("Cache-Control: post-check=0, pre-check=0", false); header("Pragma: no-cache"); // HTTP/1.0 ?> Notatka: Możesz zaobserwować, że strony nie są buforowane, nawet jeśli nie użyłeś wszystkich ww. nagłówków. Jest wiele sposobów, w jakie użytkownicy mogą skonfigurować swoje przeglądarki, aby zmienić standardowy sposób buforowania. Przez wysłanie powyższych nagłówków, powinno się udać ominąć wszystkie ustawienia pozwalające na zbuforowanie wyniku pracy twojego skryptu. |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 251 Pomógł: 2 Dołączył: 24.08.2005 Ostrzeżenie: (0%) ![]() ![]() |
location.replace('test.php') - jezeli tak wejdziesz na podstrone test.php zastapi ona w historii przegladania poprzednia podstrone
Ten post edytował kufalo 8.05.2009, 16:01:24 |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 26 Pomógł: 0 Dołączył: 1.04.2008 Ostrzeżenie: (0%) ![]() ![]() |
location.replace('test.php') - jezeli tak wejdziesz na podstrone test.php zastapi ona w historii przegladania poprzednia podstrone Rzeczywiście działa, dzięki (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) A mam jeszcze pytanie, jest możliwe, żeby od razu zastąpiło mi całą poprzednią historię?? Bo rozumiem, że to zastępuje tylko w historii tą stronę z której przyszedłem, a poprzednie?? |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 02:01 |