William Bruno 1501 Denunciar post Postado Dezembro 18, 2009 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
Mailahn 0 Denunciar post Postado Dezembro 21, 2009 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
William Bruno 1501 Denunciar post Postado Dezembro 22, 2009 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
Mailahn 0 Denunciar post Postado Dezembro 22, 2009 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
Mailahn 0 Denunciar post Postado Dezembro 22, 2009 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
Mailahn 0 Denunciar post Postado Dezembro 23, 2009 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