Foros del Web » Creando para Internet » Herramientas y Software »

validacion de niveles, php y dreamweaver

Estas en el tema de validacion de niveles, php y dreamweaver en el foro de Herramientas y Software en Foros del Web. que tal gente como estan??? esta consulta ya la hicieron y disculpen si la repito, pero como he visto que no hay que revivir temas ...
  #1 (permalink)  
Antiguo 14/08/2010, 22:39
 
Fecha de Ingreso: agosto-2007
Mensajes: 123
Antigüedad: 16 años, 8 meses
Puntos: 0
validacion de niveles, php y dreamweaver

que tal gente como estan???

esta consulta ya la hicieron y disculpen si la repito, pero como he visto que no hay que revivir temas viejos, pues decdi preguntar de nuevo. he seguido los pasos que juaniquillo da en este enlace: http://www.forosdelweb.com/f17/ident...iveles-730779/

pero por mas que los hago y repito una y otra vez, no me queda, les dejo partes del codigo que segun yo, son las mas importantes para ver que estoy haciendo mal.
de antemano muchas gracias.

paginas:
login.php
registro_productos.php ----- pagina del administrador
seleccion.php -----pagina del usuario
error_acceso.php ---pagina a la que sera regresada el usuario en caso de no coincidir sus datos

login.php:

