Ir para conteúdo

POWERED BY:

Arquivado

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

Martinsrj

[Resolvido] Utilizar hidden...

Recommended Posts

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

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

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

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

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

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

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

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

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

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

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.