Avatar
StrangeR
Člen
Avatar
StrangeR:

Ahoj,
Zkouším udělat takový jednoduchý načítací systém, který pří každém kliknutí v menu na nějaký button přidá za URL #něco a podle toho se přes php načte nějaká určitá stránka, ale problém je v tom, že php vrátí maximálně URL jako index.php?.

Jak to mám tedy udělat tak, aby PHP opravdu vrátilo něco takového: #index, #team, #uploader atd...

Kód, který jsem zkusil:

$_SERVER['PHP_SELF']."?".$_SERVER['QUERY_STRING'];
 
Odpovědět 20.10.2015 11:36
Avatar
StrangeR
Člen
Avatar
StrangeR:

A taky toto:

$new_url = parse_url($_SERVER['REQUEST_URI']);
echo "#".$new_url["fragment"];

Chyba: Notice: Undefined index: fragment in C:\xampp\htdoc­s\index.php on line 7

 
Nahoru Odpovědět 20.10.2015 12:04
Avatar
Richard
Člen
Avatar
Richard:

Píšeš že ten button přidí do url kotvu - čili nedojde k refreshi, je to tak?
Pokud nedojde k refreshi, tak se znovu nespustí php kód který parsuje url. Kotvy můžeš bez refreshe zpracovávat například javascriptem.

Nahoru Odpovědět 20.10.2015 12:25
$action = $_GET['Life']; | Když dáš mínus, napiš proč!
Avatar
shaman
Člen
Avatar
Odpovídá na StrangeR
shaman:

Cast #neco sa nikdy neodosiela z browseru na server. Tym padom nevies zachytit #index, #team, #uploader atd... cez PHP.
Napadaju ma dve moznosti:

1.Javascript to precitat vie. Skus alert(window.lo­cation.hash); Teda mozes spravit nejaky script, ktory to precita a posle na server, napr posle to API alebo spravi ajax volanie. Zalezi na co to potrebujes.
2. Nepouzivat # (hash) ale klasicke query string a tvoj prvy priklad bude fungovat.

Editováno 20.10.2015 12:37
Nahoru Odpovědět 20.10.2015 12:36
try {...} catch (Exception ignored) { echo " ¯\_(ツ)_/¯ "; }
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 4 zpráv z 4.