if (isset($_POST['usuario'])) {
$loginUsername=$_POST['usuario'];
$password=$_POST['password'];
$pass=sha1($password); // lo utilizo para cifrar la contraseña
$MM_fldUserAuthorization = "nivel";
$MM_redirectLoginSuccess = "decide.php";
$MM_redirectLoginFailed = "error_acceso.php";
$MM_redirecttoReferrer = false;
mysql_select_db($database_vivero, $vivero);

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

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

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

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



decide.php:

<?php
//iniciar sesion
if (!isset($_SESSION)) {
session_start();
}
//se recoge el nivel
$nivel = $_SESSION['MM_UserGroup'];
//si es usuario
if($nivel == 'u') header('Location: seleccion.php');
//si es administrador
elseif($nivel == 'a') header('Location: registro_productos.php');
//si no se devuelve al formulario
else header('Location: login.php');
?>


registro_productos.php:
<?php
if (!isset($_SESSION)) {
session_start();
}
$MM_authorizedUsers = "a";
$MM_donotCheckaccess = "false";

function isAuthorized($strUsers, $strGroups, $UserName, $UserGroup) {

$isValid = False;

if (!empty($UserName)) {

$arrUsers = Explode(",", $strUsers);
$arrGroups = Explode(",", $strGroups);
if (in_array($UserName, $arrUsers)) {
$isValid = true;
}

if (in_array($UserGroup, $arrGroups)) {
$isValid = true;
}
if (($strUsers == "") && false) {
$isValid = true;
}
}
return $isValid;
}

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


gracias y nuevamente una disculpa por repetir la pregunta
saludos
  #2 (permalink)  
Antiguo 15/08/2010, 07:41
Avatar de juaniquillo
Colaborador
 
Fecha de Ingreso: noviembre-2005
Ubicación: San Juan, Puerto Rico
Mensajes: 5.745
Antigüedad: 18 años, 5 meses
Puntos: 281
Respuesta: validacion de niveles, php y dreamweaver

¿Por qué no te funciona? ¿Te sale algún error?
__________________
Por fin.. tengo algo parecido a un blog
Y por lo visto ya estoy escribiendo...
  #3 (permalink)  
Antiguo 15/08/2010, 15:33
 
Fecha de Ingreso: agosto-2007
Mensajes: 123
Antigüedad: 16 años, 8 meses
Puntos: 0
Respuesta: validacion de niveles, php y dreamweaver

que tal juaniquillo, gracias por responder.
no me sale ningun error, simplemente cualquier usuario y contraseña que le de, usuario normal o admin, siempre me regresa a la pagina de login.
no se porque sea. segui los pasos tal cual los pones pero nada.

gracias por tus respuestas
  #4 (permalink)  
Antiguo 16/08/2010, 06:34
Avatar de juaniquillo
Colaborador
 
Fecha de Ingreso: noviembre-2005
Ubicación: San Juan, Puerto Rico
Mensajes: 5.745
Antigüedad: 18 años, 5 meses
Puntos: 281
Respuesta: validacion de niveles, php y dreamweaver

Por lo que veo no has especificado que vas a usar niveles en la ventana de Log In User, ya que no está escogiendo en usuario en la consulta.:



Uploaded with ImageShack.us
__________________
Por fin.. tengo algo parecido a un blog
Y por lo visto ya estoy escribiendo...
  #5 (permalink)  
Antiguo 16/08/2010, 20:10
 
Fecha de Ingreso: agosto-2007
Mensajes: 123
Antigüedad: 16 años, 8 meses
Puntos: 0
Respuesta: validacion de niveles, php y dreamweaver

que tal juaniquillo, nuevamente, gracias por tomarte la molestia.
si lo especifico, de hecho en esta parte es donde me lo marca:

login.php:

if (isset($_POST['usuario'])) {
$loginUsername=$_POST['usuario'];
$password=$_POST['password'];
$pass=sha1($password); // lo utilizo para cifrar la contraseña
$MM_fldUserAuthorization = "nivel"; <----- aqui
$MM_redirectLoginSuccess = "decide.php";
$MM_redirectLoginFailed = "error_acceso.php";
$MM_redirecttoReferrer = false;
mysql_select_db($database_vivero, $vivero);

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

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

$loginStrGroup = mysql_result($LoginRS,0,'nivel'); <----y aqui

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

y en la tabla de usuarios tambien tengo agregado el campo de nivel y manejo "a" para el admin y "u" para usuarios tal y como lo explicas.

pero te repito, por mas que le hago y le muevo, no me sale
  #6 (permalink)  
Antiguo 17/08/2010, 07:46
Avatar de juaniquillo
Colaborador
 
Fecha de Ingreso: noviembre-2005
Ubicación: San Juan, Puerto Rico
Mensajes: 5.745
Antigüedad: 18 años, 5 meses
Puntos: 281
Respuesta: validacion de niveles, php y dreamweaver

pero el nivel no se escoge en la consulta, osea, aquí:

Código PHP:
Ver original
  1. $LoginRS__query=sprintf("SELECT `usuario`, `password` FROM `usuarios` WHERE `usuario` = ' $loginUsername ' AND `password` = ' $pass ' ",
  2. get_magic_quotes_gpc() ? $loginUsername : addslashes($loginUsername), get_magic_quotes_gpc() ? $pass : addslashes($pass));

como ves, solo se escogen usuario y password. Se supone que DW lo incluya también pero si quieres puedes añadirlo manualmente. Además, he quitado algunos espacios y unas comillas que no necesitas:

Código PHP:
Ver original
  1. $LoginRS__query=sprintf("SELECT usuario, password, nivel FROM usuarios WHERE usuario = '$loginUsername' AND password = '$pass' ",
  2. get_magic_quotes_gpc() ? $loginUsername : addslashes($loginUsername), get_magic_quotes_gpc() ? $pass : addslashes($pass));
__________________
Por fin.. tengo algo parecido a un blog
Y por lo visto ya estoy escribiendo...
  #7 (permalink)  
Antiguo 17/08/2010, 19:58
 
Fecha de Ingreso: agosto-2007
Mensajes: 123
Antigüedad: 16 años, 8 meses
Puntos: 0
Respuesta: validacion de niveles, php y dreamweaver

juaniquillo, te voy a poner un monumento, jejejeje
como siempre, me has sacado de un apuro grande que no podia resolver.
te lo agradezco mucho.
saludos.
DTB!!!

Etiquetas: dreamweaver, editores-web, php
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 01:39.