Tou com um grave problema. Tenho um sistema de registo de ordens de compra que tem que estar pronto até sexta-feira.
O Sistema (em php), tem vários níveis de acesso (5). Sendo que alguns níveis de acesso permitem criar utilizadores, que por sua vez, recebem os dados por email.
Ok, o que tá a acontecer, e que tem que estar resolvido (senão, há muittttttto barulho - a nível do Governo), é o seguinte:
- faço login com um utilizador. Registo ordens sem problema. Mas, se faço login com outro utilizador, ele sobrepõe os dados da sessão criada para o primeiro utilizador logado sem mesmo fazer logout do primeiro utilizador.
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
$user = $_POST['user'];
$senha = md5($_POST['senha']);
$entidade = $_POST['entidade']; // entidade é equivalente
$username = $user;
$activado = "1";
$consulta = mysql_query("SELECT * FROM utilizadores WHERE ut_login LIKE '$user' AND ut_senha LIKE '$senha' AND ut_if LIKE '$entidade' AND activado LIKE '$activado'") or die($msg[2]);
$resultado = mysql_num_rows($consulta);
if ($resultado == "0")
{
$mensagem = "Acesso Recusado";
include("index.php");
exit();
}
elseif($resultado == 1) // o que quer dizer que o utilizador esta registado na base de dados
Pergunta
xonguile
Boas, ....
Tou com um grave problema. Tenho um sistema de registo de ordens de compra que tem que estar pronto até sexta-feira.
O Sistema (em php), tem vários níveis de acesso (5). Sendo que alguns níveis de acesso permitem criar utilizadores, que por sua vez, recebem os dados por email.
Ok, o que tá a acontecer, e que tem que estar resolvido (senão, há muittttttto barulho - a nível do Governo), é o seguinte:
- faço login com um utilizador. Registo ordens sem problema. Mas, se faço login com outro utilizador, ele sobrepõe os dados da sessão criada para o primeiro utilizador logado sem mesmo fazer logout do primeiro utilizador.
Tou aflito. Preciso de ajuda urgente.
Aqui vai o código:
file 1 - autentica.php
<?php
session_start();
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
$user = $_POST['user'];
$senha = md5($_POST['senha']);
$entidade = $_POST['entidade']; // entidade é equivalente
$username = $user;
$activado = "1";
$consulta = mysql_query("SELECT * FROM utilizadores WHERE ut_login LIKE '$user' AND ut_senha LIKE '$senha' AND ut_if LIKE '$entidade' AND activado LIKE '$activado'") or die($msg[2]);
$resultado = mysql_num_rows($consulta);
if ($resultado == "0")
{
$mensagem = "Acesso Recusado";
include("index.php");
exit();
}
elseif($resultado == 1) // o que quer dizer que o utilizador esta registado na base de dados
{
if($id_nivel == "1")
{
session_start();
//IP
$info_ip = IP();
$info_ip = md5_encripta($info_ip, $password_md5_IP);
$_SESSION['sess_ip'] = $info_ip;
//capto os dados do browser do utilizador autenticado e crio a sessao
$info_browser = BROWSER();
$info_browser = md5_encripta($info_browser, $password_md5_BROWSER);
$_SESSION['sess_browser'] = $info_browser;
//capto os dados da base de dados e crio a sessao
$info_user_1 = mysql_result($consulta, 0, "ut_login");
$info_user_1 = md5_encripta($info_user_1, $password_md5_USER);
$_SESSION['sess_user_1'] = $info_user_1;
//capto os dados da base de dados e crio a sessao
$info_senha_1 = mysql_result($consulta, 0, "ut_senha");
$info_senha_1 = md5_encripta($info_senha_1, $password_md5_SENHA);
$_SESSION['sess_senha_1] = $info_senha_1;
//capto os dados da base de dados e crio a sessao
$info_entidade_1 = mysql_result($consulta, 0, "ut_if");
$info_entidade_1 = md5_encripta($info_entidade_1, $password_md5_ENTIDADE);
$_SESSION['sess_entidade_1'] = $info_entidade_1;
//capto os dados da base de dados e crio a sessao
$info_id_1 = mysql_result($consulta, 0, "ut_id");
$info_id_1 = md5_encripta($info_id_1, $password_md5_ID);
$_SESSION['sess_id_1'] = $info_id_1;
header("Location: 1/index.php");
}elseif($id_nivel == "2")
{
// Criacao das sessoes e reencaminhamento para 2
session_start();
//capto o IP do utilizador autenticado e crio a sessao
$info_ip = IP();
$info_ip = md5_encripta($info_ip, $password_md5_IP);
$_SESSION['sess_ip'] = $info_ip;
//capto os dados do browser do utilizador autenticado e crio a sessao
$info_browser = BROWSER();
$info_browser = md5_encripta($info_browser, $password_md5_BROWSER);
$_SESSION['sess_browser'] = $info_browser;
//capto os dados da base de dados e crio a sessao
$info_user_2 = mysql_result($consulta, 0, "ut_login");
$info_user_2 = md5_encripta($info_user_2, $password_md5_USER);
$_SESSION['sess_user_2'] = $info_user_2;
//capto os dados da base de dados e crio a sessao
$info_senha_2 = mysql_result($consulta, 0, "ut_senha");
$info_senha_2 = md5_encripta($info_senha_2, $password_md5_SENHA);
$_SESSION['sess_senha_2'] = $info_senha_2;
//capto os dados da base de dados e crio a sessao
$info_entidade_2 = mysql_result($consulta, 0, "ut_if");
$info_entidade_2 = md5_encripta($info_entidade_2, $password_md5_ENTIDADE);
$_SESSION['sess_entidade_2'] = $info_entidade_2;
//capto os dados da base de dados e crio a sessao
$info_id_2 = mysql_result($consulta, 0, "ut_id");
$info_id_2 = md5_encripta($info_id_2, $password_md5_ID);
$_SESSION['sess_id_2'] = $info_id_2;
header("Location:2/index.php");
}
}
não sei o ke poderá estar a acontecer....
Depois, a única coisa que faço é comprovar que as variáveis de sessão forma criadas....
Alguém me ajuda, por favor... Tou aflito :/
Link para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados
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.