Ir para conteúdo

POWERED BY:

Arquivado

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

vinicius015

[Resolvido] Carregando nivel em session

Recommended Posts

Paz galera, blza?

 

To necessitando de uma coisinha, espero poder contar com ajuda de vocês... to perdendo os neuronios por isso ja rs

 

Tenho um sistema de cadastro de usuários, com base em um de login, para usuários de loja de catalogo.

 

E seguinte, estou realizando o login e senha, ok, funcionando perfeitamente, só queria que no login e senha ele carregasse

por session o nivel do usuário "no caso 0,1 ou 2" o que atualmente fiz e não deu certo.

 

O que atualmente vejo é que ele carrega somente na session o email e a senha, no caso,

ja fiz em post e tudo mais e nada deu certo, como resgato ele do banco de dados e coloco na session?

 

Vou postar para vcs verem o codigo original, qual não fiz nenhuma alteração.

 

LOGIN.PHP

<?php

$erro = "";

if(getenv("REQUEST_METHOD") == "POST") {

	$email  = $_POST["Email"];
	$senha = $_POST["Senha"];

	if ( get_magic_quotes_gpc() ) {
		$email  = stripslashes($_POST["Email"]);
		$senha = stripslashes($_POST["Senha"]);
	}
	$email  = mysql_escape_string($email);
	$senha = mysql_escape_string($senha);
	
	
	$chave = md5( md5(strtolower(trim($email))) . md5(strtolower(trim($senha))) );	
	$senha = md5($senha);
	//coloque seus dados de conexao
	mysql_connect("localhost", "newcampi_user", "2010");
	mysql_select_db("newcampi_banco");
	
	$sql   = "SELECT COUNT(*) AS total FROM tabela_usuarios WHERE email = '%s' AND senha = '%s' and chave = '$chave' and nivel_acesso > 0";		
	
	$re    = mysql_query(sprintf($sql, $email, $senha));
	$total = mysql_result($re, 0, "total");
	mysql_close();
    
	if($total == 1) {
		$dados = array();
		$dados["email"]     = ucfirst(strtolower($email));
		$dados["logado"]   = true;
		session_start();
		$_SESSION["dados"] = $dados;
		header("Location: index.php?id=principal");
	} else {
		$erro  = "Usuario ou senha invalido";
		$erro .= "<script type=\"text/javascript\">document.getElementById(\"erro\").className = 'visivel';</script>";
	}
}

?>
<html>
<head>
<title>LOGIN</title>
</head>
<body bgcolor="#E6E6E6" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<form id="formulario" name="formulario" action="index.php?id=login" method="post" >
<table align="center" border="0" cellpadding="0" cellspacing="0" width="280">
<tr>
<td width="70" height="35">
<p style="margin-right:10; margin-left:10;"><font face="Verdana" color="#003399"><span style="font-size:9pt;"><b>Email:</b></span></font></p>
</td>
<td width="180" height="35">
<p align="left"><input type="text" name="Email" class="todoform" size="25"></p>
</td>
</tr>
<tr>
<td width="70" height="35">
<p style="margin-right:10; margin-left:10;"><font face="Verdana" color="#003399"><span style="font-size:9pt;"><b>Senha:</b></span></font></p>
</td>
<td width="180" height="35">
<p align="left"><input type="password" name="Senha" class="todoform" size="20"></p>
</td>
</tr>
</table>
</body>
</html>

PRINCIPAL.PHP

<?php
include "protecao.php";
$dados = $_SESSION["dados"];
$emailverifica  = $dados['email'];
?>
<?
echo "<h3>Bem-Vindo, $emailverifica</h3>"; // AQUI ELE MOSTRA O EMAIL VERIFICADOR
?>

PROTEÇÃO.PHP

<?php
session_start();
if(!isset($_SESSION["dados"])) {
	header("Location: index.php?id=login");
}
?>

Desde já agradeço a todos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ja tentou inserir um

if($_SESSION['nivel'] == "1"){ 
header("Location: pagina1.php"); 
exit;
} elseif ($_SESSION['nivel'] == "2"){ 
header("Location: pagina2.php"); 
exit;
} elseif ($_SESSION['nivel'] == "3"){ 
header("Location: pagina3.php"); 
exit;
}

e você cria 3 proteções para as páginas pertinentes aos niveis de usuários $_SESSION['nivel'] <= "2", e etc...

Compartilhar este post


Link para o post
Compartilhar em outros sites

fala André, beleza irmão?

 

Mas seguinte, quanto a separação de niveis não tenho dificuldade, o q preciso é que ele já autentique e me de o nivel do usu[ario, seria possivel isso?

 

O If que fez eu tenho ele assim...

 

<?

if ($nivel == "0") {

echo "
<a href='index.php?id=logout' title='Logout'>Logout 0 </a>
 | <a href='index.php?id=meucadastro' title='Meu Cadastro'>Meu Cadastro 0</a> 
 |  <a href='carrinho.php' title='Meu Carrinho'>Meu Carrinho 0</a>";  }
      
elseif ($nivel == "1") {
  
echo "
<a href='index.php?id=logout' title='Logout'>Logout 1</a>
 | <a href='index.php?id=meucadastro' title='Meu Cadastro'>Meu Cadastro 1</a> 
 |  <a href='carrinho.php' title='Meu Carrinho'>Meu Carrinho 1</a>"; }

elseif ($nivel == "") {
  
echo "<a href='index.php?id=login' title='Login'>Login</a>
 | <a href='index.php?id=cadastro' title='Cadastro'>Cadastrar-se</a> "; }
?>

No caso eu queria carregalo ja no login, pois isso acho que me ajudaria em um probelmas que estou tendo no topo, pois a consulta do topo, pois estou traalhando com querystring e include, o q anda me atrapalhando um pouco...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Paz Galera, egue o codigo solucionado com questão acima ;) para futuras consultas...

 

<?php

$erro = "";

if(getenv("REQUEST_METHOD") == "POST") {

	$email  = $_POST["Email"];
	$senha = $_POST["Senha"];

	if ( get_magic_quotes_gpc() ) {
		$email  = stripslashes($_POST["Email"]);
		$senha = stripslashes($_POST["Senha"]);
	}
	$email  = mysql_escape_string($email);
	$senha = mysql_escape_string($senha);
	
	
	$chave = md5( md5(strtolower(trim($email))) . md5(strtolower(trim($senha))) );	
	$senha = md5($senha);
	//coloque seus dados de conexao
	mysql_connect("localhost", "newcampi_user", "2010");
	mysql_select_db("newcampi_banco");
	
	$sql = "SELECT * FROM tabela_usuarios WHERE email = '%s' AND senha = '%s' and chave = '$chave' and nivel_acesso > 0";
	$re = mysql_query(sprintf($sql, $email, $senha));
	$total = mysql_num_rows($re);
	$linha = mysql_fetch_array($re);

	if($total == 1) {
	$dados = array();
	$dados["email"] = ucfirst(strtolower($linha['email']));
	$dados["nivel_acesso"] = ucfirst(strtolower($linha['nivel_acesso']));
	$dados["logado"] = true;
	session_start();
	$_SESSION["dados"] = $dados;
	header("Location: index.php?id=principal"); 
	} else {
		$erro  = "Usuario ou senha invalido";
		$erro .= "<script type=\"text/javascript\">document.getElementById(\"erro\").className = 'visivel';</script>";
	}
}

?>

Paz!

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.