Ir para conteúdo

POWERED BY:

Arquivado

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

kelsoueu

Inserir checkbox em php para o mysql

Recommended Posts

Estou com um probleminha no meu banco de dados. É o seguinte: Fiz um banco de dados e montei uma tabela sem o checkbox lá no phpMyAdmin. Tudo funcionou perfeitamente! O problema é justamente quando quero inserir o checkbox. Lá na tabela, defini o campo 'news', referente ao meu checkbox, como tinyint, pq parece ser o tipo de variável mais recomendado para o caso. No meu arquivo .php, insiro o seguinte código:<?if (getenv("REQUEST_METHOD") == "POST") { $nome = $_POST['nome']; $ddd = $_POST['ddd']; $fone = $_POST['fone']; $email = $_POST['email']; $empresa = $_POST['empresa']; $estado = $_POST['estado']; $curso = $_POST['curso']; $news = (isset($_POST['news']) ? 1 : 0); if ($nome and $ddd and $fone and $email and $empresa) { $conexao = mysql_pconnect("localhost","root","senha"); mysql_select_db("rawtech_tabela",$conexao); $query = "INSERT INTO pagina VALUES('00000','$nome','$ddd','$fone','$email','$empresa','$estado','$curso','$news', NOW())"; mysql_query($query,$conexao); header("Location: sucesso.htm"); } else { header("Location: erro.htm"); }}Sem o "news", tudo roda perfeitamente! Onde está o meu erro?Muito obrigada,Kel

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigada pela recepção, Beraldo.Bom.. tentei tirar as aspas, além de outras "estripulias", mas tudo foi em vão. Penso agora se o erro não está lá no código html do checkbox. Atualmente ele está assim:<input name="news" type="checkbox" id="news" value="1" checked>Será? Obrigada,Kel

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quando voce coloca o $news, nada é inserido ou exceto $news é inserido?

 

Tente trocar

mysql_query($query,$conexao);
por

mysql_query($query,$conexao) or die (mysql_error());

Veja se aparece algum erro.

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso acontece quando você insere um registro duplicado em um campo único (Unique Key) ou com chave primária (Primary Key).

 

Sendo assim, troque "000" por NULL, ficando:

 

Insert Into tabela Values (NULL, demais campos);

 

Isso fará com que o MySQl gere o id automaticamente.

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Só complementando, é ideal retirar o or die (mysql_error()) spós a conclusão do sistema, para que, caso haja algum futuro erro ocasional, o visitante não veja a mensagem de erro.

 

Além de mysql_error(), existe a função mysql_errno(). Com ela você pode comparar os códigos de erros MySQL a fim de montar um tratamento de erros. ;)

 

Daqui uns dias acredito que o Fabyo publicará um tutorial sobre tratamentos de erros, que estava sendo elaborado entre os moderadores de PHP.

 

[]'s

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.