Untitled Document //Implementare un codigo ya hecho por mi para el manejo de sesiones pero pueden usar el que le placas
//el codigo importande estara marcado entre [inicio] y [fin]

if(isset($data[user]) || isset($data[pass]))
{
    if(empty($data[user]) || empty($data[pass]))
    {
        $smarty->assign("ERROR", $lang['login'][5]);
    }
    else
    {
        $query_ = sql('select * from user where user="'.$data[user].'" and password="'.$data[pass].'"');
    
        if(isset($query_[0][user]) && isset($query_[0][password]))
        {
            $result_user = $query_[0][user];
            $result_password = $query_[0][password];
        }
    
        if(($result_password === $data[pass]) && (strtoupper($result_user) === strtoupper($data[user])))
        {
            $_SESSION['session_id'] = $query_[0][id];
            $_SESSION['session_type'] = $query_[0][type];
            $_SESSION['session_user_name'] = $query_[0][user];
            $_SESSION['session_empre'] = $query_[0][idempre];
            $fecha = date("Y-m-d H:i:s");
            $query_1 = sql('update user set date1 = date2 where id='.$query_[0][id].'');
            $query_2 = sql('update user set date2 = "'.$fecha.'" where id='.$query_[0][id].'');
            if($query_[0][type] == 2)
            {
            //[inicio]
            
                //aqui haremos una seleccion a la base de datos, yo uso mysql la cual me proporciona una funcion
                //esta funcion es la que uso para saber que diferencia de dias hay
                //me explico mejor, tengo un sistema que a los usuarios se le asigna acceso al sistema por dias
                //estos dias estaran almacenados en la base de datos
                //usaremos la funcion DATE_ADD que es de mysql, esta funciona de la siguiente manera
                //primero se le indica la fecha o el campo que tenga la fecha
                //luego se le indica la cantidad de dias que quieren que haiga de intervalo
                //ejemplo: SELECT DATE_ADD('2007-01-03', INTERVAL 1 DAY)
                //ahora bien esto me va a imprimir la fecha actual mas 1 dia, se le puede indicar cualquier cantidad de dias
                //hasta meses o años, y tambien incluye el tiempo
                //esto para que?, bueno cuando se registra el usuario se almacena la fecha de registro y los dias que se le asignan
                //asi uno ya con esta funcion sabe a que fecha vence el acceso del usuario


                $query_3 = sql('SELECT DATE_ADD(`date_start`, INTERVAL `days` DAY) as "time", days, date_start from time where iduser='.$query_[0][id].'');

                //ya sabemos como conseguir la fecha de caducacion del acceso
                //ahora veamos cuanto dias le quedan de acceso
                //usaremos la funcion DATEDIFF de mysql
                //es algo simple igual que DATE_ADD
                //esta funcion es para saber que diferencia de dias hay entre dos fechas
                //osea que me dira cuantos dias hay entre una fecha y otra, algo simple y claro
                //ahora como funciona?, primero indicamos la fecha mas vieja o se dira la mas alta
                //por que la mas vieja o la mas alta, esto se debe a que si se indica la menor primero el valor sera negativo
                //ejemplo: DATEDIFF('2007-01-05', '2007-01-03');
                //el resultado de esta sera 2, por que hay una diferencia de 2 dias entre las fechas
                //ejemplo: DATEDIFF('2007-01-03', '2007-01-05');
                //bueno el resultado sera el mismo pero negativo osea -2
                //debido a que la primera fecha es mas antigua que la segunda
                //por esto recomiendo que usen la mas antigua en la segunda opcion
                
                //aqui ya habiamos sacado la fecha de vencimiento, esta hira en la primera parte de la funcion
                //por que es la mas alta y asi el resultado no sera negativo
                //en la segunda parte la fecha actual
                //asi sabremos los dias que le quedan al usuario


                $query_4 = sql("SELECT DATEDIFF('".$query_3[0][time]."', '".date('Y-m-d')."') as 'days'");
        
                //ahora vamos a ver si los dias son mayor que 0
                //llegara un momemento en que la fecha actual sobre pasara la fecha actual
                //no habra problema con eso ya que el numero que devolvera la funcion sera negativo
                //y cualquier numero que sea negativo es menor que 0


                if($query_4[0][days] > 0)
                { $_SESSION['session_time'] = $query_4[0][days]; }
                else
                { $_SESSION['session_time'] = 'FULL'; }
                
                //ya despudes de comprobar sera de tu antojo el manejo del usuario
                //hasta aqui xirtam
                //se despide..
                
            //[fin]

            }
            header('Location: index.php');
        }
        else
        {
            $smarty->assign("ERROR", $lang['login'][6]);
        }
    }
}
PHP-Hispano.net - Porque al final, todos acabamos aprendiendo.