Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Fabyo

Pegar dados de checkbox

Recommended Posts

Como tem bastante usuarios que tem duvidas sobre checkbox vou mostrar um

exemplo simples de como pegar os dados escolhidos pelo checkboxs

 

check.html:

 

<html>
<head>
</head>
<body>
<form action="check.php" method="post">
[b]Qual Banco de dados  você conhece? [/b]

<input type=checkbox name="banco[]" value="mysql">Mysql

<input type=checkbox name="banco[]" value="postgre">postgre

<input type=checkbox name="banco[]" value="acess">Acess

<input type=checkbox name="banco[]" value="sqlite"> Sqlite

<input type=checkbox name="banco[]" value="oracle"> Oracle

<input type=checkbox name="banco[]" value="sqlserver">Sql server


<input type=checkbox name="news" value=1> [b]Deseja receber Newsletter?[/b]


<input type=submit value="Enviar">
</form>

 

check.php:

 

PHP
<?php

// Verifica se usuário escolheu algum banco

if(isset($_POST["banco"]))

{

    echo "Os bancos de dados que você conhece são:

";

   

    // Faz loop pelo array do banco

    foreach($_POST["banco"] as $banco)

    {

        echo "* $banco

";

    }

}

else

{

    echo "Você não escolheu número preferido!

";

}

 

// Verifica se usuário quer receber newsletter

if(isset($_POST["news"]))

{

    echo "Você deseja receber as novidades por email!";

}

else

{

    echo "Você não quer receber novidades por email...";

}

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola amigo, como poderia pegar todos os dados postados e "jogar" num so variavel?pra inserir num um unico campo da tabela?***( ja apanhei mais de 2H com isso... e nada)***

Compartilhar este post


Link para o post
Compartilhar em outros sites

você pode fazer assim:

 

exemplo:

 

$variavel = "";

foreach ($_POST as $campo => $valor) { $$campo = $valor;

 

$variavel .= $valor;

 

}

esse é o jeito concatenando

só que ira ficar numa variavel só tudo junto

tipo assim campocampo2campo3campo4 entendeu ?

 

dai se nao quiser assim você pode colocar num array:

 

foreach ($_POST as $campo => $valor) { $$campo = $valor;

 

$variavel[] = $valor;

 

}

 

você tbm pode acrescentar qualquer caracter ou espaço se precisar

 

quanquer duvida posta ai

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fabyo, muito obrigado pela atençao.

 

ficou assim

 

$variavel = "";   foreach ($_POST["turma"] as $campo => $valor) { $$campo = $valor;    $variavel .= $valor;    }

so que os valores dos checks sao "1ª Série En. Fund. , 2ª Série En. Fund. "...

 

e ele so salva no banco isso: 1ª2ª

 

sera pq? eu fiz algo de errado?

 

 

Valewss!!!

elizeu chagas

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estou finaliznado um form (que é enviado para um e-mail) conforme segue

 

<input name="horario" type="checkbox" id="horario" value="Segunda a Sexta - 08:00h às 12:00h ">

 

<input name="horario" type="checkbox" id="horario" value="Sábados - 08:00h às 12:00h ">

 

Queria que no e-mail aparecesse (considerando que os 02 estivessem selecionaods):

 

Horário: Segunda a Sexta - 08:00h as 12:00h, Sabados - 08:00h ás 12:00h

 

________________________________________________________________

Tentei utilizar a sugestão do Eliseu:

 

$variavel = "";

foreach ($_POST["horario"] as $campo => $valor) { $$campo = $valor;

 

$variavel .= $valor;

}

é me apresentado o erro: Invalid argument supplied for foreach()

 

Logo fui para a dica do AAlves:

$options = $_POST['horario'];

$options_text = implode(', ',$options);

 

e o erro retornado foi: implode(): Bad arguments.

 

Onde eu poderia estar alterando no código para que esse funcione corretamente?

