Autor Zpráva
vahrner
Profil
Zdravím,

trvalo mi docela dlouho, než jsem z dokumentací vyrazil opravdu jednoduchý kód, kterým můžu z formuláře poslat do databáze informaci o tom, jaké checkboxy byly zatrhnuty - s PHP začínám. Ale pořád to není úplně ono... Sice to totiž funguje, ale na stránce neustále straší hláška "Warning: implode() [function.implode]: Invalid arguments passed in ..... on line 55"

Kód:
Rajče:<input type="checkbox" value="rajce" name="food[]"><br />
Sejra:<input type="checkbox" value="sejra" name="food[]"><br />
Houba:<input type="checkbox" value="houba" name="food[]"><br />

...

$ingredience = $_POST['food'];
$seznam_ingredienci = implode(',', $ingredience); // řádek 55

mysql_query("INSERT INTO tabulka(vyber) VALUES('$seznam_ingredienci')");

Mám špatně zapsané pole? Nemáte někdo nápad, jak tu hlášku odstranit?
Joker
Profil
vahrner:
A co je v $ingredience?
Kdyžtak se to zjistí:
var_dump($ingredience);

edit: Špatný název proměnné
vahrner
Profil
Myšleno tohle?

array(2) { [0]=> string(5) "sejra" [1]=> string(5) "houba" }
Joker
Profil
vahrner:
A když je v proměnné $ingredience přesně tohle, vyhodí to taky tu chybovou hlášku?

To by bylo divné. Ale celkem chápu, že by to vyhodilo tu chybovou hlášku v případě, že není nic zaškrtnuté.
vahrner
Profil
No tohle

array(2) { [0]=> string(5) "sejra" [1]=> string(5) "houba" }

mi to vypsalo ale až ve chvíli, co jsem ve formuláři dva checkboxy zaškrtl a formulář odeslal. Jinak mi to vypisuje klasicky NULL.
Nebo jsem to pochopil špatně?
abc
Profil
To ti napsalo samozřejmě správně. Musíš ošetřit situaci 1) před odesláním formuláře a 2) když nikdo nic nezaškrtne
vahrner
Profil
Takže proč to vypisuje chybovou hlášku je pořád záhada?
Alphard
Profil
vahrner:
Takže proč to vypisuje chybovou hlášku je pořád záhada?
Není.
Kolegové se vám snažili naznačit, že implode() vyžaduje na vstupu array (pole). Nelze mu dávat NULL.
Joker
Profil
vahrner:
Šlo mi o to, jestli se zároveň objeví i ta chyba.
Protože tohle by projít mělo.

Zatímco je dost možné, že když nebudou zaškrtnuté checkboxy žádné, opravdu to neprojde.
user243
Profil
a jen
$seznam_ingredienci = implode($ingredience);
bez oddělovače taky nefunguje?

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: