Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/01/2007, 09:30
Zerg
 
Fecha de Ingreso: enero-2003
Ubicación: punta arenas
Mensajes: 65
Antigüedad: 22 años, 2 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