Foros del Web » Programando para Internet » PHP »

dudilla con logueo

Estas en el tema de dudilla con logueo en el foro de PHP en Foros del Web. hola amigos tengo este codigo: Código PHP: <?php  session_start ();      include( "../reg/config.php" );      $login  =  $_POST [ 'login' ];      $pass  =  $_POST [ 'pass' ];      ...
  #1 (permalink)  
Antiguo 04/12/2009, 05:24
Avatar de rompeguesos  
Fecha de Ingreso: marzo-2009
Mensajes: 690
Antigüedad: 10 años, 8 meses
Puntos: 8
Pregunta dudilla con logueo

hola amigos tengo este codigo:

Código PHP:
<?php 
session_start
();     
include(
"../reg/config.php");     
$login $_POST['login'];     
$pass $_POST['pass'];     
$qry="SELECT id, password, userlevel, estado, usuariobaneado FROM usu WHERE email='".mysql_real_escape_string($login)."'";   

$estado"0";  /*creo la variable $estado=0 para compararla despues con el campo de la BD estado y si son cero le dejara pasar */ 
$baneado"0"/*Creo la variable $baneado=0 para luego comprararla y si es 0 le dejara pasar*/ 
  
//echo $qry."<br>";    
$result=mysql_query($qry) or die(mysql_error());    
//echo "Las filas encontradas son ".mysql_num_rows($result);    
if(mysql_num_rows($result)==0
{     
    
header("location: login.php?error=3");     
    exit();     
}  
else  
{     
    
$array=mysql_fetch_array($result);     
    if(
$array["password"]!=md5($pass)) 
    {     
        
header("Location: login.php?error=2"); 
        exit();     
    } 
    else 
    { 
        if(!
$estado == $array['estado']){ 
        
header("Location: login.php?error=9"); 
        }else{ 
            if(!
$baneado== $array['usuariobaneado']){ 
                
header("Location: login.php?error=10"); 
            }else{ 
         
        
$_SESSION["login"]=$login;     
        
$_SESSION["id"] = $array['id']; 
        
$_SESSION["userlevel"] = $array["userlevel"];   
        
header("Location: index.php");     
        exit(); 
            } 
        }   
    }     
}     
?>
y voy a implementarlo tambien en otra web que voy a montar pero utilizando la misma base de datos de los usuarios, lo que ahora le e añadido un campo nuevo llamado "WEB" para distinguir en que web se registro, en fin lo que no me aclaro es necesito hacer una comprobacion al campo "WEB" y si tiene en el campo "WEB1" inhabilite los niveles de usuarios y los deje en el de por defecto que es 0, si viene de "WEB0" quiero que la comprobacion siga siendo tal cues a sido hasta ahora, ¿Alguna ayuda? espero entiendan todo ese lio :D
  #2 (permalink)  
Antiguo 04/12/2009, 05:34
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 10 años, 4 meses
Puntos: 150
Respuesta: dudilla con logueo

Pues son solo un par de lineas bien puestas, debajo de:

Código PHP:
$_SESSION["userlevel"] = $array["userlevel"]; 
Añades

Código PHP:
// Bajamos nivel a usuarios con WEB1
if ($array["WEB"]=="WEB1") {
     
$_SESSION["userlevel"]=0;

Claro que tambien habra que modificar tu SELECT por este:

Código PHP:
$qry="SELECT id, password, userlevel, estado, usuariobaneado , WEB FROM usu WHERE email='".mysql_real_escape_string($login)."'"
Por cierto, yo te aconsejo por comodidad preguntar tambien en el mismo SELECT por la password, en vez de hacerlo luego mas tarde con IFs, ya me diras si te sirvio, saludos
  #3 (permalink)  
Antiguo 04/12/2009, 05:56
Avatar de rompeguesos  
Fecha de Ingreso: marzo-2009
Mensajes: 690
Antigüedad: 10 años, 8 meses
Puntos: 8
Respuesta: dudilla con logueo

creo que funciona a la perfeccion jejej muchas gracias hombre :D
  #4 (permalink)  
Antiguo 04/12/2009, 07:09
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 10 años, 4 meses
Puntos: 150
Respuesta: dudilla con logueo

de nada hombre, cualquier otra cosilla relacionado con lo mismo postealo aqui, me suscribi a este tema

talue!
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 23:46.