How to add several checkboxes to a php table?

Asked

Viewed 168 times

0

I’ve seen a lot of questions answered that look like mine but so far nothing like it!

Here’s the thing: I have the codes below and I don’t know how to insert the checkbox on the table.

Form code

<?php
require "../config.php";
?>

  <!DOCTYPE html>
  <html>

  <head>
    <title>IBVP - Cadastro de Membro</title>
    <link rel="stylesheet" type="text/css" href="<?php echo BASE_URL; ?>assets/css/bootstrap.min.css">
    <link rel="stylesheet" type="text/css" href="<?php echo BASE_URL; ?>assets/css/style.css">
    <script type="text/javascript" src="<?php echo BASE_URL; ?>assets/js/jquery.min.js"></script>
    <script type="text/javascript" src="<?php echo BASE_URL; ?>assets/js/script.js"></script>
  </head>

  <body>

    <div class="jumbotron">
      <h2 align="center">Igreja Batista em Vila Permanente</h2>
      <h3 align="center">Cadastrar Membro</h3>
    </div>

    <div class="container">
      <form method="POST" action="<?php echo BASE_URL; ?>membros/add_submit.php">

        <h5 align="center">DADOS PESSOAIS</h5>

        <div class="form-group">
          <input type="text" class="form-control" name="nome" placeholder="Nome Completo" />
        </div>
        <div class="form-row">
          <div class="col-2">
            <label class="form-control" style="border: 0;">Data de Nascimento</label>
          </div>
          <div class="col-2">
            <div class="form-group">
              <input type="date" class="form-control" name="dt_nasc" />
            </div>
          </div>
          <div class="col-4">
            <div class="form-group">
              <select name="est_civil" class="custom-select">
                <option selected>Estado Civil</option>
                <option value="solteiro">Solteiro(a)</option>
                <option value="casado">Casado(a)</option>
                <option value="separado">separado(a)</option>
                <option value="divorciado">Divorciado(a)</option>
                <option value="viuvo">Viúvo(a)</option>
              </select>
            </div>
          </div>
          <div class="col-4">
            <div class="form-group">
              <select name="sexo" class="custom-select">
                <option selected>Sexo</option>
                <option value="masculino">Masculino</option>
                <option value="feminino">Feminino</option>
              </select>
            </div>
          </div>
        </div>

        <div class="form-row">
          <div class="col-8">
            <div class="form-group">
              <input type="text" class="form-control" name="conjuge" placeholder="Nome do Conjuge" />
            </div>
          </div>
          <div class="col-2">
            <label class="form-control" style="border: 0;">Data de Casamento</label>
          </div>
          <div class="col-2">
            <div class="form-group">
              <input type="date" class="form-control" name="dt_casamento" />
            </div>
          </div>
        </div>

        <div class="form-row">
          <div class="col">
            <div class="form-group">
              <input type="text" class="form-control" name="cpf" placeholder="CPF" />
            </div>
          </div>
          <div class="col">
            <div class="form-group">
              <input type="text" class="form-control" name="rg" placeholder="RG" />
            </div>
          </div>
        </div>

        <div class="form-row">
          <div class="col">
            <div class="form-group">
              <input type="text" class="form-control" name="endereco" placeholder="Endereço" />
            </div>
          </div>
          <div class="col">
            <div class="form-group">
              <input type="text" class="form-control" name="numero" placeholder="Número" />
            </div>
          </div>
        </div>

        <div class="form-row">
          <div class="col">
            <div class="form-group">
              <input type="text" class="form-control" name="bairro" placeholder="Bairro" />
            </div>
          </div>
          <div class="col">
            <div class="form-group">
              <input type="text" class="form-control" name="cidade" placeholder="Cidade" />
            </div>
          </div>
        </div>

        <div class="form-row">
          <div class="col">
            <div class="form-group">
              <input type="text" class="form-control" name="tel_cel" placeholder="Celular" />
            </div>
          </div>
          <div class="col">
            <div class="form-group">
              <input type="text" class="form-control" name="tel_res" placeholder="Telefone Residencial" />
            </div>
          </div>
          <div class="col">
            <div class="form-group">
              <input type="text" class="form-control" name="tel_com" placeholder="Telefone Comercial" />
            </div>
          </div>
        </div>

        <div class="form-group">
          <input type="email" class="form-control" name="email" placeholder="E-mail" />
        </div>

        <h5 align="center">DADOS ECLESIÁSTICOS</h5>

        <div class="form-row">
          <div class="col-6">
            <div class="form-group">
              <select name="membro_atraves" class="custom-select">
                <option selected>Tornou-se membro da Igreja através de</option>
                <option value="batismo">Batismo</option>
                <option value="cartaTransferencia">Carta de Transferência</option>
                <option value="aclamacao">Aclamação</option>
              </select>
            </div>
          </div>
          <div class="col-2">
            <label class="form-control" style="border: 0;">Data de Recebimento</label>
          </div>
          <div class="col-4">
            <div class="form-group">
              <input type="date" class="form-control" name="dt_membro" />
            </div>
          </div>
        </div>

        <hr>

        <div class="form-row">
          <div class="col-2">
            <label class="form-control" style="border: 0;">Data de Batismo</label>
          </div>
          <div class="col-2">
            <input type="date" class="form-control" name="dt_batismo" />
          </div>
          <div class="col-8">
            <div class="form-group">
              <input type="text" class="form-control" name="igreja_batismo" placeholder="Igreja que se batizou" />
            </div>
          </div>
          <div class="col">
            <div class="form-group">
              <input type="text" class="form-control" name="cidade_batismo" placeholder="Cidade" />
            </div>
          </div>
        </div>

        <hr>

        <h6 align="center">Célula e Discipulado</h6>

        <div class="row">
          <div class="col-4">
            <div class="form-group">
              <select name="part_cel" class="custom-select">
                <option selected>Participa de Célula Regularmente?</option>
                <option value="sim">Sim</option>
                <option value="nao">Não</option>
              </select>
            </div>
          </div>
          <div class="col-8">
            <input type="text" class="form-control" name="celula" placeholder="Nome da Célula" />
          </div>
        </div>

        <div class="row">
          <div class="col-4">
            <div class="form-group">
              <select name="tem_discipulador" class="custom-select">
                <option selected>Tem Discipulador?</option>
                <option value="sim">Sim</option>
                <option value="nao">Não</option>
              </select>
            </div>
          </div>
          <div class="col-8">
            <input type="text" class="form-control" name="nome_discipulador" placeholder="Nome do Discipulador" />
          </div>
        </div>

        <div class="row">
          <div class="col-4">
            <div class="form-group">
              <select name="disc_ativo" class="custom-select">
                <option selected>Discipulado Ativo?</option>
                <option value="sim">Sim</option>
                <option value="nao">Não</option>
                <option value="irregular">Irregular</option>
              </select>
            </div>
          </div>
        </div>

        <hr>

        <h6 align="center">Cursos, Treinamentos e Ministérios</h6>

        <div class="form-row">
          <div class="col">
            <div class="form-check">
              <label class="form-check-label">
                                          <input type="checkbox" name="cursos[]" class="form-check-input" value="1" />Curso Pastoral
                                    </label>
            </div>
            <div class="form-check">
              <label class="form-check-label">
                                          <input type="checkbox" name="cursos[]"  class="form-check-input" value="2" />C.T.L.
                                    </label>
            </div>
            <div class="form-check">
              <label class="form-check-label">
                                          <input type="checkbox" name="cursos[]"  class="form-check-input" value="5" />Encontro com Deus
                                    </label>
            </div>
          </div>
          <div class="col">
            <div class="form-check">
              <label for="cursos[homem]" class="form-check-label">
                                          <input type="checkbox" name="cursos[]" class="form-check-input" value="6" />Homem ao Máximo
                                    </label>
            </div>
            <div class="form-check">
              <label for="cursos[mulher]" class="form-check-label">
                                          <input type="checkbox" name="cursos[]" class="form-check-input" value="7" />Mulher Única
                                    </label>
            </div>
            <div class="form-check">
              <label for="cursos[crow]" class="form-check-label">
                                          <input type="checkbox" name="cursos[]" class="form-check-input" value="8" />CROW
                                    </label>
            </div>
          </div>
        </div>

        <hr>

        <h6 align="center">Cargos e Funções Eclesiásticas Desenvolvidas</h6>

        <div class="form-row">
          <div class="col">
            <div class="form-check">
              <label for="profebd" class="form-check-label">
                                          <input type="checkbox" name="cargos[profebd]" class="form-check-input" value="profebd" />Professor de EBD
                                    </label>
            </div>
            <div class="form-check">
              <label for="louvor" class="form-check-label">
                                          <input type="checkbox" name="cargos[louvor]" class="form-check-input" value="louvor" />Grupo de Louvor, Som ou Mídia
                                    </label>
            </div>
            <div class="form-check">
              <label for="evang" class="form-check-label">
                                          <input type="checkbox" name="cargos[evang]" class="form-check-input" value="evang" />Grupo de Visitação ou Evangelismo
                                    </label>
            </div>
          </div>
          <div class="col">
            <div class="form-check">
              <label for="lidercong" class="form-check-label">
                                          <input type="checkbox" name="cargos[lidercong]" class="form-check-input" value="lidercong" />Líder de Congregação
                                    </label>
            </div>
            <div class="form-check">
              <label for="lidercel" class="form-check-label">
                                          <input type="checkbox" name="cargos[lidercel]" class="form-check-input" value="lidercel" />Líder de Célula
                                    </label>
            </div>
            <div class="form-check">
              <label for="outro" class="form-check-label">
                                          <input type="checkbox" name="cargos[outro]" class="form-check-input" value="outro" />Outro
                                    </label>
            </div>
          </div>
        </div>

        <hr>

        <h5 align="center">HABILIDADES PARA SERVIR</h5>

        <div class="form-row">
          <div class="col">
            <div class="form-check">
              <label for="habilidades[cozinheira]" class="form-check-label">
                                          <input type="checkbox" name="habilidades[cozinheira]" class="form-check-input" value="cozinheira" />Cozinheira
                                    </label>
            </div>
            <div class="form-check">
              <label for="habilidades[manicure]" class="form-check-label">
                                          <input type="checkbox" name="habilidades[manicure]" class="form-check-input" value="manicure" />Manicure
                                    </label>
            </div>
            <div class="form-check">
              <label for="habilidades[cabelereiro]" class="form-check-label">
                                          <input type="checkbox" name="habilidades[cabelereiro]" class="form-check-input" value="cabelereiro" />Cabelereiro
                                    </label>
            </div>
            <div class="form-check">
              <label for="habilidades[pedreiro]" class="form-check-label">
                                          <input type="checkbox" name="habilidades[pedreiro]" class="form-check-input" value="pedreiro" />Pedreiro
                                    </label>
            </div>
            <div class="form-check">
              <label for="habilidades[eletricista]" class="form-check-label">
                                          <input type="checkbox" name="habilidades[eletricista]" class="form-check-input" value="eletricista" />Eletricista
                                    </label>
            </div>
            <div class="form-check">
              <label for="habilidades[pintor]" class="form-check-label">
                                          <input type="checkbox" name="habilidades[pintor]" class="form-check-input" value="pintor" />Pintor
                                    </label>
            </div>
          </div>

          <div class="col">
            <div class="form-check">
              <label for="habilidades[tecenferm]" class="form-check-label">
                                          <input type="checkbox" name="habilidades[tecenferm]" class="form-check-input" value="tecenferm" />Téc. Enfermagem
                                    </label>
            </div>
            <div class="form-check">
              <label for="habilidades[tecinform]" class="form-check-label">
                                          <input type="checkbox" name="habilidades[tecinform]" class="form-check-input" value="tecinform" />Téc. Informática
                                    </label>
            </div>
            <div class="form-check">
              <label for="habilidades[admcont]" class="form-check-label">
                                          <input type="checkbox" name="habilidades[admcont]" class="form-check-input" value="admcont" />Administrador, Contador
                                    </label>
            </div>
            <div class="form-check">
              <label for="habilidades[advogado]" class="form-check-label">
                                          <input type="checkbox" name="habilidades[advogado]" class="form-check-input" value="advogado" />Advogado
                                    </label>
            </div>
            <div class="form-check">
              <label for="habilidades[artesanato]" class="form-check-label">
                                          <input type="checkbox" name="habilidades[artesanato]" class="form-check-input" value="artesanato" />Artesanato
                                    </label>
            </div>
            <div class="form-check">
              <label for="habilidades[professor]" class="form-check-label">
                                          <input type="checkbox" name="habilidades[professor]" class="form-check-input" value="professor">Professor
                                    </label>
            </div>
          </div>

          <div class="col">
            <div class="form-check">
              <label for="habilidades[engcivileletrico]" class="form-check-label">
                                          <input type="checkbox" name="habilidades[engcivileletrico]" class="form-check-input" value="engcivileletrico" />Engenheiro Civil, Elétrico
                                    </label>
            </div>
            <div class="form-check">
              <label for="habilidades[enfdentmed]" class="form-check-label">
                                          <input type="checkbox" name="habilidades[enfdentmed]" class="form-check-input" value="enfdentmed" />Enfermeiro, Dentista, Médico
                                    </label>
            </div>
            <div class="form-check">
              <label for="habilidades[psicoterapass]" class="form-check-label">
                                          <input type="checkbox" name="habilidades[psicoterapass]" class="form-check-input" value="psicoterapass" />Psicólogo, Terapeuta, Ass. Social
                                    </label>
            </div>
            <div class="form-check">
              <label for="habilidades[musica]" class="form-check-label">
                                          <input type="checkbox" name="habilidades[musica]" class="form-check-input" value="musica" />Música e Artes
                                    </label>
            </div>
            <div class="form-check">
              <label for="habilidades[midiadigital]" class="form-check-label">
                                          <input type="checkbox" name="habilidades[midiadigital]" class="form-check-input" value="midiadigital" />Mídia Digital
                                    </label>
            </div>
            <div class="form-check">
              <label for="habilidades[outros]" class="form-check-label">
                                          <input type="checkbox" name="habilidades[outros]" class="form-check-input" value="outros" />Outros
                                    </label>
            </div>
          </div>
        </div>
        <br />
        <div class="form-group">
          <input class="btn btn-primary" type="submit" value="Cadastrar">
        </div>


      </form>
    </div>

  </body>

  </html>

