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

Problemas Com Checkbox


fernando_ott

Pergunta

Estou usando esse script para checkbox

em um formulario para mandar para um e-mail.

<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>";
}

?>

O Problema é que quando submeto o formulario, no e-mail que recebe, o campo do checkbox não aparece os valores, e sim a palavra `array`.

O que pode estar de errado?

Link para o comentário
Compartilhar em outros sites

13 respostass a esta questão

Posts Recomendados

  • 0

Tente assim:

<?php

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

?>

Se não for assim, você está fazendo errado, porque ele esta procurando valores de 0 até ... e no seu form você está colocando valores acima de 1!!

muda o 0 e coloca o 1

;)

Link para o comentário
Compartilhar em outros sites

  • 0

Eae Frenetico, tentei dos dois jeitos que você sugeriu mas ainda continua aparecendo array.

Os valores que eu uso são nomes, por exemplo:

<input type="checkbox" name="opt[]" value="GD001"/>
    Ebooks<br>
    <input type="checkbox" name="opt[]" value="GD002"/>
    Livros<br>
    <input type="checkbox" name="opt[]" value="CW055"/>
    Carros<br>
    <input type="checkbox" name="opt[]" value="IF001"/>
    Armarios

O formulario que é enviado pro e-mail quando eu submeto é assim

imagem.gif

$nome = $_POST["nome];

$email = $_POST["email"];

$pagamento = $_POST["pagamento"];

$sValores = $_POST[ "opt" ];

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

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

}

o que que pode ser?

Link para o comentário
Compartilhar em outros sites

  • 0

Oh um exemplo:

for ($i = 1; $i <= 200; $i++) {
   echo $i;
}

Esse script faz que amostram numeros de 1 à 200, entendeu??

É que estou meio ocupado aqui, amanhã vejo com cuidado

;)

[]''s

Link para o comentário
Compartilhar em outros sites

  • 0

Ola caro amigo Frenetico, tudo legall?

Cara, qual exatamente o problema? Aponte a linha onde ocorre o

problema e mostre sua saída, por favor. Talvez esteja em outra linha,

se houver outras :)

Me dei ao trabalho de executar seu código.

Selecionei os 4 checks e como saída obtive:

1

2

3

4

e o outro

GD001

GD002

CW055

IF001

Você chegou nisso pelo menos?

Ou o problema não está nesse trecho de código ou, sei lá, pode ser incompatibilidade de versões do php.

Pode tentar isso também:

$sValores = array();

$sValores = $_POST[ "opt" ];

Conta aí se conseguir. :)

Link para o comentário
Compartilhar em outros sites

  • 0

As linhas referentes ao checkboxs no php

<?php

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

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

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

?>

As linhas das checkbox no HTML

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

Ebook<br>

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

Livro<br>

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

Carro<br>

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

Musica

daí quando submetido o formulario, aparece "array" invez dos valores como pode ver nesse print scrin que fiz da parte do e-mail.

http://ml.publibr.com/imagem.gif

Como que podemos arrumar isso?

Link para o comentário
Compartilhar em outros sites

  • 0

As linhas referentes ao checkboxs no php

<?php

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

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

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

?>
As linhas das checkbox no HTML
<input type="checkbox" name="opt[]" value="GD001"/> Ebook<br> <input type="checkbox" name="opt[]" value="GD002"/> Livro<br> <input type="checkbox" name="opt[]" value="CW055"/> Carro<br> <input type="checkbox" name="opt[]" value="IF001"/> Musica
Fiz um teste aqui com meu script e deu certo ^^ vamu lá:
extract($_POST);
<?php

