Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Prezados eu criei um site de logon de usuário por nível de acesso.
<?php
$page="ProjetoDB-Painel Administrativo";
include("views/header.php");
include("consultas/connection.php");
?>
<div id="cadastrar"><a href="index.php?acao=logout" title="Fazer Logout!">Logout »</a></div>
<div id="login" class="form bradius">
<div class="message bradius" style="<?php echo $display;?>"></div>
<div class="logo"><a href="<?php echo $home;?>" title="<?php echo $title;?>"><img src="css/imagens/logo.png" alt="<?php echo $title;?>" title="<?php echo $title;?>" width="60" heigth="61" /></a></div>
<div class="acomodar">
<?php
if($nivel == 2){
?>
<table width="100%" border="0">
<tr>
<th>Nome</th>
<th>Status</th>
<th>Acao</th>
</tr>
<?php
$buscarusuarios=mysql_query("SELECT * FROM usuarios WHERE nivel='1'");
if(mysql_num_rows($buscarusuarios)==0){
echo"Nenhum Usuario Cadastrado no Sistema!";
}else{
while($linha=mysql_fetch_array($buscarusuarios)){
?>
<tr>
<td><?php echo $linha["nome"];?></td>
<td><?php echo $linha["status"];?></td>
<td><?php $id=$linha["ID"];if($linha["status"] == 0){ echo"<a href=\"index.php?acao=aprovar&id=$id\">Aprovar</a>";}else{echo"<a href=\"index.php?acao=bloquear&id=$id\">Bloquear</a>";}?></td>
</tr>
<?php }}?>
</table>
<?php }else{?>
<p><a href="\sistemaphp\consultas\results1.php\">Resultado1</a></p>
<?php }?>
<!--acomodar-->
</div>
<!--login-->
</body>
</html>
Dai quando eu me logo com o usuário nivel 1, eu acesso o link results1.php.
Ao entrar nesse link e retornar o site pede para eu logar novamente.
Como eu faço para acessar este link ou outros que quero criar e continuar logado no site.
Hugo
A ação de logar está assim
<?php
class Login{
public function logar($email,$senha) {
$buscar=mysql_query("SELECT * FROM usuarios WHERE email='$email' AND '$senha'='$senha' LIMIT 1");$dados=mysql_fetch_array($buscar);
if($dados["status"] == 1){
$_SESSION["email"]=$dados["email"];
$_SESSION["senha"]=$dados["senha"];
$_SESSION["nivel"]=$dados["nivel"];
setcookie("logado",1);
$log=1;$flash="Aguarde a nossa aprovação!";
}
}$flash="Ops! Digite seu e-mail e sua senha corretamente";
}
}
echo $flash;
}
}
?>
Dai é feito o login
Daí eu guardo a informação de login no results1.php?
Vc está reabrindo a sessão ?
O certo é vc abrir a sessão toda vez que a pagina carregar!
Thomas toda vez que eu abrir um link dentro da minha home eu devo me re-logar?
Eu queria logar apenas uma vez e cada link ficar com esta informação de logado
não cara, vc tem que reabrir a sessão apenas!
Onde vc está abrindo a sessão? com session_start();
coloque na header.php por exemplo;
na minha header.php existe o session_start();
<?php
//Starts
ob_start();
session_start();
//Globais
include("globais.php");
//include das classes
include("classes/Cadastro.class.php");
include("classes/DB.class.php");
include("classes/login.class.php");
//Conexão com banco de dados
$conectar=new DB;
$conectar=$conectar->conectar();
//select para verificar a quantidade de usuários no banco de dados
//$query=mysql_query("SELECT * FROM usuarios");
//echo "<h1>",mysql_num_rows($query)."<h1>";
//Metodo
include("controllers/cadastro.php");
include("controllers/login.php");
include("controllers/logout.php");
include("controllers/check.php");
include("controllers/aprovar.php");
include("controllers/bloquear.php");
include("controllers/style.php");
//Variaveis de estilo
?>
Eu tenho que adicionar no results1.php ?
Do mais grato desde já.
Se você já está abrindo sessão então faz assim:
<?php
class Login{
public function logar($email,$senha) {
$buscar=mysql_query("SELECT * FROM usuarios WHERE email='$email' AND '$senha'='$senha' LIMIT 1");
if(mysql_num_rows($buscar) == 1){
$dados=mysql_fetch_array($buscar);
if($dados["status"] == 1){
$_SESSION["email"]=$dados["email"];
$_SESSION["senha"]=$dados["senha"];
$_SESSION["nivel"]=$dados["nivel"];
$_SESSION["logado"]=1;
setcookie("logado",1);
$log=1;
}else{
$flash="Aguarde a nossa aprovação!";
}
}
if($_SESSION["logado"] == 1){
$flash="Você foi logado com sucesso!";
}else{
unset($_SESSION);
if(empty($flash)){
$flash="Ops! Digite seu e-mail e sua senha corretamente";
}
}
echo $flash;
}
}
?>Thomas obrigado pelo retorno.
Eu ainda não estou conseguindo permanecer logado.
Quando eu retorno para a pagina gera o problema.
Eu estou fazendo assim:
Quando eu clico no results1.php para voltar eu fiz o código assim:
<br><a href='javascript:history.back(1)'>Voltar</a></br>
Preciso fazer algo diferente?
Posso estar errado mas acho que o 'javascript:history.back(1)' nao da refresh na pagina sendo assim ele nao poderia verificar a sessão tente um link manual. 'link.extensão'.
Voce deve gravar o login em uma $_SESSION