Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa tarde pessoal, estou com uma dúvida para passar informações da página 1 até a página 3.
Aqui vai o que eu quero fazer:
-quero pegar o input nome que está na página 1 através página 2 e exibir na página 3.
etapa1.php
<html>
<body>
<p align="center"><big><big>
<strong>Cadastramento - Etapa 1 de 3</strong>
</big></big></p>
<form method="POST" action="etapa2.php">
<p align="center">
Nome: <input type="text" name="nome" size="20">
</p>
<center><input type="submit" value="Prosseguir >>" name="prosseguir"></center>
</form>
</body>
</html>
etapa2.php
<html>
<body>
<p align="center"><big><big>
<strong>Cadastramento - Etapa 2 de 3</strong>
</big></big></p>
<form method="POST" action="etapa3.php">
<input type="hidden" name="nome" value="<?php echo $nome; ?>">
<p align="center">
Idade: <input type="text" name="idade" size="20">
</p>
<center><input type="submit" value="Prosseguir >>" name="prosseguir"></center>
</form>
</body>
</html>
etapa3.php
<html>
<body>
<p align="center"><big><big>
<strong>Cadastramento - Etapa 3 de 3</strong>
</big></big></p>
<?php
//teste para verificar se salvou o input da página 1 e 2
$teste_nome = $_POST["nome"];
$teste_idade = $_POST["idade"];
echo $teste_nome;
echo $teste_idade;
?>
</body>
</html>
Está dando o seguinte erro
>
Citar
Notice: Undefined variable: nome in C:\Program Files (x86)\EasyPHP-Devserver-17\eds-www\Desenvolvendo_Websites_Com_Php\passando_dados\etapa2.php on line 8
obs: é meu primeiro post, me desculpem caso esteja no lugar errado ou fora das regras.
>
7 minutos atrás, Jesse&Francinete disse:
Etapa 1:
<html>
<body>
<p align="center"><big><big>
<strong>Cadastramento - Etapa 1 de 3</strong>
</big></big></p>
<form method="POST" action="etapa2.php">
<p align="center">
Nome: <input type="text" name="nome" id="nome" size="20">
</p>
<center><input type="submit" value="Prosseguir >>" name="prosseguir"></center>
</form>
</body>
</html>
Etapa 2:
<?php
$nome = $_POST['nome'];
?>
<html>
<body>
<p align="center"><big><big>
<strong>Cadastramento - Etapa 2 de 3</strong>
</big></big></p>
<form method="POST" action="etapa3.php">
<input type="hidden" name="nome" value="<?php echo $nome; ?>">
<p align="center">
<input type="hidden" name="nome" id="nome" value="<?php echo $nome;?>">
Idade: <input type="text" name="idade" id="idade" size="20">
</p>
<center><input type="submit" value="Prosseguir >>" name="prosseguir"></center>
</form>
</body>
</html>
Etapa 3:
<?php
$nome = $_POST['nome'];
$idade = $_POST['idade'];
?>
<html>
<body>
<p align="center"><big><big>
<strong>Cadastramento - Etapa 3 de 3</strong>
</big></big></p>
<?php
//teste para verificar se salvou o input da página 1 e 2
echo $nome;
echo $idade;
?>
</body>
</html>
Testei aqui e deu certo, obrigado Jesse&Francinete.
Estou estudando por um livro e do jeito que está aqui não consigo fazer dar certo.
Fiz a seguinte mudança na etapa2.php
<input type="hidden" name="nome" value="<?php echo $nome; ?>">
Para
<input type="hidden" name="nome" value="<?php echo $_POST['nome'];?>">
e também deu certo.
Só para ver se eu entendi, eu preciso colocar o $_POST['nome'] porque eu estou pegando de outra página, para eu utilizar apenas o $nome eu precisa declarar uma variável local, é isso?Lá em cima, eu crio uma variável "$nome" que irá receber o valor vindo da outra página por método POST "$_POST['nome']", você não precisa necessariamente criar da mesma forma, pode-se usar "value="<?php echo $_POST['nome'];?>">" sem problema, apenas simplifiquei.
>
5 minutos atrás, kim.y disse:
para eu utilizar apenas o $nome eu precisa declarar uma variável local, é isso?
Sim, mas ela tem que receber o valor do POST. No caso: $nome = $_POST['nome'];
Dá uma olhada no manual PHP.>
2 minutos atrás, Jesse&Francinete disse:
Lá em cima, eu crio uma variável "$nome" que irá receber o valor vindo da outra página por método POST "$_POST['nome']", você não precisa necessariamente criar da mesma forma, pode-se usar "value="<?php echo $_POST['nome'];?>">" sem problema, apenas simplifiquei.
Sim, mas ela tem que receber o valor do POST. No caso: $nome = $_POST['nome'];
Dá uma olhada no manual PHP.
Entendi agora, obrigado.
Etapa 1: