Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] wymuszenie kolejności wyświetlania stron
Forum PHP.pl > Forum > Przedszkole
esos
Założenia:

- user wchodzi na stronę index.php
- na niej ma linki do strona1.php
- na strona1.php ma linki do strona2.php i strona3.php
- na strona2.php ma linki do strona4.php, strona5.php i strona6.php
- na strona3.php ma linki do strona7.php i strona8.php
- itd...

Szukałem pomysłu jak zrobić, by do stronaX można było dotrzeć jedynie przez przeklikanie przez wcześniejsze strony.

Wymyśliłem, że na index.php będę odpalał sesję i jeśli jej nie ma na stronaX.php - robię redirecta do jakiegoś error.php,
niestety nie zablokuje to możliwości obejścia 'zabezpieczenia' przez odpalenie index.php a później przeskoczenia ręcznie adresem do stronaX.php

Wymyśliłem więc, że każda stronaX wrzuca do sesji informację (identyfikatory stron) do których to stron prowadzi
Kolejna stronaX+1 sprawdza, czy w sesji w ostatnich "poprawnych" stronach do których był dostęp, znajduje się ona sama strona (bo też ma nadany swój identyfikator).

Zakręcone toto jak świński ogon, nie wierzę, że nie da się tego zrobić jakoś prościej.

Czy ma ktoś z Was jakiś pomysł, jak to zrealizować w miarę prosty sposób?
W razie potrzeby jest dostęp do mysql.

Jakieś pomysły? Sugestie? smile.gif
dublinka
Mozesz uzyc tych sesji czemu nie.

Przykladowo na stronie 1.php rejestrujesz sesje o wartosci 1 i teraz klikajac na link i przechodzac do strony 2.php sorawdzasz czy sesja istnieje i ma wartosc 1. I analogicznie dalej podobnie. Przy kazdym przejsciu w warunku uzyj unset(wartosc sesji)

Mozesz tez uzyc $_SERVER['HTTP_REFERER'] ale jak widac nie polecaja tego rozwiazania.

Sprawdz sobie tutaj. Tez podaja wersje z sesjami.

https://stackoverflow.com/questions/3624014...orrectly-in-php
esos
Bardzo dziękuję, od razu łatwiej smile.gif
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.