Autor Zpráva
Ba
Profil *
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
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 *
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 *
Tak jak teda? Nikdo neví? Docela rád bych na tom začal pracovat, ale teď se nemůžu pohnout dál
denCo
Profil
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
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 *
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
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 *
No funguje, jen jsem musel udělat změnu, jak jsem psal, bylo potřeba do toho odkazu přidat [] nebo %5B%5D

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0