Ir para conteúdo

Arquivado

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

NetSpot

Como fazer para continuar em uma mesma página após o login?

Recommended Posts

Oi pessoal, eu criei algumas páginas restritas que só podem ser acessadas por usuários cadastrados e logados no site.

 

Para as páginas restritas, adicionei no topo:

 

<?php 
session_start();
require_once("common/functions.inc.php");
valida_sessao2();
?>

 

Onde functions.inc.php é:

 

<?php
require_once("config.inc.php");
function sql_connect() 
{
global $config;
   $conexao = mysql_connect($config["mysql_host"],$config["mysql_user"],$config["mysql_pass"]);
   mysql_select_db($config["mysql_db"]);
   return $conexao;
}
function sql_disconnect($link)
{
return mysql_close($link);
}
function sql_exec($sql, $conexao = "")
{
   if ( empty($conexao) ) {
       $link = sql_connect();
   }
   $result = mysql_query($sql, empty($conexao)?$link:$conexao );
   if (!$result) {
       die("ERRO: ".mysql_error());
   }
   //if ( empty($conexao) ) {
       //sql_disconnect($link);
   //}
   return $result;
}
function valida_login($des_usuario, $des_senha)
{
$sql = "SELECT cod_usuario, des_usuario, des_senha FROM usuarios WHERE des_usuario = '".$des_usuario."' AND ind_bloqueado = '0'";
   $result = sql_exec($sql);
   $login = mysql_fetch_assoc($result);
   if ( $login["des_senha"] == crypt($des_senha, $login["des_senha"]) ) {
       return $login["cod_usuario"];
   } else {
       return false;
   }
}
function valida_sessao()
{
   global $_SESSION;
session_start();
ini_set("session.gc_maxlifetime", "999999999999");
   if ( empty($_SESSION["cod_user"]) ) {
       header("Location:perfil.php");
}
}
function get_nome_usuario( $cod_usuario, $campo ) 
{
$sql = "SELECT des_".$campo." FROM usuarios WHERE cod_usuario = ".$cod_usuario;
$result = sql_exec($sql);
$row = mysql_fetch_assoc($result);
return $row["des_".$campo];
}
function valida_login2($des_usuario, $des_senha)
{
$sql = "SELECT cod_usuario, des_usuario, des_senha FROM usuarios WHERE des_usuario = '".$des_usuario."' AND ind_bloqueado = '0'";
   $result = sql_exec($sql);
   $login = mysql_fetch_assoc($result);
   if ( $login["des_senha"] == crypt($des_senha, $login["des_senha"]) ) {
       return $login["cod_usuario"];
   } else {
       return false;
   }
}
function valida_sessao2()
{
   global $_SESSION;
session_start();
ini_set("session.gc_maxlifetime", "9999999999");
   if ( empty($_SESSION["cod_user"]) ) {
       header("Location:login.php");
}
}
function get_nome_usuario2( $cod_usuario, $campo ) 
{
$sql = "SELECT des_".$campo." FROM usuarios WHERE cod_usuario = ".$cod_usuario;
$result = sql_exec($sql);
$row = mysql_fetch_assoc($result);
return $row["des_".$campo];
}
function date2data ( $tipo, $data )
{
if ( $tipo == "data" ) {
	$dt = explode("-",$data);
	$dta = $dt[2]."/".$dt[1]."/".$dt[0];
} elseif ( $tipo == "dataehora" ) {
	$x = explode(" ",$data);
	$dt = explode("-",$x[0]);
	$hr = explode(":",$x[1]);
	$dta = $dt[2]."/".$dt[1]."/".$dt[0]." ".$hr[0].":".$hr[1];
}
return $dta;
}

function dataguest ($data)
{
$separa = explode(" ", $data);
$date = explode("-", $separa[0]);
$data = $date[2]."/".$date[1]."/".$date[0]." - ".$separa[1];
return $data;
}
function dataguest2 ($data)
{
$date = explode("-", $data);
$data = $date[2]."/".$date[1]."/".$date[0];
return $data;
}
?>

 

No código acima, se o usuário informou login e senha corretamente vai para a página perfil.php, senão é redirecionado para a tela de login.

 

Vamos supor que eu crie várias páginas restritas e caso o usuário acesse uma delas sem estar logado, seja redirecionado para a tela de login. Gostaria de saber como eu poderia fazer para que ao se logar, o usuário continue na página acessada e não no perfil.php.

 

Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Use session e grava a url nela, se estiver vazia manda para perfil.php senão manda pra onde você quiser que no caso é a última pagina acessada!

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.