Ir para conteúdo

POWERED BY:

Arquivado

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

Mailahn

[Resolvido] Checkbox + INSERT

Recommended Posts

Parece que tá tudo certo... pode ser aquelas variáveis com nomes iguais..

deixe assim:

 

$todas_areas=''; 
foreach( $_POST["areaint"] AS $cada_area ) 
   $todas_areas .= "'".$cada_area."',"; 
$areas = substr( $todas_areas, 0 , -1 );//apenas para retirar a ultima virgula
echo $areas.'<br /><br />'
e continue executando a query, e mostrando o resultado dos echos...

 

se inserir corretamente no banco, apenas comente a linha dos echos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Código atual:

 

 

$todas_areas=''; 
  foreach( $_POST["areaint"] as $cada_area ) 
     $todas_areas .= "'".$cada_area."',"; 
  $areas = substr( $todas_areas, 0 , -1 );//apenas para retirar a ultima virgula 
 
 
$query = "INSERT INTO `secaoparticipe`(`id_user`, `nome`, `email`, `telefone`, `areatuacao`, `areaint`, `mensagem`)  
VALUES (NULL , '".$nome."', '".$email."', '".$telefone."', '".$areatuacao."', (".$todas_areas."), '".$mensagem."')"; 
 
 echo $areas;
 $resultado = mysqli_query($conexao, $query);

- Está imprimindo as opções, mas ainda não está gravando!:(

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faz o seguinte:

$todas_areas=''; 
  foreach( $_POST["areaint"] as $cada_area ) 
     $todas_areas .= "'".$cada_area."',"; 
  $areas = substr( $todas_areas, 0 , -1 );//apenas para retirar a ultima virgula 


$query = "INSERT INTO `secaoparticipe`(`id_user`, `nome`, `email`, `telefone`, `areatuacao`, `areaint`, `mensagem`)  
VALUES (NULL , '".$nome."', '".$email."', '".$telefone."', '".$areatuacao."', (".$areas."), '".$mensagem."')"; 
 
 echo $query;

 $mysqli = new mysqli("localhost", "root", "123", "SEU BANCO");
 $resultado = $mysqli->query( $query );
 echo $mysqli->error;
configure a instancia do MySQLi, e verifique se inseriu.

Diga tudo oq aparecer na tela.. incluindo os echos e possiveis erros.

Compartilhar este post


Link para o post
Compartilhar em outros sites

echo 'Economia Solidaria','Fazer curso','Pesquisar'

 

Warning: mysqli::mysqli() [function.mysqli-mysqli]: (28000/1045): Access denied for user 'root'@'localhost' (using password: YES) in C:\wamp\www\Oficial_Pagina_SITE\secaoparticipe.php on line 43

 

Warning: mysqli::query() [function.mysqli-query]: Couldn't fetch mysqli in C:\wamp\www\Oficial_Pagina_SITE\secaoparticipe.php on line 44

Warning: main() [function.main]: Couldn't fetch mysqli in C:\wamp\www\Oficial_Pagina_SITE\secaoparticipe.php on line 45

 

echo Não foi possível cadastrá-lo!

 

 

Bah, na sexta-feira eu tinha ido pra casa tri feliz achando que tinha conseguido, mas havia esquecido de visualizar o meu sitema. :( rs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha só, os erros estão aparecendo exatamente nas linhas que tu pediu para acrescentar ao código!

 

- A questão toda está no INSERT, pq quando eu coloco $areaint ao invés da variável $areas, o programa executa, logo grava no BD as demais informações, exceto o campo das escolhas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Resolvido! Olá Pessoal, nada mais justo postar aqui que a implementação foi bem sucedida. Então, quero compartilhar meus scripts a fim de auxiliar meus caros colegas. Veja abaixo:

 

//-------------- Código do Formulário em HTML - CHECKBOXES ----------------

 

<ul>
<li><input type="checkbox" name="areaint[]" value="Monitoria">Atuar como monitor(a)</li>
<li><input type="checkbox" name="areaint[]" value="Economia Solidaria">Conhecer a Economia Solidária</li>
<li><input type="checkbox" name="areaint[]" value="Fazer curso">Fazer curso de formação</li>
<li><input type="checkbox" name="areaint[]" value="Pesquisar">Pesquisar</li>
<li><input type="checkbox" name="areaint[]" value="Outros">Outros</li>
</ul>

 

//----------------- TABELA para o BD -----------------

 

CREATE TABLE secaoparticipe (id_user int (10) NOT NULL AUTO_INCREMENT, 
nome varchar(50) NOT NULL, 
email varchar(40) NOT NULL,
telefone varchar(15) NOT NULL, 
areatuacao enum ('Ciencias Agrarias', 'Ciencias da Saude', 'Ciencias Sociais', 'Contabeis', 'Direito', 'Engenharias', 'Informatica') NOT NULL, 
areaint set ('Monitoria', 'Economia Solidaria', 'Fazer curso', 'Pesquisar', 'Outros') NOT NULL, 
mensagem text NOT NULL, 
primary key(id_user));

 

//-------------------- Código em PHP -------------------

 

<?php

$inclui = 0;
if(isset($_POST["nome"]) && isset($_POST["email"]) && isset($_POST["telefone"]) && isset($_POST["areatuacao"])  && isset($_POST["areaint"]) && isset($_POST["mensagem"]))
{ 
   $nome = $_POST["nome"];
   $email = $_POST["email"];
   $telefone = $_POST["telefone"];
   $areatuacao = $_POST["areatuacao"];
   $areaint = $_POST["areaint"];
   $mensagem = $_POST["mensagem"];

   $nome = addslashes($nome);
   
   $inclui = 1;
}

$conexao = mysqli_connect("localhost", "root", "") or die ("Erro na conexão ao banco de dados.");
mysqli_select_db($conexao,"SEU_BANCO");


if($inclui)
{ 
  
 $areas = isset($_POST["areaint"]) && is_array($_POST["areaint"])?implode(',',$_POST["areaint"]):'DEFAULT'; 

$query = "INSERT INTO `SUA_TABELA`(`id_user`, `nome`, `email`, `telefone`, `areatuacao`, `areaint`, `mensagem`)  VALUES (NULL , '".$nome."', '".$email."', '".$telefone."', '".$areatuacao."', '".$areas."', '".$mensagem."')"; 

 $resultado = mysqli_query($conexao, $query);

  }
 
   
  if($resultado)
   {
     echo 'Dados enviados com sucesso!';
   }
  else
  {
     echo 'Não foi possível cadastrá-lo!';
  }
}

mysqli_close($conexao);

                                                                                  
?>

//---------------------- The End -----------------------

 

 

P.S.: Obrigada, William Bruno pela tua ajuda, e também ao outro guri que comentou. Enfim, processo concluído! :)

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.