Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [inne][PHP]Wartość parametru w adresie URL zawierająca spacje
Forum PHP.pl > Forum > Przedszkole
Demoneos
W adresie URL przesyłam parametr, które wartość zawiera spacje, np:
  1. http://site.com/?name=good luck

i teraz w zmiennej $_REQUEST['name'] jest nie "good luck", a tylko "good" (czyli pierwszy wyraz przed spacją).
Czy można więc jakoś przesłać w adresie URL parametr, którego wartość zawiera w sobie spacje?
by_ikar
urldecode oraz urlencode
Demoneos
Wysyłam więc adres URL kodując wartość parametru za pomocą funkcji urlencode:
  1. http://site.com/?name=<?php echo urlencode( "good luck" ); ?>

i rzeczywiście po najechaniu myszką na link na pasku statusu przeglądarki jest:
http://site.com/?name=good+luck
czyli + zamiast spacji.
Tyle tylko, że jak to później próbuję odebrać przy pomocji funkcji urldecode:
  1. urldecode( $_REQUEST['name'] )

to nadal otrzymuję tylko pierwszy wyraz przed pierwszą spacją.
Co więc jest źle?

------ EDIT ------
W Example #1 na stronie urldecode widzę,
że tej funkcji urldecode() nie używa się w tak prosty sposób jak myślałem smile.gif
Z tym, że w Example #1 jest błąd, bo zamiast $QUERY_STRING powinno być $_SERVER['QUERY_STRING'] smile.gif

Mogłem więc już po odświeżeniu strony odbierać już całe wartości (wraz ze spacjami) parametrów z adresu URL.
Miałem natomiast zupełnie inny problem - spacje nie działały w funkcji header(). Ale tutaj na forum (komentarz z 10 Aug 06 6:26) ktoś poradził, żeby zmienną zawierającą nazwę pliku otoczyć "podwójnym cytatem":
  1. header('Content-Disposition: attachment; filename="'.$name.'"');

i zadziałało smile.gif
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.