Location: PHPKode > projects > PHD Help Desk > user_login.php
<?PHP
/*
    Nombre: user_login.php
    Autor: Julio Tuozzo
    Función: Validación de usuario y contraseña.
    Function: user and password validation.
    Ver: 2.00
    
*/
session_start();
## Blanqueo variables globales.
// Unset global variables.

foreach($_SESSION as $clave => $valor)
     { $hay_phd=strpos("AUX".$clave,"PHD_");
       if($hay_phd)
            {unset($_SESSION[$clave]);
            }
     }

require('lang.inc');
require('./securimage/securimage.php');

include('phd.inc');
$Conect=mysql_connect($Host,$Usuario,$Contrasena) or die (mysql_error());
$Uso=mysql_select_db($Base) or die (mysql_error());

## Busco los parámetros de la aplicación e inicializo las variables globales.
// Search the software parameters and initialize the global variables.

$query="SELECT * FROM {$MyPHD}parametros";
$result=mysql_query($query) or die(mysql_error());
$q_filas=mysql_num_rows($result);

if($q_filas!=1)
	{$mensaje=str_replace("%1%", $q_filas,$Err_parameters_file);
	 include('user_login.inc');
	 exit();
    }

$row=mysql_fetch_array($result);

$_SESSION['PHD_MAX_ATTACH']=$row['max_attach'];
$_SESSION['PHD_FROM_USER_PSW']=$row['from_user_psw'];
$_SESSION['PHD_FROM_USER_REQUEST']=$row['from_user_request'];
$_SESSION['PHD_MAX_LINES_SCREEN']=$row['max_lines_screen'];
$_SESSION['PHD_PEN']=$row['PEN'];
$_SESSION['PHD_PAS']=$row['PAS'];
$_SESSION['PHD_CAN']=$row['CAN'];
$_SESSION['PHD_DATE_FORMAT']=$row['date_format'];

## Pregunto si pidió generar la contraseña
// Ask about the password generation

if(isset($_POST['genera']))
    {require('usr_self_clave.inc');
    }


## Verfico que se haya ingresado por "submit", si no es así
## pido usuario y contraseña
// Check that has been entered by “submit”, if it is not thus
// request user and password

if(!isSet($_POST['submit']))
	  {include('user_login.inc');
	   exit();
      }
    
if (strlen($_POST['usuario'])==0)        ## Verifico que haya ingresado el usuario.
	   {$mensaje=$No_user;                   // Verify that the user has entered.
    	 include('user_login.inc');
    	 exit();
    	}

$usuario=trim(strip_tags($_POST['usuario']));
if (strlen($_POST[contrasenia])==0) ## Verifico que haya ingresado al contraseña.
	{$mensaje=$Err_input_passwd;        // Verify that the password has entered.
	 include('user_login.inc');
	 exit();
	}


## Busco el usuario en la tabla correspondiente
// Search the user in the table

$query="SELECT * FROM {$MyPHD}usuario WHERE usuario_id='$usuario'";
$result=mysql_query($query) or die(mysql_error());
$q_filas=mysql_num_rows($result);

if($q_filas!=1)
	   {$mensaje=$User_not_exists;
	    include('user_login.inc');
	    exit();
	   }

### Ahora verifico la contraseña
$md5_contrasenia=md5($_POST['contrasenia']);


$query="SELECT us.*, ar.nombre
        FROM {$MyPHD}usuario us
        JOIN {$MyPHD}area ar ON ar.area_id=us.area_id
        WHERE usuario_id='$usuario' AND contrasenia='$md5_contrasenia'";
        
$result=mysql_query($query) or die (mysql_error());;
$q_filas=mysql_num_rows($result);
if ($q_filas!=1)
   	    {$mensaje=$Invalid_passwd;
	    include('user_login.inc');
	    exit();
	    }

$row=mysql_fetch_array($result);
if ($row['activo']!="S")
		{$mensaje=$Inactive_user;
         include('user_login.inc');
		 exit();
		}


## usuario y contraseña válidos, asigno nivel de acceso 4
// User and password valid, assign access level 4

$_SESSION['PHD_OPERADOR']=$row['usuario_id'];
$_SESSION['PHD_APE_Y_NOM']=$row['ape_y_nom'];
$_SESSION['PHD_AREA_ID']=$row['area_id'];
$_SESSION['PHD_AREA_NOMBRE']=$row['nombre'];
$_SESSION['PHD_PISO']=$row['piso'];
$_SESSION['PHD_TELEFONO']=$row['telefono'];
$_SESSION['PHD_E_MAIL']=$row['e_mail'];


## Verifico si hay que obligar el cambio de contraseña.
// Check the change password.

if($row['cambia_clave']=="S")
        {$_SESSION['PHD_NIVEL']=3;
         header("Location: user_clave_chg.php"); // Voy al cambio de contrseña.
        }
else
        {$_SESSION['PHD_NIVEL']=4;
         header("Location: user_request.php"); // Todo OK, voy a la solicitud de usuario
        }

	
?>
Return current item: PHD Help Desk