Ir para conteúdo
Fórum Script Brasil
  • 0

Checkbox


fernando_ott

Pergunta

23 respostass a esta questão

Posts Recomendados

  • 0

tp, no codigo, você tem que colocar um nome para cada checkbox:

exemplo:

<html>
<head><title> Página de teste </title>
</head>
</body>
<form method="GET" action="teste.php">
<input type="checkbox" name="opt1" value="sim"> Opção 1 <br/>
<input type="checkbox" name="opt2" value="sim"> Opção 2 <br/>
<input type="checkbox" name="opt3" value="sim"> Opção 3 <br/>
<input type="checkbox" name="opt4" value="sim"> Opção 4 <br/>
<input type="checkbox" name="opt5" value="sim"> Opção 5 <br/>
<input type="submit" value="Enviar">
</form>
</body>
</html>

o method do form também pode ser post

mas no exemplo se a pessoa marcar a checkbox com name opt1,

vai ser enviada uma variavel com nome "opt1" e com valor "sim"

isso vai ser para cada checkbox; Se a pessoa não escolher a checkbox , não sera criada variavel nenhuma pra ela.

o nome da variavel é o NAME da checkbox e o valor da variavel da checkbox quando clicada é o VALUE;

qualquer coisa é so pergunta aí!!

falou

Link para o comentário
Compartilhar em outros sites

  • 0

está na mão

-------------------------------------

PHP

<?

$nome = $_POST["nome"];

$email = $_POST["email"];

$pagamento = $_POST["pagamento"];

$checkbox = $_POST["opt1"];

$_POST["opt2"];

$_POST["opt3"];

$_POST["opt4"];

$mens .= "Nome: $nome<br> ";

$mens .= "Email: $email<br> ";

$mens .= "Forma de Pagamento: $pagamento <br> ";

$mens .= "Os produtos pedidos foram: $checkbox <p> ";

mail("$destinatario","$assunto","$mens","from: ".$de.$formato);

?>

----------------------------------------------

HTML

<form method="post" action="teste.php">

<p>

<input type="checkbox" name="opt1" value="sim">

Opção 1 <br/>

<input type="checkbox" name="opt2" value="sim">

Opção 2 <br/>

<input type="checkbox" name="opt3" value="sim">

Opção 3 <br/>

<input type="checkbox" name="opt4" value="sim">

Opção 4 <br/>

<input type="checkbox" name="opt5" value="sim">

Opção 5 </p>

<p></p>Nome:

<input name="nome" type="text" id="nome2" size="35"></p>

<p></p>E-mail para envio:

<input name="email" type="text" id="email2" size="35">

</p>

<p>Prefer&ecirc;ncia de pagamento:

<input type="radio" name="pagamento" value="boleto">

Boleto

<input type="radio" name="pagamento" value="deposito">

Dep&oacute;sito</p>

<p>

<input type="submit" name="Submit" value="Enviar">

</form>

Link para o comentário
Compartilhar em outros sites

  • 0

Tente assim:

$nome = $_POST["nome"];
$email = $_POST["email"];
$pagamento = $_POST["pagamento"];
$opt1 = $_POST["opt1"];
$opt2 = $_POST["opt2"];
$opt3 = $_POST["opt3"];
$opt4 = $_POST["opt4"];

Link para o comentário
Compartilhar em outros sites

  • 0

Owrite!!!

tem sim...

<?
  extract($_POST);
unset($_POST['a'], $_POST['b'], $_POST['c'], $_POST['d'], $_POST['e'], $_POST['f']);
foreach ($_POST as $campo => $valor) {
   $msg .= "<br />" . ucfirst($campo) . " : <b>" . $valor . "</b>";
}

Link para o comentário
Compartilhar em outros sites

  • 0

Tem um modo mais fácil de usar isso, supondo que você possa usar mais de 3 checkbox

Eu faço assim

<html>

<head>

<title></title>

</head>

