Mam witrynę CodeIgniter, która przypisuje użytkownikom UUID po trafieniu strony docelowej. Ponowne załadowanie strony docelowej spowoduje przypisanie nowego identyfikatora UUID, ale gdy zaczniesz przechodzić przez kolejne formularze, Twój identyfikator UUID pozostanie niezmieniony. Jednak coś się dzieje, nie bardzo rozumiem, kiedy użytkownik kliknął przycisk Wstecz, a zachowanie jest inne w zależności od adresu URL, z którego przybyli?Przycisk Wstecz nie odświeża strony, jeśli URL zawiera parametry GET lub końcowy ukośnik?
Przypadek 1: domain.com/somehash?key=value
LUB domain.com/somehash/
Jeśli przyjedziesz z powyższym URL zawierający parametr GET, przedstawia pierwszą formę (zawiera UUID), a następnie naciśnij przycisk wstecz, powrót do strony docelowej, ale Twój UUID się nie zmienia.
Przypadek 2: domain.com/somehash
bez parametrów GET, jeśli przedstawi pierwszą formę (zawiera UUID) i naciśnij przycisk Wstecz, aby powrócić do strony docelowej i otrzymać nowy UUID.
Testowałem to w najnowszych przeglądarkach Chrome i Firefox, czy jest to powiązane z jakąś strategią buforowania, którą implementują? Idealnie trafienie z powrotem NIE odświeżyłoby strony.
EDIT: Należy zauważyć, że nie może używać cookies do tego narzędzia, więc sesje są obecnie
Dalsze edit: Po prostu zamiar domain.com/
, dodając odwrotny ukośnik, zatrzymuje UUID z orzeźwiający podczas naciśnięcia przycisku Wstecz. Prawdopodobnie związane z CodeIgniter routes.php lub .htaccess?
Istotne .htaccess wpisów:
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?/$1 [L]
Routes.php:
$route['default_controller'] = "home";
$route['404_override'] = '';
$route['(:any)'] = 'home/index/$1';
użyj sesji() – Vector
Gdzie przypisujesz UUID, php lub JS? – Justin
PHP, generowane w kontrolerze, zanim zostanie przekazane do widoku w CI. – xref