NetBoy16 72 Denunciar post Postado Outubro 24, 2011 Olá a todos e bom dia, semana passada tinha pedido sugestões doque iria desenvolver pois iria começar a parte prática dos meus estudos, então resolvi primeiro fazer uma coisa básica só pra excercitar as operações básicas(inserção, exclusão, alteração e busca) e depois fazer oque me sugerissem, beleza, fiquei um dia trabalhando nisso, uma tarde pra dizer a verdade, dai o resto da semana estive ausente, dai hoje voltei com força total e vou estar me dedicando aos estudos/prática, a página que faz inserção terminei agora, fui testar e aparentemente está tudo ok, não deu nenhum warning ou error, mas fui verificar no phpmyadmin se o registro está lá e tchanran, tabela vazia ! <_< , não sei oque está acontecendo, analisei o código e aparentemente está tudo ok, vou passar o código e gostaria que alguém me ajudasse fazendo o favor, obrigado desde já. <?php $nome = $_POST["nome"]; $endereco = $_POST["endereco"]; $sexo = $_POST["sexo"]; $obs = $_POST["obs"]; mysql_connect("localhost", "root", ""); mysql_select_db("dbSimples"); mysql_query("INSERT INTO cadastro VALUES ('$nome', $endereco', '$sexo', '$obs')"); mysql_close(); echo "Pessoa cadastrada com sucesso ! <br />"; ?> <a href="Cadastro.html">Voltar</a> Compartilhar este post Link para o post Compartilhar em outros sites
Victor Cometti 8 Denunciar post Postado Outubro 24, 2011 exibir erro na query mysql_query("INSERT INTO cadastro VALUES ('$nome', $endereco', '$sexo', '$obs')") or die(mysql_error()); Compartilhar este post Link para o post Compartilhar em outros sites
NetBoy16 72 Denunciar post Postado Outubro 24, 2011 Eu alterei o codigo colocando isso, mas ele continua dando ok, não mostrou nenhuma mensagem de erro, oque será que acontece ? Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Outubro 24, 2011 faltou uma aspa ali antes do endereco. mysql_query("INSERT INTO cadastro VALUES ('$nome', '$endereco', '$sexo', '$obs')")or die( mysql_error() ); e habilite as mensagens de erro: http://forum.imasters.com.br/topic/375800-orientacoes-para-uma-boa-participacao/ Compartilhar este post Link para o post Compartilhar em outros sites
NetBoy16 72 Denunciar post Postado Outubro 24, 2011 Vlw, eu arrumei isso mas o codigo continua não inserindo :mellow: , ele está assim agora: <?php @ini_set('display_errors', '1'); error_reporting(E_ALL); $nome = $_POST["nome"]; $endereco = $_POST["endereco"]; $sexo = $_POST["sexo"]; $obs = $_POST["obs"]; mysql_connect("localhost", "root", ""); mysql_select_db("dbSimples"); mysql_query("INSERT INTO cadastro VALUES ('$nome', '$endereco', '$sexo', '$obs')") or die(mysql_error()); mysql_close(); echo "Pessoa cadastrada com sucesso ! <br />"; ?> <a href="Cadastro.html">Voltar</a> Compartilhar este post Link para o post Compartilhar em outros sites
Guilherme_90 33 Denunciar post Postado Outubro 24, 2011 Debuga o seu SQL, por exemplo: $sql = "INSERT INTO cadastro VALUES ('$nome', '$endereco', '$sexo', '$obs')" or die(mysql_error()); print_r(mysql_query($sql)); #ou print_r($sql); Eu "costumo" fazer assim: <?php ini_set('display_errors', '1'); error_reporting(E_ALL); mysql_connect("localhost", "root", ""); mysql_select_db("dbSimples"); mysql_query("INSERT INTO cadastro VALUES ('{$_POST['nome']}', '{$_POST['endereco']}', '{$_POST['sexo']}', '{$_POST['obs']}')") or die(mysql_error()); mysql_close(); echo "Pessoa cadastrada com sucesso ! <br />"; ?> Compartilhar este post Link para o post Compartilhar em outros sites
NetBoy16 72 Denunciar post Postado Outubro 24, 2011 Legal esse seu jeito, dá pra economizar algumas linhas de codigo :P Vou debugar aqui edit:ele não mostra nada, só a mensagem de sucesso e o link pra voltar. vou tentar fazer do jeito que você mostrou ali e dai edito novamente EDIT:Continua a mesma coisa, vou colocar o codiog da pagina html tb: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Painel de Controle</title> <link href="Estilo.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="corpo"> <div id="topo"><img src="Img/Logo.jpg" width="600" height="100" /></div> <div id="menu"><a href="#">Home</a> | <a href="#">Cadastrar</a> | <a href="#">Listar</a> | <a href="#">Alterar</a> | <a href="#">Excluir</a></div> <div id="centro"> <p style="font-weight:bold">CADASTRO:</p> <form id="form1" name="form1" method="post" action="cadastrar.php"> <p> <label for="nome">Nome:</label> <input name="nome" type="text" id="nome" size="50" /> </p> <p> <label for="endereco">Endereço:</label> <input name="endereco" type="text" id="endereco" size="50" /> </p> <p>Sexo: <input type="radio" name="sexo" id="sexo" value="F" /> <label for="sex"></label> Feminino <input name="sexo" type="radio" id="sexo" value="M" checked="checked" /> <label for="sex"></label> Masculino</p> <p> <label for="obs">Observações:</label> <br /> <textarea name="obs" id="obs" cols="50" rows="5"></textarea> </p> <p> <input type="submit" name="envia" id="envia" value="Enviar" /> <input type="reset" name="limpa" id="limpa" value="Limpar" /> </p> </form> </div> </div> </body> </html> Compartilhar este post Link para o post Compartilhar em outros sites
Guilherme_90 33 Denunciar post Postado Outubro 24, 2011 Pra debugar, não chama o HTML na sua URL, chama direto o arquivo.php, que no caso tem o seu SQL. E retira o código pra redirecionar o cara pra outra página, por que se não tu nunca vai conseguir debugar legal. Compartilhar este post Link para o post Compartilhar em outros sites
NetBoy16 72 Denunciar post Postado Outubro 24, 2011 Hmmm, tirei o echo e aquela parte html ficando assim: <?php @ini_set('display_errors', '1'); error_reporting(E_ALL); mysql_connect("localhost", "root", ""); mysql_select_db("dbSimples"); $sql = mysql_query("INSERT INTO cadastro VALUES ('{$_POST['nome']}', '{$_POST['endereco']}', '{$_POST['sexo']}', '{$_POST['obs']}')") or die(mysql_error()); print_r($sql); mysql_close(); ?> Dai executei o arquivo php e apareceu isso aqui: Notice: Undefined index: nome in C:\Program Files (x86)\EasyPHP-5.3.8.1\www\Exemplos\Painel de Controle\cadastrar.php on line 4 Notice: Undefined index: endereco in C:\Program Files (x86)\EasyPHP-5.3.8.1\www\Exemplos\Painel de Controle\cadastrar.php on line 5 Notice: Undefined index: sexo in C:\Program Files (x86)\EasyPHP-5.3.8.1\www\Exemplos\Painel de Controle\cadastrar.php on line 6 Notice: Undefined index: obs in C:\Program Files (x86)\EasyPHP-5.3.8.1\www\Exemplos\Painel de Controle\cadastrar.php on line 7 Pessoa cadastrada com sucesso ! Voltar Compartilhar este post Link para o post Compartilhar em outros sites
Guilherme_90 33 Denunciar post Postado Outubro 24, 2011 Claro, você colocou no seu SQL os dados recebidos pelo $_POST (o formulário). Troque eles por qualquer nome, e vê o que te retorna. Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Outubro 24, 2011 você só deve inserir no banco, depois q o cara enviar o form, então verifique isso: <?php ini_set('display_errors', '1'); error_reporting(E_ALL); if( $_SERVER['REQUEST_METHOD']=='POST' ) { mysql_connect("localhost", "root", ""); mysql_select_db("dbSimples"); mysql_query("INSERT INTO cadastro VALUES ('{$_POST['nome']}', '{$_POST['endereco']}', '{$_POST['sexo']}', '{$_POST['obs']}')") or die(mysql_error()); mysql_close(); echo "Pessoa cadastrada com sucesso ! <br />"; } ?> esse IF vai esperar o form ser enviado para executar a rotina dentro dele. Compartilhar este post Link para o post Compartilhar em outros sites
NetBoy16 72 Denunciar post Postado Outubro 24, 2011 Meu codigo ficou assim: <?php @ini_set('display_errors', '1'); error_reporting(E_ALL); $nome = $_POST["nome"]; $endereco = $_POST["endereco"]; $sexo = $_POST["sexo"]; $obs = $_POST["obs"]; if( $_SERVER['REQUEST_METHOD'] == 'POST' ) { mysql_connect("localhost", "root", ""); mysql_select_db("dbSimples"); $sql = mysql_query("INSERT INTO cadastro VALUES ('$nome', '$endereco', '$sexo', '$obs')") or die(mysql_error()); print_r($sql); mysql_close(); echo "Pessoa cadastrada com sucesso ! <br />"; } ?> <a href="Cadastro.html">Voltar</a> Mas continua dando aquele erro '-' Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Outubro 24, 2011 <?php @ini_set('display_errors', '1'); error_reporting(E_ALL); if( $_SERVER['REQUEST_METHOD'] == 'POST' ) { $nome = $_POST["nome"]; $endereco = $_POST["endereco"]; $sexo = $_POST["sexo"]; $obs = $_POST["obs"]; mysql_connect("localhost", "root", ""); mysql_select_db("dbSimples"); $sql = mysql_query("INSERT INTO cadastro VALUES ('$nome', '$endereco', '$sexo', '$obs')") or die(mysql_error()); print_r($sql); mysql_close(); echo "Pessoa cadastrada com sucesso ! <br />"; } ?> você tinha q colocar a criação das variaveis dentro do IF tb. Compartilhar este post Link para o post Compartilhar em outros sites
NetBoy16 72 Denunciar post Postado Outubro 24, 2011 Então, o codigo ficou assim: <?php @ini_set('display_errors', '1'); error_reporting(E_ALL); if( $_SERVER['REQUEST_METHOD'] == 'POST' ) { $nome = $_POST["nome"]; $endereco = $_POST["endereco"]; $sexo = $_POST["sexo"]; $obs = $_POST["obs"]; mysql_connect("localhost", "root", ""); mysql_select_db("dbSimples"); $sql = mysql_query("INSERT INTO cadastro VALUES ('$nome', '$endereco', '$sexo', '$obs')") or die(mysql_error()); print_r($sql); mysql_close(); echo "Pessoa cadastrada com sucesso ! <br />"; } ?> <a href="Cadastro.html">Voltar</a> Mas continuuua dando o mesmo erro :o Compartilhar este post Link para o post Compartilhar em outros sites
Guilherme_90 33 Denunciar post Postado Outubro 24, 2011 Você debugou? O que ele te retornou? Compartilhar este post Link para o post Compartilhar em outros sites
NetBoy16 72 Denunciar post Postado Outubro 24, 2011 ai foi mal, disfarça, acontece que eu baixei a nova versão do easyphp dai ao invés dele substituir o antigo ele cria uma nova pasta, dai eu tava na verdade executando o site que ta no atual e esse que tava fazendo as alterações ta no antigo, ou seja, eu não estava executando essas alterações, mas sim a página do jeito que tava antes, mas agora executei oque é certo e deu tudo certo. Isso porque eu não cheguei a excluir a pasta do easyphp antigo, só passei os arquivos pra pasta do easyphp atual, mas no dreamweaver eu estava abrindo o arquivo da pasta do easyphp antigo, por isso que pra que surgisse efeito essas alterações eu teria que estar usando o easyphp antigo, mas agora já alterei, dei um salvar como e salvei a alteração na página que está na pasta do easyphp atual e vou deletar a pasta do easyphp antigo pra que não aconteça mais esse tipo de confusão. Vlw pela ajuda :lol: EDIT:Tá agora que arrumei e salvei tudo no lugar certo eu executei e não apareceu nenhuma mensagem de erro, pensei que tava certo, mas fui ver no meu bd e ele ainda não está inserindo :( o codigo ta assim: <?php @ini_set('display_errors', '1'); error_reporting(E_ALL); if( $_SERVER['REQUEST_METHOD'] == 'POST' ) { $nome = $_POST["nome"]; $endereco = $_POST["endereco"]; $sexo = $_POST["sexo"]; $obs = $_POST["obs"]; mysql_connect("localhost", "root", ""); mysql_select_db("dbSimples"); $sql = mysql_query("INSERT INTO cadastro VALUES ('$nome', '$endereco', '$sexo', '$obs')") or die(mysql_error()); print_r($sql); mysql_close(); } ?> Pq será que n ta dando certo :( Compartilhar este post Link para o post Compartilhar em outros sites
Vini_Aviva 13 Denunciar post Postado Outubro 24, 2011 Tente Assim deve funcionar <?php mysql_connect("127.0.0.1", "root", ""); mysql_select_db("dbSimples") or die (mysql_error()); if( $_SERVER['REQUEST_METHOD'] == 'POST' ) { $nome = $_POST["nome"]; $endereco = $_POST["endereco"]; $sexo = $_POST["sexo"]; $obs = $_POST["obs"]; $sql = "INSERT INTO cadastro (nome, endereco, sexo, obs) VALUES ('$nome', '$endereco', '$sexo', '$obs')"; $sql = mysql_query($sql) or die (mysql_error()); echo "Sucesso"; } ?> Eu uso o EasyPHP o servidor do Easy não é denominado localhost e sim 127.0.0.1 E pelo que sei você não fez o tratamento correto na parte do INSERT. seu INSERT INTO cadastro VALUES ('$nome', '$endereco', '$sexo', '$obs') meu INSERT INTO cadastro (nome,endereco,sexo,obs) VALUES ('$nome','$endereco','$sexo','$obs','$cidade') Compartilhar este post Link para o post Compartilhar em outros sites
Guilherme_90 33 Denunciar post Postado Outubro 25, 2011 Vini_Aviva Que estranho cara, quando tenta inserir em todas as colunas da tabela, não precisa passar elas no SQL, ou estou errado? Já vi gente fazer isso, e inseria normalmente. Fiquei curioso agora o por que funcionou, pois do jeito que ele fez devia funcionar também! Alguma explicação? Compartilhar este post Link para o post Compartilhar em outros sites
Victor Cometti 8 Denunciar post Postado Outubro 25, 2011 se sua tabela tiver mais de quatro campos, especifique em quais campos irá inserir veja no manual http://dev.mysql.com/doc/refman/4.1/pt/insert.html testae... ... $query = "INSERT INTO cadastro VALUES ('$nome', '$endereco', '$sexo', '$obs')"; if (mysql_query($query)){ if ( mysql_affected_rows() == 1) ){//se alterar uma linha no banco echo "Pessoa cadastrada com sucesso ! <br />"; } } else{//se falhar echo "Sua query: ",$query;//imprime a sua query die(mysql_error());//mostra erro } ... posta o resultado Compartilhar este post Link para o post Compartilhar em outros sites