Code PHP:

<?php
require "../config.php";
require "../classes/membro.class.php";



if(!empty($_POST['email'])) {
    $nome = $_POST['nome'];
    $dt_nasc = $_POST['dt_nasc'];
    $est_civil = $_POST['est_civil'];
    $sexo = $_POST['sexo'];
    $conjuge = $_POST['conjuge'];
    $dt_casamento = $_POST['dt_casamento'];
    $cpf = $_POST['cpf'];
    $rg = $_POST['rg'];
    $endereco = $_POST['endereco'];
    $numero = $_POST['numero'];
    $bairro = $_POST['bairro'];
    $cidade = $_POST['cidade'];
    $tel_cel = $_POST['tel_cel'];
    $tel_res = $_POST['tel_res'];
    $tel_com = $_POST['tel_com'];
    $email = $_POST['email'];
    $membro_atraves = $_POST['membro_atraves'];
    $dt_membro = $_POST['dt_membro'];
    $dt_batismo = $_POST['dt_batismo'];
    $igreja_batismo = $_POST['igreja_batismo'];
    $cidade_batismo = $_POST['cidade_batismo'];
    $part_cel = $_POST['part_cel'];
    $celula = $_POST['celula'];
    $tem_discipulador = $_POST['tem_discipulador'];
    $nome_discipulador = $_POST['nome_discipulador'];
    $disc_ativo = $_POST['disc_ativo'];
    $cursos = isset($_POST['cursos']);
    $cargos = isset($_POST['cargos']);
    $habilidades = isset($_POST['habilidades']);

    $contato = new Membro();

    $contato->addMembro($nome, $dt_nasc, $est_civil, $sexo, $conjuge, $dt_casamento, $cpf, $rg, $endereco, $numero, $bairro, $cidade, $tel_cel, $tel_res, $tel_com, $email, $membro_atraves, $dt_membro, $dt_batismo, $igreja_batismo, $cidade_batismo, $part_cel, $celula, $tem_discipulador, $nome_discipulador, $disc_ativo, $cursos, $cargos, $habilidades);

    ?>
  <!DOCTYPE html>
  <html>

  <head>
    <title></title>
  </head>

  <body>




    <?php
}
?>
  </body>

  </html>