unset($_POST['a'], $_POST['b'], $_POST['c'], $_POST['d'], $_POST['e'], $_POST['f']);
foreach ($_POST as $campo => $valor) {

$mens .= "<br />" . ucfirst($campo) . " : <b>" . $valor . "</b>";

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

?>
 <input type="checkbox" name="opc1" value="GD001"/>
    Ebook<br>
    <input type="checkbox" name="opc2" value="GD002"/>
    Livro<br>
    <input type="checkbox" name="opc3" value="CW055"/>
    Carro<br>
    <input type="checkbox" name="opc4" value="IF001"/>
    Musica

Quando for pro seu email vai ser assim:

opc1 : GD0001

opc2 : GD0002

opc3 : CW055

opc4 : IF001

falou's

:D

Link para o comentário
Compartilhar em outros sites

  • 0

Eae Frenético...acho que fecho... mas está dando erro de PHP no meu código o que pode ser?


<?
$nome = $_POST["nome"];

$email = $_POST["email"];

$pagamento = $_POST["pagamento"];

$destinatario = "email@dominio.com.br";

$formato = "\nContent-type: text/html\n";

$assunto="Produtos pedidos";

$de = "Compra";

unset($_POST['a'], $_POST['b'], $_POST['c'], $_POST['d'], $_POST['e'], $_POST['f']);
foreach ($_POST as $campo => $valor) {

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

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

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

$mens .= "<br />" . ucfirst($campo) . " : <b>" . $valor . "</b>";

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

?>

valews :rolleyes:

Link para o comentário
Compartilhar em outros sites

  • 0

<?

extract($_POST);

$destinatario = "email@dominio.com.br";

$formato = "\nContent-type: text/html\n";

$assunto="Produtos pedidos";

$de = "Compra";

unset($_POST['a'], $_POST['b'], $_POST['c'], $_POST['d'], $_POST['e'], $_POST['f']);

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

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

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

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

$mens .= "<br />" . ucfirst($campo) . " : <b>" . $valor . "</b>";

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

?>

Tenta aí

;)

Link para o comentário
Compartilhar em outros sites

  • 0

Eae Frenetico...

da uma olhada nas páginas que eu estou testando...

http://ml.publibr.com/teste.php

http://ml.publibr.com/checkbox.htm

No php eu coloquei esse ultimo código php que você me passou, está dando esse erro.

Parse error: parse error in C:\Inetpub\vhosts\publibr.com\subdomains\ml\httpdocs\teste.php on line 26

:blink:

valeu

Link para o comentário
Compartilhar em outros sites

  • 0

Tenta ai!!

<?
extract($_POST);

$destinatario = "email@dominio.com.br";

$formato = "\nContent-type: text/html\n";

$assunto="Produtos pedidos";

$de = "Compra";

unset($_POST['a'], $_POST['b'], $_POST['c'], $_POST['d'], $_POST['e'], $_POST['f']);
foreach ($_POST as $campo => $valor) {

$mens .= "<br />" . ucfirst($campo) . " : <b>" . $valor . "</b>";

mail("$destinatario","$assunto","$mens","from: ".$de.$formato);
echo "Mensagem foi enviado com sucesso!";
?>

Link para o comentário
Compartilhar em outros sites

  • 0

Gostaria de saber do amigo aí se conseguiu o que você queria?? :huh:

Acabei de testar la no seu site e deu certo... conseguiu aí??

me fala aí pra qualquer coisa te ajudar ^^

[]''s

Link para o comentário
Compartilhar em outros sites

  • 0

Eae Frenetico.... vix cara valeu mesmo, consegui, está tinindo agora!!!!!

Pra galera que quise, tive que da uma arrumadinha só, pois estava enviando 6 e-mail e um } estava faltando.

agora está certinho

<?
extract($_POST);

$destinatario = "email@dominio.com.br";

$formato = "\nContent-type: text/html\n";

$assunto="Produtos pedidos";

unset($_POST['a']);
foreach ($_POST as $campo => $valor) {
$mens .= "<br />" . ucfirst($campo) . " : <b>" . $valor . "</b>";
}
mail("$destinatario","$assunto","$mens","from: ".$email.$formato); 
echo "Dados Enviados com Sucesso!!!!!!";

?>

valeu mesmo a ajuda Frenetico!!!

abraços

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,3k
    • Posts
      652,4k
×
×
  • Criar Novo...