PHP - Guardando valor de uma variável quando mudar de pagina.

23/07/2016

0

PHP

Opa blz pessoal? Então, estou com um problema simples mas ao mesmo tempo complicado para mim, que sou novo no assunto, vamos lá:
Estou fazendo um programa de 4 paginas, sendo a primeira para cadastrar o nome, a segunda e terceira como uma pergunta com e na quarta mostrando o nome e quantas perguntas acertou. Estou usando form/submit para passar para a outra pagina, mas acontece que no final só esta mostrando o resultado da penúltima pagina, no caso do ultimo submit que dei..Eu tentei fazer com sessões mas mesmo assim não consegui, sei que da pra fazer com java script, mas queria fazer em php mesmo. Se puderem me dar uma dica de como fazer isso.
#pagina 1#
<html>
<head>
<title></title>
</head>
<body>
<form method="POST" action="pergunta1.php">
<p>Informe seus dados:</p>
Nome:<input type="text" name="nome"/></p>
<input type="submit" value="Começar"/></p>
</form>
</body>
</html>

#pagina 2#
<html>
<head>
<title></title>
</head>
<body>
<form method="POST" action="pergunta2.php">
<p>10+10?:</p>
20:<input type="radio" name="resposta_1" value="20"/></p>
30:<input type="radio" name="resposta_1"value="30"/></p>
40:<input type="radio" name="resposta_1"value="40"/></p>
<input type="submit" value="Ver Resultado."/></p>
</form>
</body>
</html>

#pagina3#
<html>
<head>
<title></title>
</head>
<body>

<form method="POST" action="resultado.php">
<p>3+3?:</p>
4:<input type="radio" name="resposta_2" value="4"/></p>
5:<input type="radio" name="resposta_2"value="5"/></p>
6:<input type="radio" name="resposta_2"value="6"/></p>
<input type="submit" value="Ver Resultado."/></p>
</form>

</body>
</html>

#pagina4#
<?php
$pontos = 0;

if($_POST['resposta_1'] == '20'){
$pontos++;
}

if($_POST['resposta_2'] == '6'){
$pontos++;
}

echo $pontos;
echo $_POST['nome'];

?>
Gregori

Gregori

Responder

Posts

23/07/2016

Raylan Zibel

Guardando os valores em $_SESSION['nomedavariavel'] deveria ser suficiente.
Responder

23/07/2016

Gregori

Opa Rayan, obrigado pela resposta, então eu to tentando assim mas mesmo assim na hora de mostrar fala que a variavel não foi definida.
Responder

10/09/2016

Matheus

Opa Rayan, obrigado pela resposta, então eu to tentando assim mas mesmo assim na hora de mostrar fala que a variavel não foi definida.


Não esqueça do session_start();
Responder

12/09/2016

Marcelo Santana

Boa noite, Gregori.. Segue código, simples, mas constando a funcionalidade que deseja. Tem um comentário para cada página indicando o nome dela, caso for mudar o nome que irá salvar cada arquivo, mude também action de cada formulário ok..

Abraço, Marcelo Queiroz.

<!-- pagina1.php-->
<html>
<head>
<title></title>
</head>
<body>
<form method="POST" action="pagina2.php">
<p>Informe seus dados:</p>
Nome:<input type="text" name="nome"/></p>
<input type="submit" value="Começar"/></p>
</form>
</body>
</html>





<!-- pagina2.php -->

<?php 
	session_start();
	$_SESSION['pontos'] = 0;
	$_SESSION['nome'] = $_POST['nome'];	
	echo $_SESSION['nome'];
?>

<html>
<head>
<title></title>
</head>
<body>
<form method="POST" action="pagina3.php">
<p>10+10?:</p>
20:<input type="radio" name="resposta_1" value="20"/></p>
30:<input type="radio" name="resposta_1"value="30"/></p>
40:<input type="radio" name="resposta_1"value="40"/></p>
<input type="submit" value="Ver Resultado."/></p>
</form>
</body>
</html>




<!-- pagina3.php -->

<?php 
	session_start();
	echo $_SESSION['nome'];
	if($_POST['resposta_1'] == '20'){
		$_SESSION['pontos']++;		
	}
?>

<html>
<head>
<title></title>
</head>
<body>

<form method="POST" action="pagina4.php">
<p>3+3?:</p>
4:<input type="radio" name="resposta_2" value="4"/></p>
5:<input type="radio" name="resposta_2"value="5"/></p>
6:<input type="radio" name="resposta_2"value="6"/></p>
<input type="submit" value="Ver Resultado."/></p>
</form>

</body>
</html>




<!-- pagina4.php -->

<?php 
				
if(count($_POST) > 0 ){
	session_start();	
	
	if($_POST['resposta_2'] == '6'){		
		$_SESSION['pontos']++;
	}
	
	echo ('Ola, '.$_SESSION['nome']. ', você somou: '.$_SESSION['pontos'].' pontos');		
						
	unset($_SESSION['nome']);	
	unset($_SESSION['pontos']);
	
	echo ("<br /><br /><a href='pagina1.php'>Pagina Inicial</a>");
	
}else{
	header('location:pagina1.php');	
}
	
?> 
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar