Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem HTML form to PHP field

Mám v HTML FORM 5 checkboxov, ktoré cez POST posielam do PHP.

Ako viem vytvoriť z "checkboxov checked" pole v PHP?

Dá sa spraviť cyklus, ktorý by zaplnil pole, údajmi, ktoré pošle POST alebo treba scriptom overiť všetky checkboxy a vybrať tie, ktoré sú zaškrtnuté a nejako ich dať do pola?

P.S. chcem napísať script, ktorý bude fungovať aj na 100, 200, 500...... checkboxov

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
Názvy checkboxov si nejako očísluj (c0, c1, c2, ...). Na strane servera prebehni pole $_POST a vytvo… poslední
los 18.05.2014 18:09
los

Názvy checkboxov si nejako očísluj (c0, c1, c2, ...). Na strane servera prebehni pole $_POST a vytvor si pole s výsledkami:

$checked = array();
foreach ($_POST as $key => $value)
  if ($key[0] === 'c') {
    $part = substr($key, 1);
    if (is_numeric($part))
      $checked[(int)$part] = TRUE;
  }

Ak chceš pracovať s poľom s pevným počtom prvkov, použi SplFixedArray (ak máš k dispozícii verziu 5.3.0 a vyššiu). Ak počet checbkoxov nepoznáš implicitne, pošli si ho v input type=hidden. Je rozumné ohraničiť počet nejakým limitom zhora, nech ti tam nepošle nejaký záškodník niečo zbytočne veľké.

Ako bolo spomenuté, pri veľkých počtoch vstupných prvkov si treba dať pozor na limity, ako je max_input_vars od PHP 5.3.9 (prípadne parsovať POST ručne z file_get_contents("php://input")) a ďalšie (maximálna veľkosť POSTu a pod.).

Zpět do poradny Odpovědět na původní otázku Nahoru