Autor | Zpráva | ||
---|---|---|---|
Ba Profil * |
#1 · Zasláno: 25. 10. 2010, 15:30:01
Teď už je to hodně pozměněný, protože jsem zkoušel všechno možný i nemožný, ale hazí mi to furt chyby :
Warning: Invalid argument supplied for foreach() Warning: implode(): Bad arguments. if(!empty($_GET['zeme'])) { $polezeme2 = $_GET['zeme']; // všechny hodnoty se vloží do pole $urlParts[] = array(); foreach ($polezeme2 as $k => $v) { $urlParts[] = urlencode($v); } foreach($urlParts as $hodnotyzeme2){ if(!empty($hodnotyzeme2)){ $vystupnipolezeme2[]="zeme=".$hodnotyzeme2; } } $zeme2 = implode($vystupnipolezeme2, "&"); } |
||
Keeehi Profil |
#2 · Zasláno: 25. 10. 2010, 15:33:37
problém bude zde:
$polezeme2 = $_GET['zeme']; // všechny hodnoty se vloží do pole
V proměnné $polezeme2 bude nejspíše nějaký string, ze kterého teprve pole budete muset udělat. Jak vypadá ta adresa? |
||
Ba Profil * |
#3 · Zasláno: 25. 10. 2010, 15:47:38
já si to taky myslel že někde tam bude problém, ale nevim, jak se s tim vypořádat.
Z formuláře to posílám z selectu multiple, objeví se tahle adresa a já se to snažím pak dostat do adresy pro řazení a stránkování. Do databázovýho dotazu to velze v pořádku &zeme%5B%5D=7&zeme%5B%5D=8 |
||
Ba Profil * |
#4 · Zasláno: 25. 10. 2010, 18:55:56
Tak jak teda? Nikdo neví? Docela rád bych na tom začal pracovat, ale teď se nemůžu pohnout dál
|
||
denCo Profil |
#5 · Zasláno: 25. 10. 2010, 19:03:16 · Upravil/a: denCo
skúste dať za $polezeme2 = $_GET['zeme']; toto
print_r ( $polezeme2 ); čo to vypíše inak, mne keď sa stane, že mi niečo nefunguje, ako prvé skúšam premenné, či obsahujú práve to, čo očakávam (vypíšem si ich obsah) |
||
Keeehi Profil |
#6 · Zasláno: 25. 10. 2010, 20:46:10 · Upravil/a: Keeehi
denCo:
Lepší by byl zde var_dump($polezeme2); neboť ukáže, co to vlastně za proměnnou je.
Ba: Když jsem vzal ten tvůj kód z [#1], nakonec napsal echo $zeme2; a spustil script.php?zeme%5B%5D=7&zeme%5B%5D=8, dostal jsem takovýto výsledek: zeme=7&zeme=8
Takže ten kód je správný, a tato adresa taky. Kde přesně ty máš chybu nevím, ale bude se to týkat řádku 4, kde se prostě neobjeví pole. Takže chyba bude asi někde v odkazu na tuto stránku, kde bude problém se špatně generovanou adresou. V zeme%5B%5D=7&zeme%5B%5D=8 oproti vygenerovanému zeme=7&zeme=8 jsou navíc hranaté závorky, takže pokud by jsi vygenerovaný řetězec použil znovu do odkazu, tak to přestane fungovat |
||
Ba Profil * |
#7 · Zasláno: 25. 10. 2010, 20:50:32
vypsalo to 8, coz bylo spravne.
a když jsem do řádku 14 přidal místo $vystupnipolezeme2[]="zeme=".$hodnotyzeme2; tohle $vystupnipolezeme2[]="zeme%5B%5D=".$hodnotyzeme2; //funguje, i když tam dám jen [] tak už to jede a v odkazu je zeme[]=8 ale nechápu proč to ten formulář posílá do odkazu takhle zeme%5B%5D=8 a ja z toho pak musim udelat tohle zeme[]=8 a i tak se to pak vpisuje do horni i odkazový adresy |
||
Keeehi Profil |
#8 · Zasláno: 25. 10. 2010, 21:21:35
Ba:
Nějak ti moc nerozumím, ale pokud to už funguje, tak jsem rád. Pokud to stále nefunguje, tak to zkus napsat nějak lépe. |
||
Ba Profil * |
#9 · Zasláno: 25. 10. 2010, 21:50:45
No funguje, jen jsem musel udělat změnu, jak jsem psal, bylo potřeba do toho odkazu přidat [] nebo %5B%5D
|
||
Časová prodleva: 14 let
|
0