Foros del Web » Programando para Internet » PHP »

Sesion de Usuario

Estas en el tema de Sesion de Usuario en el foro de PHP en Foros del Web. estimados amigos del foro, tengo el sigueinte problema, el codigo que les pondré a continuación es un codigo realizado con dreamweaver en el cual hago ...
  #1 (permalink)  
Antiguo 21/01/2007, 09:30
 
Fecha de Ingreso: enero-2003
Ubicación: punta arenas
Mensajes: 65
Antigüedad: 21 años, 3 meses
Puntos: 0
Sesion de Usuario

estimados amigos del foro, tengo el sigueinte problema, el codigo que les pondré a continuación es un codigo realizado con dreamweaver en el cual hago un inicio de sesion sacando los usuarios de una base de datos, (Funciona correctamente) pero el problema que tengo es que al sistema quiero agregar otra sesion de Administrador sacando los usuarios de otra tabla que tambien hice y funciona correctamente. mi consulta es ya que es el mismo codigo no puedo distinguir entre una sesion y la otra, ejemplo si ingreso con la cuenta de administrador puedo ingresar a la sesion de usuario y vice versa. ¿como puedo hacer que las sesiones tengan nombres de sessiones distintas?

el codigo

el formulario:

<form name="login_usuario" method="POST" action="login_usuario.php">
<table width="393" border="0" align="center" cellpadding="0" cellspacing="5">
<tr>
<td width="139"><span class="Estilo11">Usuario</span></td>
<td width="361"><input name="usuario" type="text" id="usuario" size="30"></td>
</tr>
<tr>
<td class="Estilo11">Password</td>
<td><input name="password" type="password" id="password" size="30"></td>
</tr>
<tr>
<td>&nbsp;</td>
<td><p> <br>
<input type="submit" name="Submit" value="Ingresar Administrador">
</p>
</td>
</tr>
</table>
</form>

Login_usuario.php

<?php require_once('Connections/conn_ecbi.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['usuario'])) {
$loginUsername=$_POST['usuario'];
$password=$_POST['password'];
$MM_fldUserAuthorization = "";
$MM_redirectLoginSuccess = "inventario_ecbi.php";
$MM_redirectLoginFailed = "index.php";
$MM_redirecttoReferrer = false;
mysql_select_db($database_conn_ecbi, $conn_ecbi);

$LoginRS__query=sprintf("SELECT usuario, password FROM usuarios WHERE usuario='%s' AND password='%s'",
get_magic_quotes_gpc() ? $loginUsername : addslashes($loginUsername), get_magic_quotes_gpc() ? $password : addslashes($password));

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

//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 );
}
}
?>

se me olvidaba la validación en la pagina de destino

<?php
session_start();
$MM_authorizedUsers = "";
$MM_donotCheckaccess = "true";

// *** 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 == "") && true) {
$isValid = true;
}
}
return $isValid;
}

$MM_restrictGoTo = "login_no.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;
}
?>



Muchas Gracias.

Chauz

Última edición por Zerg; 21/01/2007 a las 09:36
  #2 (permalink)  
Antiguo 22/01/2007, 19:53
Avatar de Dabogam  
Fecha de Ingreso: enero-2007
Ubicación: Mérida, Yucatán
Mensajes: 21
Antigüedad: 17 años, 3 meses
Puntos: 0
Re: Sesion de Usuario

Deberias de establecer un nivel de permisos dentro de la base de datos para distinguir a un administrador de un usuario, ya dentro del codigo tu sabras que puede ver cada quien con determinado nivel y que restricciones tiene cada uno de los niveles
  #3 (permalink)  
Antiguo 23/01/2007, 23:04
 
Fecha de Ingreso: enero-2003
Ubicación: punta arenas
Mensajes: 65
Antigüedad: 21 años, 3 meses
Puntos: 0
Re: Sesion de Usuario

OK, me fije que salian esas opciones pero no me imaginé para que servian ni como funcionaban, lo voy a probar. muchas gracias.

Saludos.
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 12:53.