Ir para conteúdo

POWERED BY:

Arquivado

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

adavis

voltar página sem perder os dados

Recommended Posts

Olá.. Sou iniciante no php e tenho uma dúvida..

Tenho uma estrutura de 3 páginas (pag1, pag2, pag3) para eu voltar para uma das páginas sem perder os dados digitados usei o seguinte comando: value="<?php echo (isset($_SESSION["q2"]) ? $_SESSION["q2"] : ""); ?>" /> e ele funciona somente se eu volto da pag2 para pag1 ou da pag3 para pag2 se eu tentar voltar da pag3 para pag1 os dados se perdem.. O que estou fazendo errado?? E teriam alguma solução??

 

Desde já agradeço.. bjos

Compartilhar este post


Link para o post
Compartilhar em outros sites

você esta colocando session_start(); no inico da pagina.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Posta o codigo das páginas.

Coloque o código entre as tags [ code ] Seu codigo aqui[ /code ].

 

Obs:retire os espaços depois de '[' e antes de ']'

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se os metodos vierem de um formulario concluido faça isso:

 

$_SESSION['q2'] = $_POST['namedoinput'];

Compartilhar este post


Link para o post
Compartilhar em outros sites

Posta o codigo das páginas.

Coloque o código entre as tags [ code ] Seu codigo aqui[ /code ].

 

Obs:retire os espaços depois de '[' e antes de ']'

 


<?php  
session_start(); 
@$nome = $_SESSION[nomeuser];
@$matricula = $_SESSION[matuser];
include "conecta.php";
   if( (!isset($_SESSION['iduser'])) ){
	echo '<script language="javaScript">window.location.href="../index.php"</script>';}
?>
<!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=iso-8859-1" />-->
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="shortcut icon" href="../img/ifsul.ico" type="image/x-icon" />
<link rel="stylesheet" type="text/css" href="../css/estilo.css" /> 
<title>Questionário Socioeconômico Educacional dos Alunos do IFSul</title>
<script src="../js/jquery-1.4.1.min.js" type="text/javascript"></script>
<script src="../js/jquery.validate.js"></script>
<?php 	 //include "validator.php";
     include "mascara.php"; 
?>
</head>
<body> 
 <div id="topo"> </div>
 <div id="body">
  <div class="h1">PESQUISA DO PERFIL SOCIOECONÔMICO EDUCACIONAL DOS ALUNOS<br /> DO CURSO BINACIONAL - IFSul</div>
<div class="h2"> Questionário Socioeconômico Educacional dos Alunos do IFSul </div> <br />
      <div id="saudacao">Olá, <?php echo utf8_encode($nome);  ?> <a href="../login/logout.php" class="sair">Sair</a></div>
	<center> 
           Os campos com <font color="#009900"> * </font> são de preenchimento obrigatório.
           <div id="translate">
            	<a href="#"><img src="../img/br.png" border="none" /></a>
            	<a href="../uy/pag1_uy.php"><img src="../img/uy.png" border="none" /></a>
           </div>
        </center><br />
	<form name="formulario" id="formulario" method="post" action="pag2.php">
		<fieldset class="field_frame">
			<legend> Dados Pessoais do Aluno </legend>
			<fieldset class="field">
				<div id="titulo">01. Código do Aluno: <font color="#009900"> * </font> </div> 
				<input type="text" name="q1" id="q1" disabled="disabled" maxlength="12" value="<?php echo $matricula ?>">
			</fieldset>
			<hr color="#C2D69B" >  

			<fieldset class="field">
				<div id="titulo">02. Carteira de Identidade: <font color="#009900"> * </font></div> 
				<input type="text" name="q2" id="q2"  maxlength="15" value="<?php echo (isset($_SESSION['q2']) ? $_SESSION['q2'] : ''); ?>" />
			</fieldset>

......


<input type="submit" value="Continuar" class="botao"  />

 

tem a pag2 com a mesma estrutura da pag1 e a pag 3 finalizo e envio ao bd.. Está tudo funcionando, eu passo todas as session ate a pag3 para salvar no banco. O problema é com o botão voltar mesmo!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faz um teste com isso.

 

Na primeira página:

 

$valor=(isset($_SESSION['q2']) ? $_SESSION['q2'] : '');
@$nome = $_SESSION[nomeuser];
@$matricula = $_SESSION[matuser];

...
...
<input type="text" name="q2" id="q2"  maxlength="15" value="<?php echo $valor;?>" />

 

E na segunda:

 

$_SESSION['q2']=$_POST['q2'];

.....
...
<input type="text" name="q2" id="q2"  maxlength="15" value="<?php echo $_SESSION['q2']; ?>" />

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faz um teste com isso.

 

Na primeira página:

 

$valor=(isset($_SESSION['q2']) ? $_SESSION['q2'] : '');
@$nome = $_SESSION[nomeuser];
@$matricula = $_SESSION[matuser];

...
...
<input type="text" name="q2" id="q2"  maxlength="15" value="<?php echo $valor;?>" />

 

E na segunda:

 

$_SESSION['q2']=$_POST['q2'];

.....
...
<input type="text" name="q2" id="q2"  maxlength="15" value="<?php echo $_SESSION['q2']; ?>" />

 

O valor que eu coloquei na Pag1 aparece na Pag2, e se eu colocar

$_SESSION['q2']=$_POST['q2'];

na Pag3 também aparece.. O problema é quando eu estou na Pag3 e volto para a Pag2 a variável se perde e logo com o seu exemplo na Pag2 aparece isso: Notice: Undefined index: q2 in C:\wamp\www\reitoria\br\pag2.php on line 3 .

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aparece porque o 'q2' se refere ao input que está na pag1 e

não na pag3.

 

Testa aí e adapte conforme quiser.

Página 1:

session_start();
$valor=(isset($_SESSION['q2']) ? $_SESSION['q2'] : $_SESSION['q2']);
$_SESSION['q2']=$valor;

 

Página 2:

session_start();
if (isset ($_POST['q2'])){
$valor=$_POST['q2'];
}else{
$valor=$_SESSION['q2'];
}
echo $_SESSION['q2']=$valor;

 

Página 3:

session_start();
if (isset ($_POST['q3'])){
$valor=$_POST['q3'];
}else{
$valor=$_SESSION['q2'];
}
$_SESSION['q2']=$valor;
echo '<a href="pag2.php">Voltar</a>';

Compartilhar este post


Link para o post
Compartilhar em outros sites

você ja fez o teste local?

pq tem hospedagem que você tem que decodificar no notped++ para utf8_sem_bom;

Compartilhar este post


Link para o post
Compartilhar em outros sites

você ja fez o teste local?

pq tem hospedagem que você tem que decodificar no notped++ para utf8_sem_bom;

 

sim.. estou fazendo local e infelizmente nenhum dos testes deu certo :(

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim.. estou fazendo local e infelizmente nenhum dos testes deu certo :(

O último code que passe era pra dar certo.

Qual editor (notepad++,bloco de notas....)você usa?

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.