Class code:

<?php

class Membro {

    private $pdo;

    public function __construct() {
        $this->pdo = new PDO("mysql:dbname=siscel;host=localhost", "root", "");
    }

    public function addMembro($nome, $dt_nasc, $est_civil, $sexo, $conjuge, $dt_casamento, $cpf, $rg, $endereco, $numero, $bairro, $cidade, $tel_cel, $tel_res, $tel_com, $email, $membro_atraves, $dt_membro, $dt_batismo, $igreja_batismo, $cidade_batismo, $part_cel, $celula, $tem_discipulador, $nome_discipulador, $disc_ativo, $cursos, $cargos, $habilidades) {

        if($this->existeEmail($email) == false) {

            $sql = "INSERT INTO cad_membro (nome, dt_nasc, est_civil, sexo, conjuge, dt_casamento, cpf, rg, endereco, numero, bairro, cidade, tel_cel, tel_res, tel_com, email, membro_atraves, dt_membro, dt_batismo, igreja_batismo, cidade_batismo, part_cel, celula, tem_discipulador, nome_discipulador, disc_ativo, cursos, cargos, habilidades) VALUES (:nome, :dt_nasc, :est_civil, :sexo, :conjuge, :dt_casamento, :cpf, :rg, :endereco, :numero, :bairro, :cidade, :tel_cel, :tel_res, :tel_com, :email, :membro_atraves, :dt_membro, :dt_batismo, :igreja_batismo, :cidade_batismo, :part_cel, :celula, :tem_discipulador, :nome_discipulador, :disc_ativo, :cursos, :cargos, :habilidades)";

            $sql = $this->pdo->prepare($sql);
            $sql->bindValue(':nome', $nome);
            $sql->bindValue(':dt_nasc', $dt_nasc);
            $sql->bindValue(':est_civil', $est_civil);
            $sql->bindValue(':sexo', $sexo);
            $sql->bindValue(':conjuge', $conjuge);
            $sql->bindValue(':dt_casamento', $dt_casamento);
            $sql->bindValue(':cpf', $cpf);
            $sql->bindValue(':rg', $rg);
            $sql->bindValue(':endereco', $endereco);
            $sql->bindValue(':numero', $numero);
            $sql->bindValue(':bairro', $bairro);
            $sql->bindValue(':cidade', $cidade);
            $sql->bindValue(':tel_cel', $tel_cel);
            $sql->bindValue(':tel_res', $tel_res);
            $sql->bindValue(':tel_com', $tel_com);
            $sql->bindValue(':email', $email);
            $sql->bindValue(':membro_atraves', $membro_atraves);
            $sql->bindValue(':dt_membro', $dt_membro);
            $sql->bindValue(':dt_batismo', $dt_batismo);
            $sql->bindValue(':igreja_batismo', $igreja_batismo);
            $sql->bindValue(':cidade_batismo', $cidade_batismo);
            $sql->bindValue(':part_cel', $part_cel);
            $sql->bindValue(':celula', $celula);
            $sql->bindValue(':tem_discipulador', $tem_discipulador);
            $sql->bindValue(':nome_discipulador', $nome_discipulador);
            $sql->bindValue(':disc_ativo', $disc_ativo);
            $sql->bindValue(':cursos', $cursos);
            $sql->bindValue(':cargos', $cargos);
            $sql->bindValue(':habilidades', $habilidades);
            $sql->execute();

            return true;

        } else {

            return false;
        }
    }

    private function existeEmail($email) {
        $sql = "SELECT * FROM cad_membro WHERE email = :email";
        $sql = $this->pdo->prepare($sql);
        $sql->bindValue(':email', $email);
        $sql->execute();

        if($sql->rowCount() > 0) {

            echo "Email para cadastro já existe!";

            return true;
        } else {

            echo "Cadastrado com sucesso!";

            return false;
        }

    }
}

Tables: - cad_member - posts - courses - skills

I am not able to send to the table the checks.

  • With all this what is the result you have? What exactly is going wrong?

  • in the table courses regardless of what mark or how many mark only appears the number 1

  • At this point $sql->bindValue(':cursos', $cursos); you probably have a array (if you want to be sure of that put a var_dump($cursos) and you’ll see the content). What you have to do is go through this array to pick up all the selected courses. Another issue is that probably your table is poorly formatted, if members may have more than one course, it is necessary to have one more table to relate the member to the courses.

No answers

Browser other questions tagged

You are not signed in. Login or sign up in order to post.