plarruda 0 Denunciar post Postado Junho 1, 2015 Não estou conseguindo inserir dados no banco de dados Segue abaixo o meu codigo: Index.htlml <!doctype html> <html> <head> <meta charset="utf-8"> <title>Documento sem título</title> </head> <body> <form action="verifica.php" method="POST"> <pre> Insira Informações Nome: <input type="text" size="35" maxlength="256" name"nome"> E-mail: <input type="text" size="35" maxlength="256" name"email"> Cidade: <input type="text" size="35" maxlength="256" name"cidade"> Estado <input type="text" size="2" maxlength="2" name"estado"> Disite sua opnião abaixo: <textarea rows="5" cols="42" name="comentarios"> </textarea> <input type="submit" value="Efetuar Cadastro" name="enviar"> </pre> </form> </body> </html> verifica.php <!doctype html> <html> <body> <? $nome = $_POST["nome"]; $email = $_POST["email"]; $cidade = $_POST["cidade"]; $estado = $_POST["estado"]; $comentarios = $_POST["comentarios"]; $erro = 0; if (empty($nome) OR strstr ($nome, ' ')==FALSE) {echo "Favor Digitar seu nome corretamente.<br>"; $erro=1;} if (strlen($email)<8 || strstr ($email, '@')==FALSE) {echo "Favor Digitar seu email corretamente.<br>"; $erro=1;} if (empty($cidade)) {echo "Favor Digitar sua cidade corretamente.<br>"; $erro=1;} if (empty($estado) !=2) {echo "Favor Digitar o estado corretamente.<br>"; $erro=1;} if (empty($comentarios)) {echo "Favor entre com algum comentario.<br>"; $erro=1;} if ($erro==0) {echo "todos os dados foram digitados corretamente!"; include "insere.php";} ?> insere.php <? include "conecta_mysql.inc"; $nome = $_POST["nome"]; $email = $_POST["email"]; $cidade = $_POST["cidade"]; $estado = $_POST["estado"]; $comentarios = $_POST["comentarios"]; $sql = "INSERT INTO cadastro VALUES"; $sql = "('$nome','$email','$cidade','$estado','$comentarios')"; $resultado - mysql_query ($sql); echo " Usuário incluido com sucesso!"; mysql_close($conexao); ?> conecta_mysql.php <? $conexão = mysql_connect("localhost","root"," "); mysql_select_db ("bdexemplo"); ?> Erro que esta dando: ( ! ) Notice: Undefined index: nome in C:\wamp\www\cadastro-cliente\verifica.php on line 6 Call Stack # Time Memory Function Location 1 0.0007 246712 {main}( ) ..\verifica.php:0 ( ! ) Notice: Undefined index: email in C:\wamp\www\cadastro-cliente\verifica.php on line 7 Call Stack # Time Memory Function Location 1 0.0007 246712 {main}( ) ..\verifica.php:0 ( ! ) Notice: Undefined index: cidade in C:\wamp\www\cadastro-cliente\verifica.php on line 8 Call Stack # Time Memory Function Location 1 0.0007 246712 {main}( ) ..\verifica.php:0 ( ! ) Notice: Undefined index: estado in C:\wamp\www\cadastro-cliente\verifica.php on line 9 Call Stack # Time Memory Function Location 1 0.0007 246712 {main}( ) ..\verifica.php:0 Favor Digitar seu nome corretamente.Favor Digitar seu email corretamente.Favor Digitar sua cidade corretamente. ?> Compartilhar este post Link para o post Compartilhar em outros sites
mruoppolo 14 Denunciar post Postado Junho 1, 2015 Cara, na verdade ai tem varios erros, o primeiro seria o seguinte, você esta passando os dados POST por 2 páginas ele na verdade passa só por 1, ou seja, após preencher o formulário só quem tem acesso aos dados é a próxima página, no seu caso, verifica.php Ou seja, vc precisaria criar um condicional para caso a exita erro ele volta, caso não exista ele insere no banco, tudo na mesma página, senão não vai funcionar Outra coisa, você esta utilizando o if diversas vezes na página verifica.php o correto seria utilizar elseif http://php.net/manual/pt_BR/control-structures.elseif.php Após verificar que tem um erro na validação o certo seria colocar um link para voltar a página de preenchimento do formulário O último erro é a sintaxe da INSERT $sql = "INSERT INTO cadastro VALUES"; $sql = "('$nome','$email','$cidade','$estado','$comentarios')"; $resultado - mysql_query ($sql); echo " Usuário incluido com sucesso!"; Primeiro para você inserir 2 dados na mesma variável, você precisa colocar um . (ponto) antes do sinal de = Ou seja $sql = "INSERT INTO cadastro VALUES"; $sql .= "('$nome','$email','$cidade','$estado','$comentarios')"; Porém ainda continuaria errado, porque da INSERT seria: INSERT INTO nome_da_tabela (CAMPOS A SEREM GRAVADOS SEPARADOS POR VÍRGULAS) VALUES (VARIAVEIS QUE CONTÉM OS DADOS); http://php.net/manual/pt_BR/function.mysql-query.php Porém estas querys estão ja obsoletas o certo seria você aprender PDO http://www.devmedia.com.br/introducao-ao-php-pdo/24973 Espero ter ajudado, mas qualquer coisa da um retorno ai Um abraço Compartilhar este post Link para o post Compartilhar em outros sites
plarruda 0 Denunciar post Postado Junho 9, 2015 Obrigado pela ajuda eu consegui inserir usando mysqli... Compartilhar este post Link para o post Compartilhar em outros sites