Autor | Zpráva | ||
---|---|---|---|
hal_sk Profil |
#1 · Zasláno: 3. 1. 2009, 15:28:38
Zdravím. Mám stránku, kde pomocou pomocou formulára zobrazím skupinu položiek (z DB). Keď kliknem na detail položky, prejdem na novú stránku s detailom položky.
A chcel by som práve na tú stránku dať nejaký odkaz pre návrat späť k hladaným výsledkom. Klasický JavaScriptový odkaz <a href="JavaScript:history.back()">Späť</a> ![]() Asi je na to nejaká finta. Sú to $_SESSION, ale je niečo jednoduchšie? |
||
Majkl578 Profil |
#2 · Zasláno: 3. 1. 2009, 15:46:06
<a href="<?php echo $_SERVER['HTTP_REFERER']; ?>">Zpět</a> |
||
hal_sk Profil |
#3 · Zasláno: 3. 1. 2009, 16:00:47 · Upravil/a: hal_sk
Majkl578
To ma síce vráti na stránku o krok vzad, ale bez parametrov, čiže na stránke už nebudú zobrazené výsledky z vyhľadávania. Rozmýšľal som, že by som parametre vyhľadávania mohol dať do URL, ale mám tam diakritiku, takže URL na to neni vhodné. Možno by pomohol skrytý POST formulár s hidden položkami, ale neviem ako tlačítko submit dať do textovej podoby a celkovo sa mi to zdá také krkolomné riešenie. A použitie $_SESSION pre takýto účel sa mi zdá tiež ako kladivo na keramiku. |
||
Majkl578 Profil |
#4 · Zasláno: 3. 1. 2009, 16:47:49 · Upravil/a: Majkl578
zajimave, u me na localhostu funguje referer i s parametry v url. :/
mam debian s php 5.2.6 |
||
hal_sk Profil |
#5 · Zasláno: 3. 1. 2009, 17:12:45
Majkl578
Mám to riešené cez POST, takže žiadne parametere v URL. Ale nedajú sa tie POST informácie nejak preniesť aj po druhý krát (po kliknutí na "späť")? |
||
DomiX Profil |
#6 · Zasláno: 3. 1. 2009, 17:44:59 · Upravil/a: DomiX
Já bych to viděl na SESSION, podle mě to bude asi nejjednodušší...
A neřekl bych, že to je kladivo na keramiku. |
||
DomiX Profil |
#7 · Zasláno: 3. 1. 2009, 17:50:02
No a jestli jsem to pochopil dobře, tak máš nějakej form, kde zadáš parametry, ten odbouchneš a vyhodí to nejakej výsledek a z toho výsledku jdeš pak dál na detail?
Takový krkolomný řešení by asi bylo kliknutím na detail odeslat znovu ten formulář a pak na back ho zase odeslat, ale to by nešlo použít back forward browseru - házelo by to ty hlášky, myslím si, že bez session, aby to bylo rozumný a uživatelsky přívětivý, se neobejdeš... |
||
DomiX Profil |
#8 · Zasláno: 3. 1. 2009, 18:01:30
PS: ono myslím stejně i se session to bude vyhazovat tu hlášku, to je pak potřeba použít něco ve smyslu
header("Location: http://".$_SERVER['HTTP_HOST']./********.php); s tím, že tam bude nějakej "přepínač", kterej bude říkat, jeslti byl formulář odeslán nebo ne... |
||
hal_sk Profil |
#9 · Zasláno: 3. 1. 2009, 18:13:09
To s tím header-om som nepochopil. Dá sa dať tlačítko "submit" do textovej podoby? Skúsim to spraviť pomocou skrytého formulára, na sekcii detailu položky.
|
||
nightfish Profil |
#10 · Zasláno: 3. 1. 2009, 18:16:37
hledání řešené pomocí POST má tu nevýhodu, že se nedá odkázat na stránku s výsledky, takže bych zvážil použití GETu
|
||
hal_sk Profil |
#11 · Zasláno: 3. 1. 2009, 18:21:13
nightfish
A ako pri použití GET vyriešim problém s diakritikou v URL? Čítal som že diakritika sa v URL nemá používať. V formulári mám totiž aj položky s diakritikou. |
||
ninja Profil |
#12 · Zasláno: 3. 1. 2009, 18:38:38
hal_sk: diakritika v URL není žádný problém, jen je potřeba escapovat. viz například: http://www.google.cz/search?q=%C5%BElu%C5%A5ou%C4%8Dk%C3%BD+k%C5%AF%C5%88
|
||
DomiX Profil |
#13 · Zasláno: 4. 1. 2009, 01:04:28
S tím header jsem to myslel takto: (předesílám, že jsem nepochopil, co je myšleno tímto: "...ale neviem ako tlačítko submit dať do textovej podoby...")
Načtu formulářem data (přepokládám, že je to přes POST), a zobrazím a uložím do SESSION, kliknu na detail a zároveň pomocí header přesměruju na stránku s detailem, něco jako refresh (s tím, že detail je už v SESSION, i když to asi není ideální, ale dá se s tím nějak vyhrát) - ten header mi zajistí to, že když dám zpět, tak prohlížeč "zapomene" ten předchozí POST. Ovšem pak toto musíme vyřešit tak, že když někdo dá zpět, tak nedá POST... tzn. data se musejí načíst ze SESSION a ne pomocí POST, takže je potřeba rozlišit, kdy se šlo na data z formuláře a kdy z "odkazu" zpět... Snad se to dá pochopit a snad je to konstrukčně jakž takž dobře ;-) |
||
hal_sk Profil |
#14 · Zasláno: 5. 1. 2009, 23:22:58
ninja
Hmm, to je zaujímavé. Je na to nejaký konvertor (na prevod diakritických znakov na tie %XX) ? |
||
tomas.fejfar Profil * |
#15 · Zasláno: 6. 1. 2009, 15:49:20
urlencode
|
||
Časová prodleva: 14 let
|
0