Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

restriccion de usuarios

Estas en el tema de restriccion de usuarios en el foro de Mysql en Foros del Web. Hola que tal... estoy haciendo una web con sistema de login de usuarios... lo que es el login funciona perfectamente....si yo introduzco un usuario y ...
  #1 (permalink)  
Antiguo 09/06/2011, 12:47
 
Fecha de Ingreso: julio-2006
Mensajes: 44
Antigüedad: 17 años, 9 meses
Puntos: 2
restriccion de usuarios

Hola que tal... estoy haciendo una web con sistema de login de usuarios... lo que es el login funciona perfectamente....si yo introduzco un usuario y una contraseña que este en la BD, entro en la "zona privada"... el problema es que lo que pretendo es que haya como un usuario "master" que al introducir su usuario y contraseña accediera a una pagina con un pequeño panel de control...y que todos los demas accedieran a su pagina privada..el codigo que tengo de momento es el siguiente:

<?php require_once('../Connections/conexion.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;

$theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
}
?><?php
// *** Validate request to login to this site.
if (!isset($_SESSION)) {
session_start();
}

$loginFormAction = $_SERVER['PHP_SELF'];
if (isset($_GET['accesscheck'])) {
$_SESSION['PrevUrl'] = $_GET['accesscheck'];
}

if (isset($_POST['login'])) {
$loginUsername=$_POST['login'];
$password=$_POST['password'];
$MM_fldUserAuthorization = "Usuario";
$MM_redirectLoginSuccess = "zonaprivada.php";
$MM_redirectLoginFailed = "incorrecto.php";
$MM_redirecttoReferrer = false;
mysql_select_db($database_conexion, $conexion);

$LoginRS__query=sprintf("SELECT Usuario, Password, Usuario FROM usuarios WHERE Usuario=%s AND Password=%s",
GetSQLValueString($loginUsername, "text"), GetSQLValueString($password, "text"));

$LoginRS = mysql_query($LoginRS__query, $conexion) or die(mysql_error());
$loginFoundUser = mysql_num_rows($LoginRS);
if ($loginFoundUser) {

$loginStrGroup = mysql_result($LoginRS,0,'Usuario');

//declare two session variables and assign them
$_SESSION['MM_Username'] = $loginUsername;
$_SESSION['MM_UserGroup'] = $loginStrGroup;

if (isset($_SESSION['PrevUrl']) && false) {
$MM_redirectLoginSuccess = $_SESSION['PrevUrl'];
}
header("Location: " . $MM_redirectLoginSuccess );
}
else {
header("Location: ". $MM_redirectLoginFailed );
}
}
?>

Como he dicho, el sistema de login funciona, pero a partir de aqui ando perdido... como puedo añadir el codigo necesario para que determinado usuario con privilegios acceda a la pagina pnel.php???
Gracias de antemano.
  #2 (permalink)  
Antiguo 09/06/2011, 13:11
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años
Puntos: 344
Respuesta: restriccion de usuarios

Pues eso tenías que haberlo pensado al hacer la base de datos, aunque se puede arreglar.

Yo pondría un campo que indicase si un usuario tiene privilegios especiales o no.

Se puede hacer de muchas formas más (y mejores), pero esta es una.

Luego en el php solo tienes que verificar si el usuario tiene esos permisos o no, y actuar en consecuencia.
  #3 (permalink)  
Antiguo 10/06/2011, 10:57
 
Fecha de Ingreso: julio-2006
Mensajes: 44
Antigüedad: 17 años, 9 meses
Puntos: 2
Respuesta: restriccion de usuarios

HOla alexg88... a lo que te refieres es a añadir una fila en la tabla usuarios que fuese de tipo boolean y que yo le dijera si tiene los privilegios o no????
Supongo que luego habria que añadir una estructura if para indicarle a php que muestre una cosa u otra.
Seria algo asi???
  #4 (permalink)  
Antiguo 10/06/2011, 13:50
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años
Puntos: 344
Respuesta: restriccion de usuarios

Me refería a una columna y sí, luego tendrías que usar un if para ver si tiene privilegios o no.
  #5 (permalink)  
Antiguo 11/06/2011, 08:43
 
Fecha de Ingreso: julio-2006
Mensajes: 44
Antigüedad: 17 años, 9 meses
Puntos: 2
Respuesta: restriccion de usuarios

Si..eso es...me referia a una columna.... lo he estado probando y pense que me resultaria mas facil directamente que compruebe directamente si el usuario introducido es "x".. pero resulta que ahora meta el usuario que meta me lleva a panel.php cuando solo me debria mandar en caso de que el usuario introducido fuese "edulucas"..este es el codigo que he modificado:

if (isset($_POST['login'])) {
$loginUsername=$_POST['login'];
$password=$_POST['password'];
$MM_fldUserAuthorization = "Usuario"; {

if (($loginUsername = "edulucas") && ($password = "123456789")) {


$MM_redirectLoginSuccess = "panel.php";
$MM_redirecttoReferrer = false;
}else {

$MM_redirectLoginSuccess = "zonaprivada.php";
$MM_redirectLoginFailed = "incorrecto.php";
$MM_redirecttoReferrer = false;
}
}
mysql_select_db($database_conexion, $conexion);

No se si si seria factible hacerlo de esta manera...es que el otro me parece mas dificil.

Etiquetas: restriccion, usuarios
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:01.