Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]zmienna ze znakiem "&"
Forum PHP.pl > Forum > Przedszkole
xqwzts
Cześć,
Być może moje pytanie jest głupie (choć ponoć takich nie ma), ale nigdzie nie mogę znaleźć odpowiedzi jak to zrobić, a w php (i ogólnie programowaniu) jestem na poziomie czterolatka.
Mam zakładkę, która ma robić za prosty przekierowywacz na zasadzie adres.pl/przekieruj=drugiadres.pl, a tam:
  1. if (isset($_GET['przekieruj'])){$url=$_GET['przekieruj'];}
  2. itd...

Wszystko działa do momentu aż w adresie, na który przekierowuję pojawia się znak & - wtedy url oczywiście urywa się Jak mogę to obejść?
markuz
Najpierw używasz urlencode i wysyłasz zakodowany URL.
Potem odbierasz url i używasz urldecode do odkodowania.
xqwzts
a da się to zrobić w inny sposób? url-e są pobierane z różnych miejsc i nigdzie nie są encodowane
trueblue
Właściwie to nie URL musisz enkodować, ale samą zmienną zawierającą ten znak. A gdybyś enkodował URL wtedy zmienna byłaby podwójnie enkodowana.

Do czego masz dostęp?
xqwzts
dostaję już finalny adres strony w adresie mojego "przekierowywacza", czyli jak w przykładzie: mojastrona.pl/przekieruj=adres i nie mam wpływu na wartość "adres"
dlatego myślałem, że z $_GET['przekieruj']) sobie spokojnie wezmę url, ale nie przewidziałem & w adresie...
robert0770
jezeli masz & to moze być problem drugiej zmiennej get, i widzi ją jako np 2 zmienne, spróbuj rewritemodem cos w rodzaju cos.pl/przekieruj/adresz&&&
Pyton_000
jeśli nie masz wpływu na adres który dostajesz to jedynie pozostaje Ci podczas klikania na taki link w JS spróbować wyciąć ten adres, zrobić encode i przejść pod nowy adres.
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.