Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] jak pobrac część z adresu
lnn
post 2.02.2010, 11:51:13
Post #1





Grupa: Zarejestrowani
Postów: 361
Pomógł: 11
Dołączył: 17.12.2008
Skąd: LU

Ostrzeżenie: (0%)
-----


witam

czy ktos moze wie jak pobrac z adresu np. http://localhost/strona/index.php?p=profile
zeby wstawić do linku samo index.php?p=profile
bo chciałem utworzyć link w którym dopisywana by była jeszcze jedna zmienna $_GET

EDIT: odnosnie zgodnosci z walidatorem, ampersand sie zapisuje & amp ; ?

Ten post edytował lnn 2.02.2010, 12:04:26
Go to the top of the page
+Quote Post
skowron-line
post 2.02.2010, 12:04:01
Post #2





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

Ostrzeżenie: (0%)
-----


http://pl2.php.net/manual/pl/function.parse-url.php


--------------------
I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy.

QueryBuilder, Mootools.net, bbcradio1::MistaJam
http://www.phpbench.com/
Go to the top of the page
+Quote Post
lnn
post 2.02.2010, 12:45:39
Post #3





Grupa: Zarejestrowani
Postów: 361
Pomógł: 11
Dołączył: 17.12.2008
Skąd: LU

Ostrzeżenie: (0%)
-----


ok dzieki, ale teraz opisze na czym polega moj problem smile.gif

chce sie odwolac do konkretnego pliku tylko bo wiadomo ze katalog jest ten sam, takze mam podac caly adres pobrany za pomoca $_SERVER['REQUEST_URI'] tj. strona/index.php?p=profile w linku czy samo index.php?p=profile zeby dzialalo? chyba w sumie jesli jest pobierane poprzez $_SERVER['REQUEST_URI'] to tak czy tak zadziala gdzie by to nie bylo umieszczone?

drugie pytanie, to jak polaczyc stałe w tej funkcji? tzn ze jesli np chce wyswietlic PATH i QUERY ?
  1. $adres_url = $_SERVER['REQUEST_URI'];
  2. echo parse_url($adres_url, PHP_URL_PATH);

tak dziala a jak zrobic 2 na raz stałe?

zrobilem tak troche naokolo i dziala
  1. $adres_url = $_SERVER['REQUEST_URI'];
  2. $wstaw_adres = parse_url($adres_url, PHP_URL_PATH);
  3. $wstaw_zmienna = parse_url($adres_url, PHP_URL_QUERY);
  4.  
  5. echo '<div class="cell-4_user"><a href="'.$wstaw_adres.'?'.$wstaw_zmienna.'&id='.$pokaz['id'].'">Edytuj</a></div>';


i zauwazylem ze jesli klikam pare razy na link to adres staje sie taki:
http://localhost/strona/index.php?p=profil...p;id=6&id=3

nie przeszkadza to w uzytkowaniu bo zwraca kazda wartosc wywolana oddzielnie, ale tak pytam moze ktos wie o co biega ;P

Ten post edytował lnn 2.02.2010, 12:54:53
Go to the top of the page
+Quote Post
jacek.e3
post 2.02.2010, 13:23:46
Post #4





Grupa: Zarejestrowani
Postów: 20
Pomógł: 6
Dołączył: 2.02.2010

Ostrzeżenie: (0%)
-----


Witam,

Cytat
drugie pytanie, to jak polaczyc stałe w tej funkcji? tzn ze jesli np chce wyswietlic PATH i QUERY ?


Nie podając żadnych flag dostajesz komplet w postaci tablicy:
  1. $parse = parse_url($adres_url);
  2. $path = $parse['path'];
  3. $query = $parse['query'];


Cytat
i zauwazylem ze jesli klikam pare razy na link to adres staje sie taki:
http://localhost/strona/index.php?p=profil...p;id=6&id=3


żeby było porządek musisz pozbyć się powtarzających się zmiennych, np.:

  1. $wstaw_adres = parse_url($adres_url, PHP_URL_PATH);
  2. $wstaw_zmienna = parse_url($adres_url, PHP_URL_QUERY);
  3. // rozdzielam po &
  4. $arr_zmienna = explode('&', $wstaw_zmienna);
  5. // usuwam powtarzające się wpisy
  6. $arr_unique = array_unique($arr_zmienna);
  7. // do adresu dodajesz później osobno &id=, więc też pasuje to wyfiltrować:
  8. for ($i = 0; $i < count($arr_unique); $i++) {
  9. if (preg_match('@^id=@', $arr_unique[$i])) {
  10. unset($arr_unique[$i]);
  11. break;
  12. }
  13. }
  14. // na koniec łączę z powrotem przez &
  15. $unique_query = join('&', $arr_unique);
  16. echo '<div class="cell-4_user"><a href="'.$wstaw_adres.'?'.$unique_query.'&id='.$pokaz['id'].'">Edytuj</a></div>';


pozdrawiam
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 13.07.2025 - 11:17