<body>

<form name="opc" action="pegaChek.php" method="post">

<input type="checkbox" name="opt[]" value="1"/>value 1<br>

<input type="checkbox" name="opt[]" value="2"/>value 2<br>

<input type="checkbox" name="opt[]" value="3"/>value 3<br>

<input type="checkbox" name="opt[]" value="4"/>value 4<br>

<input type="submit" value="enviar" />

</form>

</body>

</html>

<?php

$sValores = $_POST[ "opt" ];

for( $i = 0; $i < count( $sValores ); $i++ ){

echo $sValores[$i]."<br>";

}

?>

Link para o comentário
Compartilhar em outros sites

  • 0

cara

vamos supor que você quer que apareça o produto no lugar do sim

faça o seguinte:

<html>
<head><title> Página de teste </title>
</head>
</body>
<form method="GET" action="teste.php">
<input type="checkbox" name="opt1" value="produto1"> Produto 1 <br/>
<input type="checkbox" name="opt2" value="produto2"> Produto 2  <br/>
<input type="checkbox" name="opt3" value="produto3"> Produto 3 <br/>
<input type="checkbox" name="opt4" value="produto4"> Produto 4  <br/>
<input type="checkbox" name="opt5" value="produto5"> Produto 5  <br/>
<input type="submit" value="Enviar">
</form>
</body>
</html>
ai você teria que usa isso que o ::frenetico:: falo
$opt1 = $_POST["opt1"];
$opt2 = $_POST["opt2"];
$opt3 = $_POST["opt3"];
$opt4 = $_POST["opt4"];

========================================

Como juntar todas as checkbox em uma só??

bom, eu tenho uma "teoria"

usa um campo do tipo Hidden

e um pouco de javascript

pera que eu já vo prepara o codigo

já volto!!

Link para o comentário
Compartilhar em outros sites

  • 0

Olha o codigo ai gente!!

está, esse exemplo que eu mando abaixo tem dois forms

em um você coloca so as checkbox e nomeia elas de acordo

com

c1, c2, c3, etc,,

o value delas é o nome do produto

ai vai ate c7, se você adicionar mais uma

adiciona um pouco de codigo no javascript

exemplo, adicionei uma checkbox ( c8) então no script

eu adiciono

if (prodt.c8.checked) {

valor_final += prodt.c8.value + separador;

}

so que isso antes do

document.formulario.total.value = valor_final;

assim eu adiciono isso para cada checkbox adicionada

vai ser enviado para você

uma variavel no php com o nome de "total"

todos os produtos estarao la, separados por " , "

assim

se eu escolhi o produto1 , 2 e 3

vai tar

produto1,produto2,produto3,

com a função explode do php você pode separar!!

<html>
<head>
<title>Página teste </title>
</head>
<body>
<script language="JavaScript">
function prod(){
var prodt = document.produtos;
separador = ','


valor_final= '';
if (prodt.c1.checked) {
valor_final += prodt.c1.value + separador;
}
if (prodt.c2.checked) {
valor_final += prodt.c2.value + separador;
}
if (prodt.c3.checked) {
valor_final += prodt.c3.value + separador;
}
if (prodt.c4.checked) {
valor_final += prodt.c4.value + separador;
}
if (prodt.c5.checked) {
valor_final += prodt.c5.value + separador;
}
if (prodt.c6.checked) {
valor_final += prodt.c6.value + separador;
}
if (prodt.c7.checked) {
valor_final += prodt.c7.value + separador;
}

document.formulario.total.value = valor_final;

}

</script>

