tslopes 0 Denunciar post Postado Julho 23, 2014 Estou tentando inserir os dados de uma tabela com múltiplos checkbox no banco de dados usando PDO. A tabela esta dentro de um form. Parte dó código HTML <form action="insert.php" method="POST"> .... <label> <input name="check[]" id="check[]" type="checkbox" value="<?=$row['id']?>" /> <span class="lbl"></span> </label> <button type="submit" name="enviar" id="enviar" > </form> Parte do código PHP $checkbox = $_POST['check']; for ($i=0; $i<sizeof($checkbox);$i++) $insert = $pdo->prepare("INSERT INTO tabela (check_value) VALUES (?)"); $insert->execute(array(".$checkbox[$i].")); Mas retorna a mensagem: "Notice: Undefined offset" O que tem de errado? Compartilhar este post Link para o post Compartilhar em outros sites
Gabriel Heming 766 Denunciar post Postado Julho 23, 2014 Não utilize for para os checkbox, utilize foreach, os indexes podem não ser sequenciais. Acredito que o exemplo do link sane suas dúvidas: http://forum.imasters.com.br/topic/519263-pegar-checkbox-unchecked-com-value0/?p=2064762 Compartilhar este post Link para o post Compartilhar em outros sites
tslopes 0 Denunciar post Postado Julho 23, 2014 Não utilize for para os checkbox, utilize foreach, os indexes podem não ser sequenciais. Acredito que o exemplo do link sane suas dúvidas: http://forum.imasters.com.br/topic/519263-pegar-checkbox-unchecked-com-value0/?p=2064762 Ótimo exemplo. Dei um echo e estou conseguindo pegar todos os valores dos checkbox. Só que ao inserir no DB tenho o seguinte erro: Notice: Array to string conversion $checkbox = $_POST['check']; foreach($checkbox as $iduser){ $insert = $pdo->prepare("INSERT INTO tabela (id_01, id_user) VALUES (?, ?)"); $insert->execute(array($id01, $iduser)); } Compartilhar este post Link para o post Compartilhar em outros sites
Gabriel Heming 766 Denunciar post Postado Julho 23, 2014 Mostre-me o input do valor $id01, não há nos exemplos anteriores.Outro detalhe, id são únicos, mesmo no HTML, isso: id="check[]" Está errado. Você deve especificar um único: <input name="check[]" id="check-<?= $row['id']; ?>" /> ou omitir. <input name="check[]" /> Compartilhar este post Link para o post Compartilhar em outros sites
tslopes 0 Denunciar post Postado Julho 27, 2014 Ótimo exemplo. Dei um echo e estou conseguindo pegar todos os valores dos checkbox. Só que ao inserir no DB tenho o seguinte erro: Notice: Array to string conversion $checkbox = $_POST['check']; foreach($checkbox as $iduser){ $insert = $pdo->prepare("INSERT INTO tabela (id_01, id_user) VALUES (?, ?)"); $insert->execute(array($id01, $iduser)); } Olá amigo, nos dois exemplos, consegui identificar os problemas corretamente. O erro vinha de outra variável não do checkbox. Muito obrigado pela ajuda! Compartilhar este post Link para o post Compartilhar em outros sites