Autor Zpráva
majak108
Profil
Ahoj, mám malou prosbu, protože už mě opravdu nenapadá řešení.
Ve <form> mam nejake inputy typu hidden, ktere potrebuju odeslat.
Nektere informace ale potrebuju seskupit do pole (to jsou ty mix[]),
tak abych pote v PHP kodu mohl prochazet cele pole pomoci foreach.

<input type="hidden" value="0" name="test">
<input type="hidden" value="1" name="test1">
<input type="hidden" class="1" value="31" name="mix[1300563899071]">
<input type="hidden" class="1" value="32" name="mix[1300563899072]">

Problem je, ze kdyz si po odeslani dam vypsat $_POST, tak mi to vypise toto:

Array
(
[test] => 0
[test1] => 1
[mix] => Array
(
[1300563899071] => 31
[1300563899072] => 32
[test] =>
[test1] =>
[mix] =>
)

)

Nevim proč se mi v tom poli mix objevují ty proměnné test, test1, mix. Nevíte někdo radu?

Díky moc
majak108
Profil
Ještě chci dodat, že se to samozřejmě dá ošetřit pomocí konstrukce:

foreach($_POST['mix'] as $k => $smix) {

if(empty($smix)) unset($_POST['mix'][$k]);

}

Ale rad bych spis vedel proc to dela a neresil to takto.
holi
Profil
Nějak nechápu smysl této operace a prosím dávejte kody do PRE tagu označené <>.
Proč prostě neodešlete nějaké normální názvy a pak si z nich neudělaté pole ?
Radek9
Profil
majak108:
Nevím, co s tím děláš, ale mně to funguje naprosto normálně. Ukaž kdyžtak celý script, tady chyba nebude.
majak108
Profil
Toto je celý mix který s tím souvisí:
Odesilam to pak pres JS pomocí $("#form_mix").submit();

<form id="form_mix" name="form_mix" method="post" action="<?php echo $stranka_href.".php"; ?>" onsubmit="return overitMix(this);">
			        <?
							unset($k, $m);
			            	if(isset($cookie_mix) && count($cookie_mix) > 0)
			            	//$cookie_mix_rev = array();
			            	//$cookie_mix_rev = array_reverse($cookie_mix);
							foreach($cookie_mix as $k => $m) {
					?>
			        <input type="hidden" class="<? echo $m['typ']; ?>" value="<? echo $m['id']; ?>" name="mix[<? echo $k; ?>]">
			        <?
							}
			        ?>
			        <input type="hidden" name="nazev_mixu" value="<? if(isset($_COOKIE['nazev_mixu'])) echo $_COOKIE['nazev_mixu']; else echo "Váš mix"; ?>" />
			        <input type="hidden" name="vaha_zaklad" value="<? echo $maxWeight; ?>" />
			        <input type="hidden" name="vaha_prisad" value="<? echo $vaha; ?>" />
			        <input type="hidden" name="vaha_ovoce" value="<? echo $vaha_ovoce; ?>" />
			        <input type="hidden" name="vaha_orechu" value="<? echo $vaha_orechu; ?>" />
			        <input type="hidden" name="vaha_neco_navic" value="<? echo $vaha_neco_navic; ?>"/>
			        <label class="pocet_kusu">Počet kusů:
			          <input type="text" class="number" name="pocet_kusu" value="1" />
			          <input type="button" class="plus" onclick="pridejKusMixu('pridej')" title="přidá o jeden kus vašeho mixu více" value="plus" /><input type="button" class="minus" onclick="pridejKusMixu('odeber')" title="odebere kus vašeho mixu" value="minus" /></label>
			        <input type="submit" name="submit" class="kosik_vloz" value="vložit do košíku" />
</form>

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: