Ir para conteúdo
Fórum Script Brasil
  • 0

Session_register (problema)


PHP_ZIMBA

Pergunta

O galera estou com problema com o session;

Quando atualizo a página (F5) ele perde o valor registrado.

Estou fazendo assim:

PAGINA_FAZER_LOGIN.HTM (essa página chama o LOGIN.PHP)

campologin e camposenha

botão submit

-----

LOGIN.PHP

<?

include "../abertura.inc"; // .inc inclui a abertura

$resultado = mysql_query("select * from operador where lg_operador = '$campologin'");

$linhas = mysql_num_rows($resultado);

if ($linhas ==0){ //testa se a consulta retornou algum registro

echo "Operador não encontrado'>";

}else{

if ($camposenha != mysql_result($resultado, 0, "sh_operador")){//confere a senha

echo "A Senha Não Confere";

}else{

$login_operador = $campologin;

$senha_operador = $camposenha;

session_start();

session_register("login_operador");

session_register("senha_operador");

header("Location: padrão.php?id=63"); (CHAMA A PÁGINA SECRETA = OPERADOR.PHP)

}

}

?>

-------------

-------------

OPERADOR.PHP ( ESSA PÁGINA CONSEGUE RESGATAR O NOME E A SENHA DAS SESSÕES,

MAS SE EU ATUALIZO A PÁGINA (F5) ELE PERDE ESSAS SESSÕES;

<?

include("../operador/valida_session_operador.php"); //INICIO PUXANDO OS DADOS DA VALIDA_SESSION_OPERADOR.PHP

?>

<HTML>

<?

session_start();

echo $HTTP_SESSION_VARS["login_operador"];

echo $HTTP_SESSION_VARS["senha_operador"];

?>

..TODO CONTEUDO DA PÁGINA

</HTML>

------------

------------

VALIDA_SESSION_OPERADOR.PHP (CREIO QUE O PROBLEMA ESTÁ AQUI)

(NESSA PAGINA EU VERIFICO SE O LOGIN E SENHA ESTÁ REGISTRADOS...)

<?

session_start();

if ((session_is_registered("login_operador") AND session_is_registered("senha_operador"))) {

session_register('login_operador', 'senha_operador');

} /*aqui primeiro ele checa para ver se exite essas Sessoes, e depois ele coloca o valor das sessoes nessas variaveis... para fazermos os testes!*/

else{

echo "Você precisa se logar";

exit();/*caso não tinha session.. quer dizer.. ele não logou*/

}

if(!(empty($login_operador)|| empty($senha_operador))){

include "../abertura.inc"; // .inc inclui a abertura

$sql= "select * from operador where lg_operador = 'maicon' and sh_operador= '999999'";

$ver=mysql_query($sql,$conexao); // envia os dados pro banco

$num = mysql_num_rows($ver);

if ($num == 0){ /*caso exista*/

session_unregister('login_operador');

session_unregister('senha_operador');

/*apaga a session que existia mas era errada..*/

exit();

}

}else{

session_unregister('login_operador');

session_unregister('senha_operador');

/*apaga a session que existia mas era errada..*/

Echo 'Você Não Efetuou Login';

exit();

}

?>

---------

---------

Gostaria de saber o erro que está ocorrendo...

Preciso fazer muito isso

obrigado. sad.gif

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Eu costumo, logo depois de setar a session, redirecionar para uma outra página....

Faça o mesmo e verifique se o valor foi perdido ou não...

Ahh e coloca o session_start(): antes de qualquer linha de código..

porque é um campo que fica no header do cabeçalho HTTP... e se você escrever depois que mandou o cabeçalho.. aí num funciona...

BELE???

Até+

cool.gif

Link para o comentário
Compartilhar em outros sites

  • 0

Manual do php:

Cuidado

Se você quer que seu script funcione independentemente do uso de register_globals, você precisa usar a matriz $_SESSION já que $_SESSION é automaticamente registrada. Se o seu script usa session_register(), ele não irá funcionar em ambientes onde a diretiva de configuração register_globals esteja desabilitada.

Nota importante sobre register_globals:: Desde o PHP 4.2.0, o valor padrão para a diretiva register_globals é off. A comunidade do PHP encoraja a todos a não alterarem esta diretiva mas, ao invés, utilizar superglobals.

session_register

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...