Jump to content
rd111072

Checkbox não passa valor

Recommended Posts

Tenho um form que tem um checkbox:

 

<input type="checkbox" name="check[<?=$c?>]" value="<?=$CLI['id_usuario'];?>" required="required">

 

Tento recuperar seus valores assim:

 

if(isset($_POST['check'])){
foreach($_POST['check'] as $valor){
    
    echo $valor.'<br />';
}
}

Mas não consigo. É como se nada tivesse sido postado. Quando apenas mudo o type do input de checkbox pra text, consigo recuperar os valores normalmente.

Alguém sabe o que pode ser?
                          

Share this post


Link to post
Share on other sites
Agora, cristianomg disse:

Não faltou um echo ?

 

 

value="<?= echo $CLI['id_usuario'];?>"

Não. O sinal de = já funciona como echo. No input text o valor já aparece, só com isso.

Share this post


Link to post
Share on other sites

@Luiz Gustavo Costa Ceolin Não necessariamente. Podem ser atribuídas chaves para realizar alguma referência. Existe um tópico meu aqui no fórum que fala sobre isso, mas não estou localizando.

 

Há também o do stack overflow:

http://stackoverflow.com/questions/40930940/php-looping-data-when-a-form-have-a-different-name-attribute-every-each-row/40931513#40931513

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By FabianoSouza
      Galera...faz um tempão que busco uma maneira de estilizar uma TR, caso seu respectivo checbox seja clicado.
      Será mesmo que não tem como fazer isso apenas com CSS (sem precisar fazer em javascript)??
       
      Repito. Preciso de algo ultra simples: clicou no checkbox, aplica cor na TR em que estiver esse checkbox.
      Sei que o javascript é para essas questões de comportamento.
       Mas penso que possa existir uma maneira,  explorando o estado "checked" do input. Será que não??
       
      Estou testando variações dessa ideia... mas ainda sem sucesso :-(
      table tbody tr td:nth-child(1) input[type="checkbox"]:checked ~ table > tbody > tr { /* aplica cor...*/ { Estou usando td:nth-child(1) porque o checkbox fica na primeira TD de cada TR ;-)
       
      Obrigado!
       
    • By Jefferson andre
      boa tarde mestres,
       
      Estou com um problema aqui e nao conseguindo resolver, tenho a seguinte situacao inicial: ao entrar no cadastro de vendas os clientes pessoa fisica e juridica aparecem juntos, criei um checkbox e quando selecionado troca o parametro de filtro para apenas juririco ou apenas fisico.
       
      Eu carrego o parametro de filtro logo no inicio do programa informando o tipo_do_cadastro como sendo ambos (1 ou 0):
      $filtrarClientesParametros ="SELECT id, razao,deletado, ativo, id_empresa,tipo_do_cadastro FROM clientes WHERE deletado=0 AND id_empresa='$id_empresa' AND (tipo_do_cadastro = 0 OR tipo_do_cadastro = 1) ORDER BY ativo,razao";
       
      A tela eh montada mas nao sei como atualizar o <select> com as opções apos o check ter sido pressionado, quando pressionado a mensagem filtro ativado aparece corretamente.
       
      Segue o trecho do html:
      <div class="form-group col-md-6">    <label for="inputid_cliente">Clientes</label>     <br>     <?php                 $filtro_clientes  = $arquivo->prepare($filtrarClientesParametros);         $filtro_clientes->execute();     ?>     <input type="checkbox" class="form-check-input" id="Check_id_cliente" onclick="myFunction()">     <p id="text" style="display:none">Filtro ativado!</p>     <select autofocus class ="custom-select col-md-11" name="id_cliente" required id="id_cliente" name="id_cliente">     <?php          while ($clientes = $filtro_clientes->fetch()) {?>             <option value = "<?php echo $clientes['id'] ?>"><?php echo $clientes['razao'];?> </option>             <?php               }             ?>     </select> </div> Segue a funcao:
      <script> function myFunction() {   var checkBox = document.getElementById("Check_id_cliente");   var text = document.getElementById("text");   if (checkBox.checked == true){     text.style.display = "block";       $filtrarClientesParametros ="SELECT id, razao,deletado, ativo, id_empresa,tipo_do_cadastro FROM clientes WHERE deletado=0 AND id_empresa='$id_empresa' AND tipo_do_cadastro = 0 ORDER BY ativo,razao";   } else {      text.style.display = "none";       $filtrarClientesParametros ="SELECT id, razao,deletado, ativo, id_empresa,tipo_do_cadastro FROM clientes WHERE deletado=0 AND id_empresa='$id_empresa' AND tipo_do_cadastro = 1 ORDER BY ativo,razao";   } } </script> Obrigado pela atenção
       
    • By manogaucho
      Tudo bem!!
      Tenho essa pagina funcionando, mas queria criar um checkbox, para selecionar os itens para deletar..
      Por que tenho que deletar iten por iten, pior que isso tenho que pesquisar novamente. já pesquisei muito, mas não consigo implantar. Agradeço desde já atenção e ajuda.
      <?php include 'conexao.php'; ?> <?php //MENSAGEM DELETADO COM SUCESSO if($_GET['deletado'] == 'ok'){ echo 'Deletado com sucesso'; }else if($_GET['deletado'] == 'nok'){ echo "Erro ao deletar"; }else{} //MENSAGEM DE ATUALIZADO COM SUCESSO if($_GET['atualizado'] == "ok"){ echo "Atualizado com sucesso!"; }else if($_GET['atualizado'] == "nok"){ echo "Erro ao atualizar."; }else{} ?> <form action="index_melhores.php" method="GET"> <input name="input_valor" type="text" placeholder="Digite aqui" size="60" /> <button type="submit">Buscar</button> </form> <?php //PEGANDO VALOR DO CAMPO BUSCA $valor = utf8_decode($_GET['input_valor']); //SELECIONAR $selecao = "SELECT * FROM produtos_vendedores_lj04 WHERE descricao_completa LIKE '%".$valor."%' OR preço LIKE '%".$valor."%' OR recadonacompra LIKE '%".$valor."%' OR fornecedor LIKE '%".$valor."%' ORDER BY descricao_completa, preço"; $linhas = mysqli_query($conexao_db, $selecao); if($linhas): foreach ($linhas as $linha): extract($linha); echo '<strong> <font color="green">Quantidade: '.utf8_encode($quantidade).'</font><br>'; echo '<strong> <font color="blue"> Produto: '.utf8_encode($descricao_completa).'</font> </strong><br>'; echo '<strong> <font color="red"> preço: '.utf8_encode($preço).'</font> </strong><br>'; echo '<strong> <font color="orange">Recado do Vendedor: '.utf8_encode($recadonacompra).'</font><br>'; echo '<strong> <font color="red">Nome do Vendedor: '.utf8_encode($nome).'</font> </strong><br>'; echo '<strong> <font color="black">Fornecedor: '.utf8_encode($fornecedor).'</font> </strong><br><br>'; echo "<a href='deletar_melhores.php?&id=".$id."'><img src='deletar.png' width='25' height='25' /></a><br><br>"; echo '<img src="linha.png" width="300" height="1" /><br><br>'; endforeach; else: echo 'Erro ao buscar: '.mysqli_erro($conexao_db); endif; ?> deletar_melhores.php
       
      <?php include 'conexao.php'; $id = $_GET['id']; //DELETAR $queryDeletarArq = "SELECT * FROM produtos_vendedores_lj04 WHERE id='".$id."'"; $deletarArq = mysqli_query($conexao_db, $queryDeletarArq); if($deletarArq): foreach ($deletarArq as $del): extract($del); $foto_db = $foto; endforeach; $queryDeletar = "DELETE FROM produtos_vendedores_lj04 WHERE id='".$id."'"; $deletar = mysqli_query($conexao_db, $queryDeletar); mysqli_close($conexao_db); header("location: index_melhores.php?deletado=ok"); else: mysqli_close($conexao_db); header("location: index_melhores.php?deletado=nok"); endif; ?>  
    • By Rui PG
      Olá Amigos!
      Por favor, vocês poderiam me ajudar em uma questão, sou muito novo em desenvolvimento e acabei pegando o barco andando aqui na empresa :) rs.
       
      NECESSIDADE
       
      - Carregar os dados que vem da procedure "Proc_Lista" nas colunas que foram criadas manualmente no Datagrid.
      - Ao clicar no checkbox, da coluna “Selecionar”, de qualquer linha do Datagrid, os dados da linha devem ser apresentados nos campos do Form (TextBox e Combobox).
      - Ao desmar o checkbox da linha selecionada no Datagrid, os dados devem ser limpos do Form.
       
      O que eu tentei fazer
       
       
      Quando executo o programa o sistema está criando os campos automaticamente dentro do datagrid e deveria carregar dentro de cada coluna que foi criada.

      Resultado que está dando errado, quando carrego os dados no datagrid.
      O código está substituindo os meus campos que terminam com o (X), nesse caso preciso que as informações carreguem dentro dos campos terminados em (X) na qual eu criei manualmente, porém respeitando as camadas do projeto na qual descrevi abaixo.
      (Print do form em execução)

       
      CAMADA DE DADOS
      - Lista os Dados para o DataGrid
              public DataTable MostrarVisita(int CODALUNO)
              {
                  comando.Connection = conexao.Conectar();
                  comando.CommandText = "Proc_Lista_FollowupDetalheVisita";
                  comando.CommandType = CommandType.StoredProcedure;
                  comando.Parameters.AddWithValue("@CODALUNO", CODALUNO);
                  leer = comando.ExecuteReader();
                  tabela.Load(leer);
                  conexao.Desconectar();
                  return tabela;
              }//fim do bloco
       
      CAMADA DE NEGOCIOS
      public DataTable MostrarFollowupGeral(string CODALUNO)
              {
                 DataTable tabela = new DataTable();
          tabela = objetoFollowupGeral.MostrarVisita(Convert.ToInt32(CODALUNO));
                 return tabela;
              }
       
      CAMADA DO USUARIO
              private void MostrarFollowupVisita()
              {
       
                  dtgVisita.Columns.Clear
                  var columnCheck = new DataGridViewCheckBoxColumn();
                  columnCheck.HeaderText = "[x]";
                  this.dtgVisita.Columns.Add(columnCheck);
       
                 
                  var varCodAlunoII = txtCodAluno.Text;
      FollowupGeralModel objectInterno = new FollowupGeralModel();               dtgVisita.DataSource = objectInterno.MostrarFollowupGeral(varCodAlunoII.ToString());
                  dtgVisita.Columns[1].Visible = false;
                  txtTotalLinhaDataGrid.Text = dtgVisita.RowCount.ToString();
              }
       
    • By eric.rmarques
      Eu precisava fazer o seguinte:
      Conforme a imagem, o meu botão cadastrar está desabilitado.
      Eu queria ao marcar o checkbox, que o botão fosse habilitado.
      Alguém pode me ajudar?
       
       
      <form method="POST" action="">
                  <label>Nome</label>
                  <input type="text" name="nome" placeholder="Digite o nome e o sobrenome"><br><br>
                  
                  <label>E-mail</label>
                  <input type="text" name="email" placeholder="Digite o seu e-mail"><br><br>
                  
                  <label>Usuário</label>
                  <input type="text" name="usuario" placeholder="Digite o usuário"><br><br>
                  
                  <label>Senha</label>
                  <input type="password" name="senha" placeholder="Digite a senha"><br><br>
                  
                  <input type="checkbox" name="aceito" value="on">Li e estou de Acordo.<br><br>
                  
                  <input type="submit" name="btnCadUsuario" value="Cadastrar" disabled><br><br>
                        
                  
                  Lembrou? <a href="login.php">Clique aqui</a> para logar!
              
              </form>

×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.