Foros del Web » Programando para Internet » PHP »

Controles de Acceso!!

Estas en el tema de Controles de Acceso!! en el foro de PHP en Foros del Web. Alguien me podria decir porque me falla este codigo.Esque por mas que lo pruebo me salta siempre al else y no encuentro la solucion. Gracias. ...
  #1 (permalink)  
Antiguo 21/04/2009, 03:18
Usuario no validado
 
Fecha de Ingreso: abril-2009
Ubicación: España
Mensajes: 96
Antigüedad: 15 años
Puntos: 0
Exclamación Controles de Acceso!!

Alguien me podria decir porque me falla este codigo.Esque por mas que lo pruebo me salta siempre al else y no encuentro la solucion.

Gracias.

Código PHP:
<?php
session_start
();
// Para que no se de un ERROR (al coexistir un include / require /require_once con un header location
// es necesario que en el fichero con1.php no exista espacios en blanco.
require_once('LdR.php');
$denominacion=$_POST["denominacion"];
$login=$_POST["login"];
$password=$_POST["password"];


//Ejecutamos la select de las tres tablas para ver si el usuario y clave son correctos.
$dblink mysql_connect($hostDB$usuDB$pwdDB);
mysql_select_db($nameDB$dblink);

$consulta="SELECT *
    FROM usuarios
    LEFT JOIN grupos ON
          grupos.idGrupo=usuarios.idGrupo AND
          grupos.denominacion='$denominacion'
    LEFT JOIN restaurantes ON
          restaurantes.idRestaurante=usuarios.idRestaurante
    WHERE usuarios.login='$login' AND
          usuarios.password='$password'
"
;
$resultado=mysql_query($consulta) or die (mysql_error());
while(
$registro=mysql_fetch_array($resultado))
{
    
$denominacion=$registro ['denominacion'];
    
$idGrupo=$registro ['idGrupo'];


}
$registrosDevueltos=mysql_num_rows($resultado);
if (
$registrosDevueltos) {
    
session_start();
    
#Se carga la variable de sesion
    #fichero seguridadGlobal.php
    
$_SESSION["logged_in"]=TRUE;
    
$_SESSION['idGrupo']=$idGrupo;

    
// Se carga el nivel en una variable de sesion
    // para poder comprobarlo en accesoAceptado.php y
    // accesoAceptado2.php. Asi se evita  que un usuario
    // pueda pasar de un nivel a otro despues de autentificarse:

    
$_SESSION["denominacion"]=$denominacion;

    if (
$denominacion==nostro) {
        
// Se carga la pagina accesoAceptado.php
        
header ("Location:Index1.php");
    }
    else if (
$denominacion==VIANA) {
        
// Se carga la pagina accesoAceptado.php
        
header ("Location:Index2.php");
    }
    else if (
$denominacion==Mixx) {
        
// Se carga la pagina accesoAceptado.php
        
header ("Location:Index3.php");
    }
    else if (
$denominacion==MdF) {
            
// Se carga la pagina accesoAceptado.php
            
header ("Location:Index3.php");
    }
    else if (
$denominacion==ramses) {
            
// Se carga la pagina accesoAceptado.php
            
header ("Location:Index3.php");
    }





}







else {
    
// Si el usuario y contraseña no existen
    // remitimos a inicio.php con un error
    // para que muestre el mensaje de error
    
header("Location:login.php?errorespera==si");
}
?>
  #2 (permalink)  
Antiguo 21/04/2009, 04:55
 
Fecha de Ingreso: septiembre-2007
Mensajes: 29
Antigüedad: 16 años, 7 meses
Puntos: 3
Respuesta: Controles de Acceso!!

Para no usar tantos else if consecutivos, yo utilizaría switch case, que te funcionará de maravilla con el código que tienes y encontrarás más rápido los errores.

Código switch case:
Ver original
  1. switch ($denominacion) {
  2.     case "Viana":
  3.         header ("Location:Index2.php");
  4.         break;
  5.     case "nostro":
  6.         header ("Location:Index1.php");
  7.         break;
  8.     default:
  9.         echo "no soy ninguno de los otros";
  10.  
  11. }

De todas formas el error creo que lo tienes en que te faltan las comillas al comparar la variable con texto.

Espero que te sirva
  #3 (permalink)  
Antiguo 21/04/2009, 08:31
Usuario no validado
 
Fecha de Ingreso: abril-2009
Ubicación: España
Mensajes: 96
Antigüedad: 15 años
Puntos: 0
Respuesta: Controles de Acceso!!

Ya encontre el error era eso y otra cosilla de contraseña pero muchas gracias me sirvio de mucha ayuda lo tuyo.
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 04:13.