Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jak zczytać kotwicę (anchor) z aktualnego url'a?
Forum PHP.pl > Forum > PHP
Krokodyl
Męczę się z tym dłuższą chwilę, przekopałem manual i nie widzę rozwiązania.
Jak zczytać kotwicę (anchor) z aktualnego url'a

np: http://www.strona.pl?action=new#dodaj

Chodzi o tę część adresu url 'dodaj'.

Czy ktoś może zna rozwiązanie tego problemu?
dr_bonzo
Nie da sie
uruchom sobie plik.php z phpinfo() w srodku i dodaj do adresu #anchor:
http://localhost/plik.php#anchor
i zobaczysz ze w zadnej zmiennej tego nie ma.
thornag
Eee

@dr_bonzo Punkt dla mnie ;-P

See parse_url
Krokodyl
No tak, parse_url() znam, ale ja pytam o aktualny adres, a nie wpisany z ręki.
Ale z tego co widzę to się nie da, bo żadna funkcja w php nie czyta kotwic, przynajmniej z tego co zauwazyłem w manualu. sadsmiley02.gif
kossa
Mając adres ze znakiem hasz # możesz podzieliś tekst za pomocą funkcji operujących na stringach i pobrać to co jest po # a to przecież żaden problem (np. explode)

Łukasz
thornag
  1. <?
  2.  
  3. # Author: Eric O
  4. # Date: July 13, 2006
  5. # Go Zizou!! ohmy.gif)
  6.  
  7. # Creating Automatic Self-Redirect To Secure Version
  8. # of Website as Seen on Paypal and other secure sites
  9. # Changes HTTP to HTTPS
  10.  
  11. #gets the URI of the script
  12. $url = $_SERVER['SCRIPT_URI'];
  13.  
  14. #chops URI into bits BORK BORK BORK
  15. $chopped = parse_url($url);
  16.  
  17. #HOST and PATH portions of your final destination
  18. $destination = $chopped[host].$chopped[path];
  19.  
  20. #if you are not HTTPS, then do something about it
  21. if($chopped[scheme] != "https"){
  22.  
  23. #forwards to HTTP version of URI with secure certificate
  24. header("Location: https://$destination");
  25.  
  26. exit();
  27.  
  28. }
  29.  
  30. ?>


To przyklad z komentarzy do parse_url. Testowalem u siebie, niestety nie dziala.

Dr_bonzo zwracam punkt tongue.gif
php programmer
Jeśli chodzi o samą kotwicę to moze tak?
  1. <?php
  2. $rozbicie = explode('#',$url);
  3. $kotwica = $rozbicie[1];
  4. ?>
dr_bonzo
CZYTAJCIE exclamation.gif! CZYTAJCIE exclamation.gif! CZYTAJCIE exclamation.gif!

Cytat
ale ja pytam o aktualny adres, a nie wpisany z ręki.
kossa
a jaki problem pobrać cały url do zmiennej?

Łukasz


  1. <?php
  2. $url = 'http://uzytkownik:haslo@serwer/sciezka?arg=wartosc#kotwica';
  3. ?>


Powyższy przykład wyświetli:

  1. <?php
  2. (
  3. [scheme] => http
  4. [host] => serwerer
  5. [user] => uzytkownik
  6. [pass] => haslo
  7. [path] => /sciezka
  8. [query] => arg=wartosc
  9. [fragment] => kotwica
  10. )
  11. ?>
dr_bonzo
Cytat
a jaki problem pobrać cały url do zmiennej?

OMFG

[dla niekumatych]:
* utworzcie na swoim lokalhoscie w / plik anchor.php
* w przegladarce otworzcie http://localhost/anchor.php#nieumiemczytac
* napiszcie tresc skryptu ktory odczyta wartosc kotwicy i wypisze ja
* dajcie refresh: powinno sie pokazac: nieumiemczytac
* zmiencie nazwe pliku na daertnaci.php
* w przegladarce otworzcie http://localhost/anchor.php#tylkobezhardcoding
* powinno sie pokazac: tylkobezhardcoding

Jesli wam sie uda -- przedstawcie rozwiazanie

Kolejne posty mowiace o podzieleniu stringa wg. '#' (nie mowiace jak pobrac URL z paska adresow) bede traktowal jako nabijanie postow --> kara --> warn + 1
[/dla niekumatych]
Krokodyl
Dziękuję doktorze, że przynajmniej ty czytasz uważnie.
Niestety stwierdziłem, że jeszcze nie czas na okulary.
Po prostu jest dziura w php (a może nie, ale ja nie znalazłem w manualu odpowiedzi - natomiast wszyscy mi polecaja parse_url() = wirtualny przykład w przypadku [fragment]) ale czytanie kotwicy z aktualnego adresu byłoby zalecane w kolejnej wersji!
Może da się przez JavaScript jakoś przekazać, ale przecież nie o to chodzi.
rolleyes.gif
sam73v
Można bezpośrednio wyciągnąć kotwicę za pomocą JS

  1. <script language="JavaScript"> alert(document.location.hash); </script>
Cysiaczek
Zauważyłeś może, datę tego wpisu? Zamykam
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.