+1

Como recuperar o valor de uma variável que foi definida na mesma página anteriormente?

criado por Daniel Correia Barreto em 01/05/2002 8:22pm
A dúvida é: No PHP existe algum jeito de recuperar o valor de uma variável que é criada na página pelos métodos Get ou Post e utiliza-la na mesma página depois, sem ter que enviar os dados de formulário tudo de novo?

Estava criando um site de jogos. Quando o usuário faz o login, as variaveis de usuario e senha sao enviados para uma pagina que compara com os do banco de dados. Se estiverem corretos ela envia esses dados para uma página no frame direito da tela. Essa página abre o banco de dados e mostra o nome do jogador e os pontos que ele tem. Só que quando o usuário joga e acaba o jogo, a pagina do jogo envia a pontuacao desse jogo para a pagina no frame direito que tem a função de somar os pontos anteriores com os atuais, mas ele não consegue abrir o banco de dados, pois as variaveis $user e $senha que foram enviados à essa página anteriormente foram perdidas.
Veja um simples exemplo do meu problema:

Uma página requisita a seguinte URL:

score.php?user=teste&senha=teste

Entao as variaveis sao criadas na pagina score.php com os valores acima.
Depois outra página diferente requisita a seguinte URL:

score.php?pontos=30

Mas a página da erro, pois nao reconhece mais as variáveis definidadas anteriormente.E Agora?

Lista de Respostas:

0
02/05/2002 7:18am
(~22 anos atrás)
E se vc guardasse essas variaveis em session ou cookie?

0
02/05/2002 10:10am
(~22 anos atrás)
Joao respondeu:
A partir da versão do PHP 4.2
houve umas mudanças no jeito de vc recuperar esses valores que vc está passando via URL ou formulário

http://members.lycos.co.uk/blackcube/faq.php?id=002

0
02/05/2002 10:30am
(~22 anos atrás)
Como por então essas variáveis em uma session?

0
02/05/2002 4:13pm
(~22 anos atrás)
registra as variaveis na session, no primeiro script

session_start();
$variaveis[0]=$user;
$variaveis[1]=$senha;
session_register("variaveis");

depois eh soh ler nos outros scripts

session_start();
$user=$variaveis[0];
senha=$variaveis[1];

0
20/05/2002 7:27am
(~22 anos atrás)
Olavo Alexandrino respondeu:
$HTTP_POST_VARS("nome_da_variavel");
$HTTP_GET_VARS("nome_da_variavel");

ou

$HTTP_POST_VARS; e $HTTP_POST_VARS;
um vetor associativo com todas as variaveis passadas na pagina anterior,
no seu caso =>
$HTTP_GET_VARS("user");
$HTTP_GET_VARS("teste");




0
09/06/2002 9:21am
(~22 anos atrás)
Caro Daniel,

Você pode usar variáveis de ambiente para isso.
Para registrar uma variável de ambiente basta usar a função: session_register("nomevar1", "nomevar2", ...);
Para dar um valor às variáveis é simples também:
$nomevar1 = "valor";
$nomevar2 = "valor2";
...

Nas páginas que você quiser resgatar esses valores, basta você inicializar as variáveis de ambiente com a função:
session_start();
ps: Você tem que inserir a função no topo do seu arquivo PHP, antes de qualquer linha senão dá erro...

Qualquer dúvida me mande um email... ok's? :p

Um abraço,
by WDIEGO©
wdiego@cneconline.com.br

0
11/02/2003 10:25am
(~21 anos atrás)
Cléver Anjos respondeu:
nas novas versões vc pode fazer:

$_SESSION['user'];
$_SESSINO['points'];
etc...

0
26/08/2003 6:41pm
(~20 anos atrás)
Diogo Gomes respondeu:
Se a variável foi enviada por um formulário, a partir do PHP 4.1 Pode-se usar $_POST (método post) e $_GET (método get). Além do $_REQUEST (vale para os dois métodos).

0
01/09/2003 6:36pm
(~20 anos atrás)
Também estou tendo esse problema com os sessions , minha versão do php é a 4.3.3 rodando no windows...

0
03/09/2003 7:36pm
(~20 anos atrás)
consegui resolver meu problema , instalei o php 4.0.5 e minhas sessions funcionaram perfeitamente...deve ser algum problema na versão para windows...

0
12/09/2003 5:48pm
(~20 anos atrás)
A forma mais facil e usada hoje em dia é armazenar essas variaveis em um cookies, pois assim vc tera os dados gravados até o usuario fechar o browser.
veja como:
digamos que as variaveis $usuario e $senha tenha sido gravadas atraves de um formulario.
$usuario = "teste";
$senha = "teste";
setcookie("usuario", $senha);
setcookie("senha", $senha);

para mostrar o cookie ou gravar os dados do cookie em outra variavel faço o seguinte:
echo $_COOKIE["ususario"];
echo $_COOKIE["senha"];
$usuario2 = $_COOKIE["usuario"];

pronto bem simples

0
08/06/2004 9:42pm
(~20 anos atrás)
Alessander Thomaz respondeu:
Poderá usar várias formas $_GET, $_POST, $_REQUEST
se as variáveis globais tiverem habilitadas é só usar uma variável com o mesmo nome. Senão, poderá emular isso fazendo um foreach na variável $_REQUEST e usando variáveis variáveis para pegar valores.
Algo +- assim

foreach ($_REQUEST as $valor => $chave) {
$$chave = $valor;
}

0
15/04/2005 7:21pm
(~19 anos atrás)
Só um conselho, não é muito indicado ficar utilizando a senha em varios locais do site nao, muito menos no metodo get :(

Tente trabalhar com outros campos para substituir a senha.

Tirando isto, a solução, voce já viu várias e várias acima :D

Nova Resposta:

(Você pode usar tags como <b>, <i> ou <code>. URLs serão convertidas para links automaticamente.)