Nivel de acesso a página em php ?
Preciso urgentemente de ajuda com esse códico....
eu quero logar com nível de acesso de administrador ;na minha tabela o nivel é igual a 1;
Tento desde ontem,mas não consigo....
Se o nível do usuiario for igual a 1 ele é redirecionado para uma página restrita,se o nivel for 2 ele é redirecionado para uma página normal.
Me ajudem.
Nem sei mas o que fazer...
Ficarei a noite toda acordado,tentando resolver esse e outros problemas.
É que sou muito novato em php.
###########################################################################333
Esse é o login.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Login</title>
<link href="midia/css/estilo.css" rel="stylesheet" type="text/css" />
<link href="midia/css/formulario.css" rel="stylesheet" type="text/css" />
<script src="plugins/jquery-1.7.2.min.js" type="text/javascript"></script>
<script src="plugins/jquery.maskedinput-1.3.min.js" type="text/javascript"></script>
<script>
$(function(){
$("#email").mask("");
$("#senha").mask("");
});
</script>
<script>
function validarCampos(){
if(document.logar.email.value=="" || document.logar.email.length<=6){
alert("Preencha o campo email corretamente !");
}
if(document.logar.senha=="" || document.logar.senha.lenght<=6){
alert("Preencha o campo senha corretamente !");
}
}
</script>
</head>
<body>
<div id="geral">
<?php
session_start();
include_once ('cabecalho.php');
function validar(){
if ( $contagem == 1 ) {
$errors .= "Login escolhido já cadastrado."; //se o login já existir, ele adiciona o erro
return false;
}
if ( $login == "" ) {
$errors .= "Você não digitou um login"; //confere se o campo login não ficou vazio
return false;
}
if ( $senha == "" ) {
$errors .= "Você não digitou uma senha"; //confere se o campo senha não ficou vazio
return false;
}
if ( $senha != $senha2 ) {
$errors .= "Você digitou 2 senhas diferentes."; //adiciona o erro caso o usuário digitou 2 senhas diferentes
return false;
}
if ( $errors == "" ) { //checa se houve ou não erros no cadastro
return true;
}
}
?>
<form action="verifica_login.php" method="post" name="logar" onsubmit="javascript: return validarCampos()">
<table width="215" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td colspan="2">Logar</td>
</tr>
<tr>
<td width="70"><p class="formulario">Email:</p></td>
<td width="277"><input name="email" type="text" class="campos" id="email" value="" size="30" maxlength="70" /></td>
</tr>
<tr>
<td><p class="formulario">Senha:</p></td>
<td><input name="senha" type="password" class="campos" id="senha" value="" size="30" maxlength="32" /></td>
</tr>
<tr>
<td><input type="hidden" name="acao" value="email"/></td>
<td><input name="logar" type="submit" class="botao" id="logar" value="Logar" /></td>
</tr>
</table>
</form>
</div>
</body>
</html>
########################################################################################33
Esse é valida_login.php
<?php
session_start();
require_once('classes/executar.php');
$sel = "SELECT nivel FROM usuario WHERE email='".$_POST['email']."' and senha=MD5('".$_POST['senha']."')";
$res = mysql_query($sel, $conexao) or die ("Nao foi possivel realizar a consulta.");
while($linha = mysql_fetch_array($res)){
$nivel = $linha["nivel"];
}
if ($linha) &&($nivel=1) {
$_SESSION['usuarioLogado']=$linha['nome_usuario'];
$_SESSION['usuarioLogadoId']=$linha['id_usuario'];
$_SESSION['usuarioNivel'] = $linha['nivel'];
header("Location: home.php");
}else{
$_SESSION['usuarioLogado']='nao';
$_SESSION['usuarioLogadoId']='x';
$_SESSION['usuarioNivel']='0';
header("Location: login.php");
}
break;
?>
eu quero logar com nível de acesso de administrador ;na minha tabela o nivel é igual a 1;
Tento desde ontem,mas não consigo....
Se o nível do usuiario for igual a 1 ele é redirecionado para uma página restrita,se o nivel for 2 ele é redirecionado para uma página normal.
Me ajudem.
Nem sei mas o que fazer...
Ficarei a noite toda acordado,tentando resolver esse e outros problemas.
É que sou muito novato em php.
###########################################################################333
Esse é o login.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Login</title>
<link href="midia/css/estilo.css" rel="stylesheet" type="text/css" />
<link href="midia/css/formulario.css" rel="stylesheet" type="text/css" />
<script src="plugins/jquery-1.7.2.min.js" type="text/javascript"></script>
<script src="plugins/jquery.maskedinput-1.3.min.js" type="text/javascript"></script>
<script>
$(function(){
$("#email").mask("");
$("#senha").mask("");
});
</script>
<script>
function validarCampos(){
if(document.logar.email.value=="" || document.logar.email.length<=6){
alert("Preencha o campo email corretamente !");
}
if(document.logar.senha=="" || document.logar.senha.lenght<=6){
alert("Preencha o campo senha corretamente !");
}
}
</script>
</head>
<body>
<div id="geral">
<?php
session_start();
include_once ('cabecalho.php');
function validar(){
if ( $contagem == 1 ) {
$errors .= "Login escolhido já cadastrado."; //se o login já existir, ele adiciona o erro
return false;
}
if ( $login == "" ) {
$errors .= "Você não digitou um login"; //confere se o campo login não ficou vazio
return false;
}
if ( $senha == "" ) {
$errors .= "Você não digitou uma senha"; //confere se o campo senha não ficou vazio
return false;
}
if ( $senha != $senha2 ) {
$errors .= "Você digitou 2 senhas diferentes."; //adiciona o erro caso o usuário digitou 2 senhas diferentes
return false;
}
if ( $errors == "" ) { //checa se houve ou não erros no cadastro
return true;
}
}
?>
<form action="verifica_login.php" method="post" name="logar" onsubmit="javascript: return validarCampos()">
<table width="215" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td colspan="2">Logar</td>
</tr>
<tr>
<td width="70"><p class="formulario">Email:</p></td>
<td width="277"><input name="email" type="text" class="campos" id="email" value="" size="30" maxlength="70" /></td>
</tr>
<tr>
<td><p class="formulario">Senha:</p></td>
<td><input name="senha" type="password" class="campos" id="senha" value="" size="30" maxlength="32" /></td>
</tr>
<tr>
<td><input type="hidden" name="acao" value="email"/></td>
<td><input name="logar" type="submit" class="botao" id="logar" value="Logar" /></td>
</tr>
</table>
</form>
</div>
</body>
</html>
########################################################################################33
Esse é valida_login.php
<?php
session_start();
require_once('classes/executar.php');
$sel = "SELECT nivel FROM usuario WHERE email='".$_POST['email']."' and senha=MD5('".$_POST['senha']."')";
$res = mysql_query($sel, $conexao) or die ("Nao foi possivel realizar a consulta.");
while($linha = mysql_fetch_array($res)){
$nivel = $linha["nivel"];
}
if ($linha) &&($nivel=1) {
$_SESSION['usuarioLogado']=$linha['nome_usuario'];
$_SESSION['usuarioLogadoId']=$linha['id_usuario'];
$_SESSION['usuarioNivel'] = $linha['nivel'];
header("Location: home.php");
}else{
$_SESSION['usuarioLogado']='nao';
$_SESSION['usuarioLogadoId']='x';
$_SESSION['usuarioNivel']='0';
header("Location: login.php");
}
break;
?>
comentários (0)
suspender
Lista de Respostas:
04/07/2012 7:06pm
(~12 anos atrás)
(~12 anos atrás)
Tem um erro aqui
Deveria ser
if ($linha) &&($nivel=1) {
Deveria ser
if ($linha && $nivel==1) {