Ver Mensaje Individual
  #8 (permalink)  
Antiguo 16/06/2008, 05:58
Northware
 
Fecha de Ingreso: mayo-2008
Mensajes: 26
Antigüedad: 16 años
Puntos: 0
Respuesta: Ayuda con Login en PHP

Buenas quisera que me colaboraran con eso por favor, he creado un archivo de Login pero la verdad he tenido bastante problemas no me almacena las variables de session o no se que es lo que pasa o si es algo en el script....

La cuestion es esta hay un archivo de conexión que estoy pasando como cabecera a todos los otros archivos...haber si me hago entender....

ESTE ES EL ARCHIVO CONEXION.PHP

Código PHP:
<?php
//SE INCLUYEN LOS ARCHIVOS DE LA CLASE DE CONEXION
include('adodb/adodb.inc.php');

//SE GENERAN LOS REPORTES PARA DE SER NECESARIO VERLOS
error_reporting(E_ALL);

//SE VERIFICA QUE VENGA DEL REGISTRO
if(isset($_POST['username'])&& isset($_POST['password']))
{
//SI VIENE DEL REGISTRO
    
    
if (empty($_POST['username']) || empty($_POST['password']))
    {
//VERIFICA QUE NO ESTEN VACIAS
        
        
$_SESSION["mensaje"] ='Error: Nombre de Usuario / Contrase&ntilde;a no pueden ser Vacios"';
    }
    else
    {
//VIENE DEL LOGIN PERO VIENEN VACIAS
        
        //CONVERTIMOS LOS VALORES PARA VERIFICARLOS EN LA BASE DE DATOS
        
$user addslashes($_POST['username']);
        
$pass md5($_POST['password']);
        
/*//DEBUG
        echo '<br>ESTO ES EL USUARIO<br>';
        echo $user.'<br>';
        echo '<br>ESTO ES EL PASSWORD<br>';
        echo $pass.'<br>';
        //*/
        
        //SE DEFINEN LAS VARIABLES DE CONEXION A LA BASE DE DATOS
        
$dbHost ='localhost';
        
$dbUser 'admin';
        
$dbPass '12345';
        
$dbDatabase 'CENCON';
        
        
//SE HACE LA CONEXION        
        
$db AdoNewConnection("oci8"); # ej. 'mysql' o 'oci8'
        
        //SE VALIDA LA CONEXION
        
if($db->Connect($dbHost$dbUser$dbPass$dbDatabase))
        {
            
$sql="SELECT * FROM USUARIOS WHERE USUARIO='".$user."' AND CLAVE='".$pass."' AND ACTIVO = 'S'";
            
            
$rs=$db->Execute($sql);
            
            if (!
$rs)
            {
                print 
$db->errorMsg(); // Muestra el error
            
}
            else
            {
                while (!
$rs->EOF)
                {
                    
//INICIA LA SESION DE PHP
                    
session_start(); 
                    
$_SESSION["NOMBRE"]=     $rs->fields['NOMBRE'];
                    
$_SESSION["APELLIDO"]=    $rs->fields['APELLIDO'];
                    
$_SESSION["ROL"]=        $rs->fields['ROL'];
                    
$_SESSION["USUARIO"]=     $rs->fields['USUARIO'];
                      
$rs->moveNext();
                }
            }
            
            
print_r($_SESSION);
        
        }
        else 
        {
//SINO RETORNA NADA QUIERE DECIR QUE SE CONECTO PERO NO EXISTE EL USUARIO
            
$_SESSION["mensaje"] ='Error: Nombre de Usuario / Contrase&ntilde;a Incorrectos"';
            
print_r($_SESSION);
            
        
        }
    }
}
elseif(isset(
$_SESSION["USUARIO"]))
{
//REVISAR SI ESTA SETEADA
    
print_r($_SESSION);
    if (!
$_SESSION["USUARIO"])
    {
//SI NO HAY SESION DE USUARIO
        
header("Location index.php");        
    }else {
        
//SE DEFINEN LAS VARIABLES DE CONEXION A LA BASE DE DATOS
        
$dbHost ='localhost';
        
$dbUser 'admin';
        
$dbPass '12345';
        
$dbDatabase 'CENCON';
        
        
//SE HACE LA CONEXION        
        
$db AdoNewConnection("oci8"); # ej. 'mysql' o 'oci8'
        
        //SE VALIDA LA CONEXION
        
$db->Connect($dbHost$dbUser$dbPass$dbDatabase);
    }
    
}
?>

CADA UNO DE LOS ARCHIVOS DE LA APLICACION TIENE ESTAS LINEAS EN LA PARTE DEL <HEAD>

Código PHP:
<?php 
    
include ('conexion.php');
?>
y finalmente un ARCHIVO LOGOUT.PHP

Código PHP:
<?php
$_SESSION 
= array();
session_destroy(); 
header("Location: index.php");
?>

POR FAVOR ALGUEIN PUEDE DECIRME QUE HAY MAL Y PORQUE ME SACA CADA RATO???