Portál AbcLinuxu, 10. května 2025 02:32

Dotaz: PHP - nefunkcni empty

5.12.2008 00:24 Jirka T
PHP - nefunkcni empty
Přečteno: 663×
Odpovědět | Admin

ahoj

mam podminku

$size = $_GET['size'];
$url = $_GET['url'];

 

if (empty($size) || empty($url)) { 

..............

..........

a pokud mam v url treba

http://domain.ltd/index.php?url=ggdfgdsfgdgd56fg4d56g4fg&size=10

tak podminka funguje OK

pokud ale bude v url

http://domain.ltd/index.php?url=ggdfgdsfgd#gd56fg4d56g4fg&size=10 //proste promena url obsahuje znak #
 

tak podminka se chova, jako by promena GETurl vubec neexistovala??

Jak to mam ocetrit kdyz potrebuji ceou url zachovat?

 

diky

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

5.12.2008 00:44 Andrej Herceg | skóre: 43
Rozbalit Rozbalit vše Re: PHP - nefunkcni empty
Odpovědět | | Sbalit | Link | Blokovat | Admin
Nesmie tam byť ten znak # (teda môže, ale časť za tým znakom sa berie ako identifikátor elementu a nie ako url, takže to robí presne to, čo to robí). :)

Na reťazce, ktoré môžu obsahovať znaky, ktoré nemôžu byť v URL treba použiť funkciu urlencode (alebo niečo podobné). Ten znak je potom v URL nahradený reťazcom %23. ;)
5.12.2008 00:55 Jirka T
Rozbalit Rozbalit vše Re: PHP - nefunkcni empty

ale pak takova url prohnana pres urlencode(); nejde pouzit v prohlizeci, ne?

 

diky 

5.12.2008 01:37 Andrej Herceg | skóre: 43
Rozbalit Rozbalit vše Re: PHP - nefunkcni empty
Tá funkcia sa nemôže použiť na kompletné url. Musí sa použiť na každú časť zvlášť (inak by to nahradilo aj znaky ?, &...).

Teda v tomto konkrétnom prípade by to vyzeralo nejako takto:
echo "http://domain.tld/index.php?url=" . urlencode($url) . "&size=" . $size;
5.12.2008 16:04 Jirka T
Rozbalit Rozbalit vše Re: PHP - nefunkcni empty

jj, uz to jde, poslu to pres urlendcode(); a na druhe strane tu promenou zase vratim pres urldecode(); zpet a je po problemu..

Diky za pomoc.. 

5.12.2008 16:49 Andrej Herceg | skóre: 43
Rozbalit Rozbalit vše Re: PHP - nefunkcni empty
Php použije urldecode pri super-globálnych poliach $_GET a $_REQUEST automaticky (takže použiť urldecode ešte raz nemusí byť dobrý nápad).
5.12.2008 17:28 Jirka T
Rozbalit Rozbalit vše Re: PHP - nefunkcni empty

Aha, a ja uz dve hodiny hledam, kde se to prevadi na urldecode kdyz to mam zakomentovane..

 

diky za upozorneni ;) 

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.