(Detalhe, tenho mais 02 grupos de checkboxes no mesmo form... por isso vou usar uma rotina para cada um)

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim<br /> é validoapartir do HTML 1.1 (eu acho), todas as tags tem que ser fechadas... entao no caso img ficaria:<img />etc[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal,

Vi a discussão e aproveitei as ideias. consigo exibir os valores "chekados" na tela do navegador, mas só levo para o email o ultimo valor "chekado" no formulário.. To postando o caodigo abaixo, se puderem ajudar!!!

HTML

 

<input name="modulo[]" type="checkbox" value="Registro de Pessoal">Registro de Pessoal<br>

<input name="modulo[]" type="checkbox" value="Treinamento">Treinamento<br>

<input name="modulo[]" type="checkbox" value="Cargos e Salários">Cargos e Salários<br>

<input name="modulo[]" type="checkbox" value="Curriculos">Curriculos<br>

<input name="modulo[]" type="checkbox" value="Beneficios Flexiveis">Beneficios Flexiveis<br>

<input name="modulo[]" type="checkbox" value="Gerador de Relatórios">Gerador de Relatórios<br>

<input name="modulo[]" type="checkbox" value="Recrutamento e Seleção">Recrutamento e Seleção<br>

<input name="modulo[]" type="checkbox" value="Contabilização e Rateio">Contabilização e Rateio<br>

<input name="modulo[]" type="checkbox" value="Administração Avançada de RH">Administração Avançada de RH<br>

<input name="modulo[]" type="checkbox" value="Medicina Ocupacional">Medicina Ocupacional<br>

<br>

 

PHP

 

if(isset($_POST["modulo"]))

{

echo "Os modulos Escolhidos foram:<BR>";

// Faz loop pelo array dos numeros

foreach($_POST["modulo"] as $modulo)

{

echo "- " . $modulo . "<BR>";

}

}

else

{

echo "Você não escolheu modulos!<br>";

}

$msg .= "Qual modulos Interessa:". $modulo . "\n";

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bacana,

 

So faltou uma coisa.

 

<?$selecao = "";if(isset($_POST["modulo"])){echo "Os modulos Escolhidos foram:<BR>";// Faz loop pelo array dos numerosforeach($_POST["modulo"] as $modulo){echo "- " . $modulo . "<BR>";$selecao .= $modulo;}}else{echo "Você não escolheu modulos!<br>";}$msg .= "Qual modulos Interessa:". $selecao. "\n";?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Gente!

Preciso de ajuda!

Gostaria de pegar os valores dos checkboxes para salvar no banco de dados. Os checkboxes marcados serão enviados com valor 1 e os que não forem marcados, com valor 0. Consigo recuperar somente os nomes dos que são marcados na página seguinte (cadastro.php), mas gostaria do valor de todos. Queria passar um array com esses valores pra essa página cadastro.php.

Alguém pode me ajudar?

Obrigada!

 

 

Os scripts estão assim:

 

infra_estrutura.php

 

<span id="tabcampo">6.1 Rede de Serviços</span><BR>

<input type="checkbox" name="infra[]" value="BO_ENERGIA"><span id="tabcampop">1. Energia</span><BR>

<input type="checkbox" name="infra[]" value="BO_TELEFONE"><span id="tabcampop">2. Telefone</span><BR>

<input type="checkbox" name="infra[]" value="BO_TRANSPCOL"><span id="tabcampop">3. Transporte Coletivo</span><BR>

<input type="checkbox" name="infra[]" value="BO_ESGOTO"><span id="tabcampop">4. Esgoto</span><BR>

<input type="checkbox" name="infra[]" value="BO_AGUA"><span id="tabcampop">5. Água</span><BR>

<input type="checkbox" name="infra[]" value="BO_GAS"><span id="tabcampop">6. Gás</span><BR>

<input type="checkbox" name="infra[]" value="BO_TVACABO"><span id="tabcampop">7. TV a Cabo</span><P>

 

 

cadastro.php

 

foreach($_POST['infra'] as $valor){

echo " $valor";

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Gente!

Preciso de ajuda!

Gostaria de pegar os valores dos checkboxes para salvar no banco de dados. Os checkboxes marcados serão enviados com valor 1 e os que não forem marcados, com valor 0. Consigo recuperar somente os nomes dos que são marcados na página seguinte (cadastro.php), mas gostaria do valor de todos. Queria passar um array com esses valores pra essa página cadastro.php.

Alguém pode me ajudar?

Obrigada!

Faz assim:

 

infra_estrutura.php

<span id="tabcampo">6.1 Rede de Serviços</span><BR>							
<input type="checkbox" name="infra[]" value="BO_ENERGIA"><span id="tabcampop">1. Energia</span><BR>
<input type="checkbox" name="infra[]" value="BO_TELEFONE"><span id="tabcampop">2. Telefone</span><BR>
<input type="checkbox" name="infra[]" value="BO_TRANSPCOL"><span id="tabcampop">3. Transporte Coletivo</span><BR>
<input type="checkbox" name="infra[]" value="BO_ESGOTO"><span id="tabcampop">4. Esgoto</span><BR>
<input type="checkbox" name="infra[]" value="BO_AGUA"><span id="tabcampop">5. Água</span><BR>
<input type="checkbox" name="infra[]" value="BO_GAS"><span id="tabcampop">6. Gás</span><BR>
<input type="checkbox" name="infra[]" value="BO_TVACABO"><span id="tabcampop">7. TV a Cabo</span><P>


cadastro.php
$valores = array('BO_ENERGIA'=>0, 'BO_TELEFONE'=>0, 'BO_TRANSPCOL'=>0, 'BO_ESGOTO'=>0, 'BO_AGUA'=>0, 'BO_GAS'=>0, 'BO_TVACABO'=>0);

foreach($_POST['infra'] as $key=>$valor){
 $valores[$key] = 1;
}

print_r($valores);

Com isso você cria um array antes, com todos os valores iguais a 0 e depois só troca os que a pessoa marcou pra 1... :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.