Ir para conteúdo

POWERED BY:

Arquivado

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

Marco Polo Viana

Sessão entre páginas

Recommended Posts

Prezados,

Ao fazer o login, a página que faz a verificação recebe via POST os dados dos campos e faz a consulta com as variaveis. Uma vez confirmado os dados ele entra na página e registra a sessão com:

 

session_register('id_usuario');

session_register('nome_usuario');

session_register('email_usuario');

 

O problema é na navegação estando logado, pois o usuario para acessar a pagina com seus dados, por exemplo, tenho de colocar no link usuario.php?id=$id_usuario. A pagina de dados do usuario é acessada com seus registros sem problema, pois a query trouxe as colunas qndo id =1. Acontece que ao voltar para a página de início por exemplo, ela está esperando as variaveis de login e senha para acessar.

 

Teria de colocar no link as variaveis usuario e senha pra acessar a página de novo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo,

 

primeiro para trabalharmos com SESSION você deve iniciar elas:

 

session_start();

 

feito isso a página ja carrega todas as SESSION.............

 

para atribuir os valores a SESSION:

 

$_SESSION["usuario"] = $VALOR_DO_USUARIO;

 

 

e depois é so registrar:

session_register("usuario");

 

 

Pronto amigo

 

feito isso ja foi atribuido um valor a session, ai basta iniciar em todas as paginas e pegar seu valor...

 

 

Espero ter ajudado....

Compartilhar este post


Link para o post
Compartilhar em outros sites

ok.. minha dúvida é como voltar, sendo que a página principal pede outros valores. Olha o exemplo abaixo:

 

1 - index2.php após enviar login e senha:

<?php 
session_start();
require_once('cnx_dao.php');

session_register('id_usuario');
session_register('nome_usuario');
session_register('email_usuario');

$email_login = $_POST["email_usr"];
$senha_login = md5($_POST["senha_usr"]);

if(empty($email_login) || empty($senha_login))
{
header("Location: index.php");
} else {
$sql_login  = mysql_query("SELECT * FROM C_USUARI WHERE C_USUARI_S_EMAIL='$email_login' AND C_USUARI_S_SENHA='$senha_login'");
$rows_login = mysql_num_rows($sql_login);

if($rows_login!=0)
{
$mostra_usuario = mysql_fetch_array($sql_login);
$_SESSION["id_usuario"]	 = $mostra_usuario["C_USUARI_I_USUARIO"]; 
$_SESSION["nome_usuario"]   = $mostra_usuario["C_USUARI_S_NOME"];
$_SESSION["email_usuario"]  = $mostra_usuario["C_USUARI_S_EMAIL"];

$id_usuario	= $_SESSION["id_usuario"];
$nome_usuario  = $_SESSION["nome_usuario"];
$email_usuario = $_SESSION["email_usuario"];

 

2 - Página de dados do usuario com o link usuario.php?id_usuario=<?php echo"$id_usuario";?>:

<?php 
session_start();
require_once('cnx_dao.php');

session_register('id_usuario');

$id_usuario	= $_GET["id_usuario"];

if(empty($id_usuario))
{
header("Location: index.php");
} else {
$sql_login  = mysql_query("SELECT * FROM C_USUARI WHERE C_USUARI_I_USUARIO='$id_usuario'");
$rows_login = mysql_num_rows($sql_login);

if($rows_login!=0)
{
$mostra_usuario = mysql_fetch_array($sql_login);
$_SESSION["nome_usuario"]   = $mostra_usuario["C_USUARI_S_NOME"];
$nome_usuario = $_SESSION["nome_usuario"];

3 - A dúvida é justamente quando o usuário quiser voltar para index2.php, sendo q na index2.php esta pedindo usuario e senha e se eu passar eles por parametros estarei exibindo eles.

 

Como faço com a navegação entre as páginas?

 

OBS:

Mesmo com session_start(); se abrir o navegador e colocar usuario.php?id_usuario=3 ele abre e exibe os dados...

Compartilhar este post


Link para o post
Compartilhar em outros sites

cada página protegida, depois de verificar se a sessão existe, basta criar a variável com o valor de $_SESSION?

 

Outra coisa, a página index2.php é a página pós-login, sendo que ela espera o $email e $senha de um formulario. Depois de fazer login e navegar entre as páginas ao voltar para index2.php, como ela espera $email e $senha acaba voltando para o formulario de login. Como faço?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Verifica se a sessão está setada, verifica se o usuário existe no banco e faz um IF.

 

If(isset(session_register($usuario)){
 
  $sql = Select * from tabela where login = $usuario and senha = $senha
  $query = mysql_query($sql);
  $return = mysql_num_rows($query);
  
  If($return){
		
	  EXIBE AQUI O CONTEUDO DA SUA PAGINA DE LOGIN PADRÂO

  }
}Else{

	  EXIBE AQUI O CONTEUDO DA SUA PAGINA PÓS LOGIN 

}

Ajeita o codigo aí que fiz rapidinho, espero ter ajudado

Abç!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Verifica se a sessão está setada, verifica se o usuário existe no banco e faz um IF.

 

If(isset(session_register($usuario)){
 
  $sql = Select * from tabela where login = $usuario and senha = $senha
  $query = mysql_query($sql);
  $return = mysql_num_rows($query);
  
  If($return){
		
	  EXIBE AQUI O CONTEUDO DA SUA PAGINA DE LOGIN PADRÂO

  }
}Else{

	  EXIBE AQUI O CONTEUDO DA SUA PAGINA PÓS LOGIN 

}

Ajeita o codigo aí que fiz rapidinho, espero ter ajudado

Abç!

Perfeito como nosso amigo fez...

so mudaria algumas coisas

 

no primeiro IF voce pode comparar com $_SESSION ou inves de session_register

 

e no segundo IF creio que voce deva colocar um paramtro

ex:

IF($return != 0)

 

Pelo menos eu uso assim e funciona

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Marco Polo Viana, nao precisa floodar

 

se nao estao lhe ajudando coloque mais detalhes do que esta ocorrendo de errado e do que voce tentou

Compartilhar este post


Link para o post
Compartilhar em outros sites

Marco Polo Viana, nao precisa floodar

 

se nao estao lhe ajudando coloque mais detalhes do que esta ocorrendo de errado e do que voce tentou

Prezado Mário,

Não entendi o "floodar". Pode ser mais específico?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Floodar significa postar posts em sequencia ou com conteudo insignificante apenas para dar um "up"

 

no caso aqui apaguei os posts de up

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.