Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] jak pobrac część z adresu
lnn
post
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
 
Start new topic
Odpowiedzi (1 - 3)
skowron-line
post
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
Go to the top of the page
+Quote Post
lnn
post
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 (IMG:style_emoticons/default/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
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
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 15:42