Martinsrj 0 Denunciar post Postado Setembro 11, 2009 Ola pessoal, boa noite! Construi duas pagina para dividir o cadastramento de usuario no site. não consegui identificar o erro, segue abaixo a msg de erro: Notice: Undefined variable: nome in C:\Arquivos de programas\Apache Software Foundation\Apache2.2\htdocs\des.websitephp\etapa2.php on line 13 a linha do erro e esta: <input type="hidden" name="nome" value="<?php echo $nome; ?>" /> Abaixo segue a primeira pagina do Cadastramento chamado: etapa1.php <!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>Untitled Document</title> </head> <body> <p align="center"><big><big> <strong>Cadastramento - Etapa 1 de 2</strong></big></big></p> <form method="POST" action="etapa2.php"> <div align="center"><center><p> Nome: <input type="text" name="nome" size="20" /></p></center></div> <div align="center"><center><p> E-mail: <input type="text" name="email" size="20" /></p></center></div> <div align="center"><center><p> Data de Nascimento: <input type="text" name="datanascimento" size="20" /></p></center></div> <div align="center"><center><p> Sexo: <input type="radio" value="m" checked name="sexo" />Masculino <input type="radio" name="sexo" value="f" />Feminino</p></center></div> <div align="center"><center><p> Profissao: <input type="text" name="profissao" size="20" /></p></center></div> <div align="center"><center><p> <input type="submit" value="Prosseguir >>" name="prosseguir" /></p></center></div> </form> </body> </html> Abaixo a segunda pagina do cadastramento: <!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>Untitled Document</title> </head> <body> <p align="center"><big><big><strong> Cadastramento - Etapa 2 de 2</strong></big></big></p> <form method="POST" action="etapa1e2cadastra.php"> <input type="hidden" name="nome" value="<?php echo $nome; ?>" /> <input type="hidden" name="email" value="<?php echo $email; ?>" /> <input type="hidden" name="datanascimento" value="<?php echo $datanascimento; ?>" /> <input type="hidden" name="sexo" value="<?php echo $sexo; ?>" /> <input type="hidden" name="profissao" value="<?php echo $profissao; ?>" /> <div align="center"><center><p>Telefone: <input type="text" name="telefone" size="20" /></p></center></div> <div align="center"><center><p>Endereco: <input type="text" name="endereco" size="20" /></p></center></div> <div align="center"><center><p>Cidade: <input type="text" name="cidade" size="20" /> Estado: <input type="text" name="estado" size="2" /></p></center></div> <div align="center"><center><p>CEP: <input type="text" name="cep" size="9" /></p></center></div> <div align="center"><center><p> <input type="submit" value="Prosseguir >>" name="prosseguir" /></p></center></div> </form> </body> </html> Abaixo segue a pagina que trata as informacoes: <?php include "conecta_mysql.php"; $varNome = $_POST["nome"]; echo $varNome; $varEmail = $_POST["email"]; $varDatanascimento = $_POST["datanascimento"]; $varSexo = $_POST["sexo"]; $varProfissao = $_POST["profissao"]; $varTelefone = $_POST["telefone"]; $varEndereco = $_POST["endereco"]; $varCidade = $_POST["cidade"]; $varEstado = $_POST["estado"]; $varCep = $_POST["cep"]; $sqlIns = "INSERT INTO tab_usuario VALUES "; $sqlIns .= "('varNome','$varEmail','$varDatanascimento','$varSexo','$varProfissao','$varTelefone','$varEndereco','$varCidade','$varEstado','$varCep')"; $resultado = mysql_query($sqlIns); echo "Usuario cadastro com sucesso!!!"; ?> Compartilhar este post Link para o post Compartilhar em outros sites
Rafael Wapbrasil 1 Denunciar post Postado Setembro 11, 2009 você esta tentando imprimir uma variavel undefined (nao definida), para nao aparecer o erro você tinha q fazer a verificacao se ela tem valor para depois imprimi la Compartilhar este post Link para o post Compartilhar em outros sites
Martinsrj 0 Denunciar post Postado Setembro 11, 2009 Correto, entao vejo que eu estou fazendo da forma errada. Na minha primeira pagina de cadastramento o Campo Nome esta assim: etapa1.php <div align="center"><center><p> Nome: <input type="text" name="nome" size="20" /></p></center></div> A minha segunda pagina etapa2.php eu estou recuperando o campo dessa forma: <input type="hidden" name="nome" value="<?php echo $nome; ?>" /> Estou utilizando o hidden corretamente? Abracos. Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Setembro 11, 2009 Não. você está enviando o formulário via POST, certo? e o teu register globals está off(que é correto). <input type="hidden" name="nome" value="<?php echo $_POST['nome']; ?>" /> Compartilhar este post Link para o post Compartilhar em outros sites
Martinsrj 0 Denunciar post Postado Setembro 11, 2009 Valeu pela dica William e realmente era isso mesmo, RESOLVIDO! Aproveitando esse topico nao estou conseguindo inncluir, aparece a mensagem de erro: Data too long for column 'EMAIL' at row 1 Agora o meu codigo que trada a requisicao e esse: <?php include "conecta_mysql.php"; $varNome = $_POST["nome"]; $varEmail = $_POST["email"]; $varDatanascimento = $_POST["datanascimento"]; $varSexo = $_POST["sexo"]; $varProfissao = $_POST["profissao"]; $varTelefone = $_POST["telefone"]; $varEndereco = $_POST["endereco"]; $varCidade = $_POST["cidade"]; $varEstado = $_POST["estado"]; $varCep = $_POST["cep"]; $sqlIns = "INSERT INTO tab_usuario (NOME, EMAIL, DATAMASCIMENTO, SEXO, PROFISSAO, TELEFONE, ENDERECO, CIDADE, ESTADO, CEP) VALUES "; $sqlIns .= "('varNome','$varEmail','$varDatanascimento','$varSexo','$varProfissao','$varTelefone','$varEndereco','$varCidade','$varEstado','$varCep')"; $resultado = mysql_query($sqlIns) or die(mysql_error()); echo $varNome; ?>Minha tabela e essa: DROP TABLE IF EXISTS `bd_estudo`.`tab_usuario`; CREATE TABLE `bd_estudo`.`tab_usuario` ( `ID` int(10) unsigned NOT NULL AUTO_INCREMENT, `NOME` varchar(100) NOT NULL, `EMAIL` varchar(60) NOT NULL, `DATAMASCIMENTO` varchar(10) NOT NULL, `SEXO` char(1) NOT NULL, `PROFISSAO` varchar(45) NOT NULL, `TELEFONE` varchar(15) NOT NULL, `ENDERECO` varchar(60) DEFAULT NULL, `CIDADE` varchar(20) DEFAULT NULL, `ESTADO` char(2) DEFAULT NULL, `CEP` varchar(12) DEFAULT NULL, PRIMARY KEY (`ID`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COMMENT='Livro PHP - Pag 119'; Desde ja agradeco a sua ajuda William e de todos.Abracos. Não. você está enviando o formulário via POST, certo? e o teu register globals está off(que é correto). <input type="hidden" name="nome" value="<?php echo $_POST['nome']; ?>" /> Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Setembro 11, 2009 Data too long for column 'EMAIL' at row 1 Tá dizendo que o tamanho das informações que você está tentando colocar é maior que o tamanho da coluna suporta. Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
Martinsrj 0 Denunciar post Postado Setembro 11, 2009 Ola Matias! Alterei o tamanho do campo e continua dando o mesmo erro: DROP TABLE IF EXISTS `bd_estudo`.`tab_usuario`; CREATE TABLE `bd_estudo`.`tab_usuario` ( `ID` int(10) unsigned NOT NULL AUTO_INCREMENT, `NOME` varchar(100) NOT NULL, `EMAIL` varchar(150) DEFAULT NULL, `DATAMASCIMENTO` varchar(10) DEFAULT NULL, `SEXO` char(1) DEFAULT NULL, `PROFISSAO` varchar(45) DEFAULT NULL, `TELEFONE` varchar(15) DEFAULT NULL, `ENDERECO` varchar(60) DEFAULT NULL, `CIDADE` varchar(20) DEFAULT NULL, `ESTADO` char(2) DEFAULT NULL, `CEP` varchar(12) DEFAULT NULL, PRIMARY KEY (`ID`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COMMENT='Livro PHP - Pag 119'; Data too long for column 'EMAIL' at row 1 Tá dizendo que o tamanho das informações que você está tentando colocar é maior que o tamanho da coluna suporta. Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Setembro 11, 2009 Imprima a query antes de executar... Veja o que está indo na coluna email... echo $sqlIns; $resultado = mysql_query($sqlIns) or die(mysql_error()); Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
Martinsrj 0 Denunciar post Postado Setembro 11, 2009 Ola Matias, boa tarde! Consegui identificar o erro e aqui segue as modificacoes no codigo: <input type="hidden" name="nome" value="<?php echo $_POST['nome']; ?>" /> <input type="hidden" name="email" value="<?php echo $_POST['email']; ?>" /> <input type="hidden" name="datanascimento" value="<?php echo $_POST['datanascimento']; ?>" /> <input type="hidden" name="sexo" value="<?php echo $_POST['sexo']; ?>" /> <input type="hidden" name="profissao" value="<?php echo $_POST['profissao']; ?>" /> Dei um echo agora conforme a sua solicicao e treouxe isso: INSERT INTO tab_usuario (NOME, EMAIL, DATAMASCIMENTO, SEXO, PROFISSAO, TELEFONE, ENDERECO, CIDADE, ESTADO, CEP) VALUES ('varNome','teste@teste.com.br','01/01/1980','f','Biologa','2222-2222','Rua Imaginaria, 76','Rio de Janeiro','RJ','21361777') Naila Porem no banco ao inves de inserir o nome Naila, esta inserindo varNome. Desde ja agradeco pelos os esclerecimentos. Imprima a query antes de executar... Veja o que está indo na coluna email... echo $sqlIns; $resultado = mysql_query($sqlIns) or die(mysql_error()); Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
Martinsrj 0 Denunciar post Postado Setembro 11, 2009 Ola pessoal, boa noite! Consegui identificar o erro e aqui segue as modificacoes no codigo: <form method="POST" action="etapa1e2cadastra.php"> <input type="hidden" name="nome" value="<?php echo $_POST['nome']; ?>" /> <input type="hidden" name="email" value="<?php echo $_POST['email']; ?>" /> <input type="hidden" name="datanascimento" value="<?php echo $_POST['datanascimento']; ?>" /> <input type="hidden" name="sexo" value="<?php echo $_POST['sexo']; ?>" /> <input type="hidden" name="profissao" value="<?php echo $_POST['profissao']; ?>" /> <div align="center"><center><p>Telefone: <input type="text" name="telefone" size="20" /></p></center></div> <div align="center"><center><p>Endereco: <input type="text" name="endereco" size="20" /></p></center></div> <div align="center"><center><p>Cidade: <input type="text" name="cidade" size="20" /> Estado: <input type="text" name="estado" size="2" /></p></center></div> <div align="center"><center><p>CEP: <input type="text" name="cep" size="9" /></p></center></div> <div align="center"><center><p> <input type="submit" value="Prosseguir >>" name="prosseguir" /></p></center></div> </form> Dei um echo:$sqlIns = "INSERT INTO tab_usuario (NOME, EMAIL, DATAMASCIMENTO, SEXO, PROFISSAO, TELEFONE, ENDERECO, CIDADE, ESTADO, CEP) VALUES "; $sqlIns .= "('varNome','$varEmail','$varDatanascimento','$varSexo','$varProfissao','$varTelefone','$varEndereco','$varCidade','$varEstado','$varCep')"; echo $sqlIns . "<br>"; $resultado = mysql_query($sqlIns) or die(mysql_error()); echo $varNome; Aparece isso: INSERT INTO tab_usuario (NOME, EMAIL, DATAMASCIMENTO, SEXO, PROFISSAO, TELEFONE, ENDERECO, CIDADE, ESTADO, CEP) VALUES ('varNome','teste@teste.com.br','01/01/1980','f','Biologa','2222-2222','Rua Imaginaria, 76','Rio de Janeiro','RJ','21361777') Naila Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Setembro 11, 2009 Mas resolveu? http://forum.imasters.com.br/public/style_emoticons/default/assobiando.gif tá faltando um $ ali para declarar a variável. $sqlIns = "INSERT INTO tab_usuario (NOME, EMAIL, DATAMASCIMENTO, SEXO, PROFISSAO, TELEFONE, ENDERECO, CIDADE, ESTADO, CEP) VALUES "; $sqlIns .= "('$varNome','$varEmail','$varDatanascimento','$varSexo','$varProfissao','$varTelefone','$varEndereco','$varCidade','$varEstado','$varCep')"; E `DATAMASCIMENTO` é um erro de digitação ne?! Seria melhor se você trabalhasse com o tipo de campo DATE para essa entrada. Compartilhar este post Link para o post Compartilhar em outros sites
Martinsrj 0 Denunciar post Postado Setembro 11, 2009 Valeu William pelas Dicas. Resolvido!!! Mas resolveu? http://forum.imasters.com.br/public/style_emoticons/default/assobiando.gif tá faltando um $ ali para declarar a variável. $sqlIns = "INSERT INTO tab_usuario (NOME, EMAIL, DATAMASCIMENTO, SEXO, PROFISSAO, TELEFONE, ENDERECO, CIDADE, ESTADO, CEP) VALUES "; $sqlIns .= "('$varNome','$varEmail','$varDatanascimento','$varSexo','$varProfissao','$varTelefone','$varEndereco','$varCidade','$varEstado','$varCep')"; E `DATAMASCIMENTO` é um erro de digitação ne?! Seria melhor se você trabalhasse com o tipo de campo DATE para essa entrada. Compartilhar este post Link para o post Compartilhar em outros sites