<form name="produtos">
<!--este form contera apenas as checkbox e não sera enviado-->
<input type="checkbox" name="c1" value="produto1" onclick="prod()"> Produto 1 <br/>
<input type="checkbox" name="c2" value="produto2" onclick="prod()"> Produto 2 <br/>
<input type="checkbox" name="c3" value="produto3" onclick="prod()"> Produto 3 <br/>
<input type="checkbox" name="c4" value="produto4" onclick="prod()"> Produto 4 <br/>
<input type="checkbox" name="c5" value="produto5" onclick="prod()"> Produto 5 <br/>
<input type="checkbox" name="c6" value="produto6" onclick="prod()"> Produto 6 <br/>
<input type="checkbox" name="c7" value="e_assim_vai"> E assim vai <br/>
</form>


<form method="GET" action="teste.php" name="formulario">
<input type="hidden" value=" " name="total">
<input type="submit" value="Enviar">
</form>

</body>
</html>

Link para o comentário
Compartilhar em outros sites

  • 0

Eu tentei usando assim, com o for

<?

$nome = $_POST["nome"];
$email = $_POST["email"];
$pagamento = $_POST["pagamento"];
$sValores = $_POST[ "opt" ];
for( $i = 0; $i < count( $sValores ); $i++ ){
echo $sValores[$i]."<br>";
}
.
.
.
$mens .= "Os produtos pedidos foram: $sValores <p> ";

HTML

  <input name="opt[]" type="checkbox" id="opt[]" value="valor1">
    Opção 1 <br/>
    <input name="opt[]" type="checkbox" id="opt[]" value="valor1">
    Opção 2 <br/>
    <input name="opt[]" type="checkbox" id="opt[]" value="valor1">
    Opção 3 <br/>
    <input name="opt[]" type="checkbox" id="opt[]" value="valor1">
    Opção 4 <br/>
    <input name="opt[]" type="checkbox" id="opt[]" value="valor1">
    Opção 5 </p>

Mas quando submeto o formulario, e verifico no e-mail que é enviado,o campo que aparece fica assim

Os produtos pedidos foram: Array

Link para o comentário
Compartilhar em outros sites

  • 0

Eu acho mais fácil você fazer assim.

<html>

<head>

<title></title>

</head>

<body>

<form name="opc" action="pegaChek.php" method="post">

<input type="checkbox" name="opt[]" value="1"/>value 1<br>

<input type="checkbox" name="opt[]" value="2"/>value 2<br>

<input type="checkbox" name="opt[]" value="3"/>value 3<br>

<input type="checkbox" name="opt[]" value="4"/>value 4<br>

<input type="submit" value="enviar" />

</form>

</body>

</html>

<?php

$sValores = $_POST[ "opt" ];

for( $i = 0; $i < count( $sValores ); $i++ ){

echo $sValores[$i]."<br>";

}

?>

Link para o comentário
Compartilhar em outros sites

  • 0
Guest - Evandro -

Meu amigo apareceu 1234 por que o value que está é 1 2 3 e 4 é só você substituir o os números pelos vclores que você que que apareca ex.

<input type="checkbox" name="opt[]" value="arroz"/>value 1<br>

<input type="checkbox" name="opt[]" value="feijao"/>value 2<br>

<input type="checkbox" name="opt[]" value="macarrao"/>value 3<br>

<input type="checkbox" name="opt[]" value="leite"/>value 4<br>

os valores definidos dentro das aspas é o que vai ser enviado !!!

Bem galera do forum !!! pegando um gancho nesse tópico !!

eu to com uma dúvida vamos supor que nos checkbox acima eu tivesse nove opções sendo que eu poderia selecionar somente 2 como eu poderia fazer ...

Link para o comentário
Compartilhar em outros sites

  • 0

 no campo do checkbox lá no e-mail que recebe aparece array invéz do valor 1,2,3,4...
<?php

$sValores = $_POST[ "opt" ];
for( $i = 0; $i < count( $sValores ); $i++ ){
echo $sValores[$i]."<br>";
}

?>

O que esta acontecendo, é que invéz dos valores aparecerem, esta aparecendo 'array'.

O que sera que esta acontecendo, para invez de aparecerem os valores, estar aparecendo array?

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,7k
×
×
  • Criar Novo...