lord_t
9.07.2008, 13:10:41
Elo,
próbuję ukryć zmienne w adresie, tzn żeby zamiast
domena.pl/index.php?a=1&b=domek widoczne było:
domena.pl/Mam tylko jeden plik: index.php (on wczytuje konkretne podstrony przez include).
Zrobiłem coś takiego:
1)Na stronie (index.php) aktywuję link, którego href to np.
http://domena.pl/index.php?a=1&b=domek .
2)Wykrywam, że jest coś w _GET, jeśli tak, to przepisuję _GET do _SESSION, po czym robię przekierowanie znowu do index.php.
3)W index.php odczytuję sobie np. ze _SESSION['b']=domek więc includuję domek.php.
To działa, ale mam obiekcje co do przycisku wstecz. W FF(sprawdzalem w 2) i IE (sprawdzalem w 6) po kliknięciu na link wchodzi odpowiednia strona, ale nie działa przycisk wstecz (tzn. tak jakby nie weszła inna strona).
W Operze można się cofnać klikając wstecz.
Pytanie: dlaczego w FF i IE nie działa wstecz?
scanner
9.07.2008, 13:20:26
Ja mam ogólnie obiekcje co do Twojego sposobu działania. Każde kliknięcie w link spowoduje wywołanie dwu requestów do serwera - to już z samego założenia jest nie do przyjęcia.
Pytanie czemu aż tak bardzo chcesz komplikować sobie życie?
Kocurro
9.07.2008, 13:21:57
Zamień wywołania GET na wywołania POST używając formularzy do nawigacji.
pozdr.
lord_t
9.07.2008, 13:22:47
Scanner, po to żeby w pasku adresu cały czas była pokazywana tylko domena główna. Chętnie dowiem się jak to można zrobić prościej/lepiej.
Kocurro, zrobiłem get, żeby nie robić formularzy.
scanner
9.07.2008, 13:24:42
Na szybko - maskowanie adresu z użyciem IFRAME. Po szczegóły zapraszam do wyszukiwarki.
lord_t
9.07.2008, 13:25:29
Właśnie iframe nie chcę ruszać.
luki100011
9.07.2008, 13:27:09
Tak nie ukryjesz bo użytkownik musi kliknąć link z zmiennymi które chcesz ukryć w sesji więc i tak on je może podejrzeć przed kliknięciem.
Kiedyś maskowano to za pomocą ramki. Dajesz ją na całą stronę a w niej wyświetlasz treści, użytkownik cały czas widzi w pasku adresu www.domena.pl. Oczywiście nie niknie problem z pierwszego akapitu, ale to najłatwiejszy sposób.
Kiedyś pamiętam tak PRV.PL umożliwiało maskowanie adresu stron.
Jak to nie jest jasne zobacz mój środkowy link w podpisie. Zawsze widać tylko nazwę domeny a popatrz na co klikasz.
lord_t
9.07.2008, 13:37:44
luki100011, ja wiem, że będzie widać ten link np. w pasku stanu, ale to nie istotne. Chcę osiągnąć to o czym pisałem dla paska adresu tylko. Bez iframe'a i ajaxa.
qrees
9.07.2008, 15:22:36
Cytat(lord_t @ 9.07.2008, 14:37:44 )

luki100011, ja wiem, że będzie widać ten link np. w pasku stanu, ale to nie istotne. Chcę osiągnąć to o czym pisałem dla paska adresu tylko. Bez iframe'a i ajaxa.
bez iframe'a, ani bez ajaxa się nie da. Parametry w GET są z założenia umieszczane w adresie strony. Dałoby się zrobić żeby adres nie wyświetlał się na pasku stanu, ale na pasek adresu nic nie poradzisz.
lord_t
9.07.2008, 16:52:08
No jak nie jak sobie poradziłem O_o. Tylko ta nieścisłość przeglądarek: wstecz jest albo nie.
qrees
9.07.2008, 17:45:04
Cytat(lord_t @ 9.07.2008, 17:52:08 )

No jak nie jak sobie poradziłem O_o. Tylko ta nieścisłość przeglądarek: wstecz jest albo nie.
[EDIT]
Przeczytałem pierwszy post i się wyjaśniło
Kocurro
9.07.2008, 17:52:01
O kurcze czyżbym dał prawidłowe rozwiązanie a inni mnie olali - o jejku ... błądzicie a najprostszego nie zrobicie

pozdr.
klocu
9.07.2008, 17:57:52
Poprawne tak, czy takie 100% użyteczne, żeby każdą pierdołę wysyłać POST'em? To już jest kwestia w/g własnego uznania każdego kodera.
Choćby nawigowanie po podstronach robione POST'em?
A nawet jeśli bardzo chcesz coś ukryć, to jeśli ktoś będzie zdeterminowany żeby odczytać dane które ślesz to to zrobi.
Więc jaki cel ma takie pseudo maskowanie?
oscar17
9.07.2008, 19:17:20
to może spróbuj z mod_rewrite - możesz 'ukryć' to co wysyłasz GETem przypisując inny adres i przy okazji wygląda ładniej... Chyba że zależy ci bardzo aby wszystkie podstrony miały jednakowy adres...
batman
9.07.2008, 19:40:45
Nie ma innego sposobu niź iframe lub ajax.
1. Zmienne get - sam wiesz jaki jest problem.
2. Zmienne post - przycisk wstecz spowoduje pojawienie się komunikatu o ponownym wysłaniu danych.
3. mod_rewrite tego nie zrobi (gdzieś obiło mi się o uszy, że można ukrywać, ale szukałem i nie znalazłem)
Kocurro
9.07.2008, 20:33:43
Jeśli chodzi o POST'a jak mądrze zrobisz to nie otrzymasz takiego komunikatu

pozdr.
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.