Sou novato no estudo de PHP, e estou tentando fazer um sistema de níveis de acesso em PHP através do Dreamweaver.
O problema é o seguinte: Quando tento acessar a área restrita não consigo. Porém se eu excluo o sistema de restrição de acesso ... consigo acessar normalmente.
Segue abaixo os códigos dá página de login e de uma das páginas restritas.
Login_admin.php
<?php require_once('../Connections/Conndg.php'); ?>
<?php
// *** Validate request to login to this site.
session_start();
$loginFormAction = $_SERVER['PHP_SELF'];
if (isset($accesscheck)) {
$GLOBALS['PrevUrl'] = $accesscheck;
session_register('PrevUrl');
}
if (isset($_POST['usu_nome'])) {
$loginUsername=$_POST['usu_nome'];
$password=$_POST['usu_senha'];
$MM_fldUserAuthorization = "usu_nivel";
$MM_redirectLoginSuccess = "index.php";
$MM_redirectLoginFailed = "login_admin.php";
$MM_redirecttoReferrer = false;
mysql_select_db($database_Conndg, $Conndg);
$LoginRS__query=sprintf("SELECT usu_nome, usu_senha, usu_nivel FROM usuarios WHERE usu_nome='%s' AND usu_senha='%s'",
get_magic_quotes_gpc() ? $loginUsername : addslashes($loginUsername), get_magic_quotes_gpc() ? $password : addslashes($password));
$LoginRS = mysql_query($LoginRS__query, $Conndg) or die(mysql_error());
$loginFoundUser = mysql_num_rows($LoginRS);
if ($loginFoundUser) {
$loginStrGroup = mysql_result($LoginRS,0,'usu_nivel');
//declare two session variables and assign them
$GLOBALS['MM_Username'] = $loginUsername;
$GLOBALS['MM_UserGroup'] = $loginStrGroup;
//register the session variables
session_register("MM_Username");
session_register("MM_UserGroup");
if (isset($_SESSION['PrevUrl']) && false) {
$MM_redirectLoginSuccess = $_SESSION['PrevUrl'];
}
header("Location: " . $MM_redirectLoginSuccess );
}
else {
header("Location: ". $MM_redirectLoginFailed );
}
}
?>
<!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>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body>
<?php if(isset($_GET["login_errado"])) { ?>
<p><strong>O login e/ou senha não consta em nosso banco de dados.</strong></p>
<?php } ?>
<form ACTION="<?php echo $loginFormAction; ?>" name="form1" id="form1" method="POST">
<p><input name="usu_nome" type="text" id="usu_nome" /></p>
<p><input name="usu_senha" type="password" id="usu_senha" />
</p>
<p><input type="submit" name="Submit" value="Logar" /></p>
</form>
</body>
</html>
index.php
<?php require_once('../Connections/Conndg.php'); ?>
<?php
//initialize the session
session_start();
// ** Logout the current user. **
$logoutAction = $_SERVER['PHP_SELF']."?doLogout=true";
if ((isset($_SERVER['QUERY_STRING'])) && ($_SERVER['QUERY_STRING'] != "")){
$logoutAction .="&". htmlentities($_SERVER['QUERY_STRING']);
}
if ((isset($_GET['doLogout'])) &&($_GET['doLogout']=="true")){
//to fully log out a visitor we need to clear the session varialbles
session_unregister('MM_Username');
session_unregister('MM_UserGroup');
$logoutGoTo = "login_admin.php";
if ($logoutGoTo) {
header("Location: $logoutGoTo");
exit;
}
}
?>
<?php
session_start();
$MM_authorizedUsers = "1";
$MM_donotCheckaccess = "false";
// *** Restrict Access To Page: Grant or deny access to this page
function isAuthorized($strUsers, $strGroups, $UserName, $UserGroup) {
// For security, start by assuming the visitor is NOT authorized.
$isValid = False;
// When a visitor has logged into this site, the Session variable MM_Username set equal to their username.
// Therefore, we know that a user is NOT logged in if that Session variable is blank.
if (!empty($UserName)) {
// Besides being logged in, you may restrict access to only certain users based on an ID established when they login.
// Parse the strings into arrays.
$arrUsers = Explode(",", $strUsers);
$arrGroups = Explode(",", $strGroups);
if (in_array($UserName, $arrUsers)) {
$isValid = true;
}
// Or, you may restrict access to only certain users based on their username.
if (in_array($UserGroup, $arrGroups)) {
$isValid = true;
}
if (($strUsers == "") && false) {
$isValid = true;
}
}
return $isValid;
}
$MM_restrictGoTo = "login_admin.php";
if (!((isset($_SESSION['MM_Username'])) && (isAuthorized("",$MM_authorizedUsers, $_SESSION['MM_Username'], $_SESSION['MM_UserGroup'])))) {
$MM_qsChar = "?";
$MM_referrer = $_SERVER['PHP_SELF'];
if (strpos($MM_restrictGoTo, "?")) $MM_qsChar = "&";
if (isset($QUERY_STRING) && strlen($QUERY_STRING) > 0)
$MM_referrer .= "?" . $QUERY_STRING;
$MM_restrictGoTo = $MM_restrictGoTo. $MM_qsChar . "accesscheck=" . urlencode($MM_referrer);
header("Location: ". $MM_restrictGoTo);
exit;
}
?>
<?php
mysql_select_db($database_Conndg, $Conndg);
$query_Recordset1 = "SELECT * FROM usuarios";
$Recordset1 = mysql_query($query_Recordset1, $Conndg) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);
?>
<!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=iso-8859-1" />
<title>Projeto: Portal de Notícias [ Área Administrativa ]</title>
<style type="text/css" media="screen">
<!--
@import url(../css/style_portal_admin.css);
-->
</style>
</head>
<body>
<!--
Aproveite este simples modelo, e aprenda um pouco sobre Tableless
-->
<div id="global">
<div id="topo">
<h1>Portal de Notícias [ Admin ]</h1>
</div>
<!-- / Head -->
<div id="menu">
<ul>
<li><a href="index.php">Início do Admin</a></li>
<li><a href="#">Log out</a></li>
<li><a href="cadastro_usuario.php">Cadastrar usuário</a></li>
<li><a href="noticia_inserir.php">Cadastrar notícias</a></li>
<li><a href="adm.php">Editar Usuários</a></li>
</ul>
</div>
<!-- / Menu -->
<div id="conteudo_admin">
<h2>Relatório das notícias</h2>
</div>
<!-- / Conteudo Admin -->
<div id="rodape">
<h4>Rodapé</h4>
</div>
<!-- / Rodapé -->
</div>
<!-- / Global -->
Log out<a href="<?php echo $logoutAction ?>">Log out</a>
</body>
</html>
<?php
mysql_free_result($Recordset1);
?>
Os níveis ded acesso no meu DB são: 1 e 2. no campo usu_nivel.
Pergunta
Aramist
Olá amigos.
Espero que possa me ajudar...
Sou novato no estudo de PHP, e estou tentando fazer um sistema de níveis de acesso em PHP através do Dreamweaver.
O problema é o seguinte: Quando tento acessar a área restrita não consigo. Porém se eu excluo o sistema de restrição de acesso ... consigo acessar normalmente.
Segue abaixo os códigos dá página de login e de uma das páginas restritas.
Login_admin.php
index.phpOs níveis ded acesso no meu DB são: 1 e 2. no campo usu_nivel.
Obrigado pela atenção....
Abraço
Link para o comentário
Compartilhar em outros sites
1 resposta 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.