Foros del Web » Programando para Internet » PHP »

[Ayuda] Script de inactividad

Estas en el tema de [Ayuda] Script de inactividad en el foro de PHP en Foros del Web. functions.php Código PHP: function  actividad_usuario ( $date_time ,  $date_day ,  $user ,  $conexion ) {      // Buscamos el valor registrado y verificamos que no sea el mismo al pasado $query  =  "SELECT * FROM `usuarios` WHERE nickname = '$user'" ; $resultado  =  mysql_query  ( $query ...
  #1 (permalink)  
Antiguo 07/09/2010, 18:21
 
Fecha de Ingreso: septiembre-2009
Mensajes: 230
Antigüedad: 14 años, 7 meses
Puntos: 2
[Ayuda] Script de inactividad

functions.php
Código PHP:
function actividad_usuario($date_time$date_day$user$conexion) {
    
// Buscamos el valor registrado y verificamos que no sea el mismo al pasado
$query "SELECT * FROM `usuarios` WHERE nickname = '$user'";
$resultado mysql_query ($query$conexion);
$row mysql_fetch_array ($resultado);
$date_t $row['act_time'];
$date_d $row['act_day'];
$status_f $row['status'];

// Verificamos que la actividad final sea del mismo dia
if($date_day == $date_d) {
// Calculamos el tiempo de inactividad
$date_final $date_time $date_t;
// Verificamos que no haya transcurrido más de una hora
if ($date_final '1') {
$query  "UPDATE `usuarios` set status = 'Conectado', act_day = '$date_day', act_time = '$date_time' WHERE nickname = '".$user."'";
$result mysql_query($query$conexion);
}
//if dateb
else {
$query  "UPDATE `usuarios` set status = 'Desconectado' WHERE nickname = '".$user."'";
$result mysql_query($query$conexion);
session_unset();
session_destroy();
}
//else
}/*$dateday == dated */ else {
$query  "UPDATE `usuarios` set status = 'Desconectado' WHERE nickname = '".$user."'";
$result mysql_query($query$conexion);
session_unset();
session_destroy();
}




index.php
Código PHP:
if ( !empty($_SESSION['nickname']) ) {
require_once 
'functions.php';
actividad_usuario(date('His'), date('jnY'), $arrUsuario['nickname'], $dbConn);


Bien, el probelam es que ni bein logeo, me destruye la sesion, eso significa que me toma como que estuve inactivo mas de 1h... No sé si los valores están bien.. O qué, lo único que quiero decirle es que si no es le mismo día, y que estuvo más de una hora sin moverse en la página, que le destruya las sesiones! Ah, la hora fecha y todo lo que está ne la DB se procesan ni bien se logea!

Gracias de ante mano.
  #2 (permalink)  
Antiguo 26/09/2010, 11:12
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 13 años, 7 meses
Puntos: 331
Respuesta: [Ayuda] Script de inactividad

Hola kirst, si se destruye la session ni bien loguearse, sólo tienes que comprobar 2 puntos en tu código:

1. El valor de estas dos variables (tipo, valor, resultado, etc), si esto no se cumple, entra en el else y destruye la session.
Código PHP:
// Verificamos que la actividad final sea del mismo dia
    
if ($date_day == $date_d) {
        
// Calculamos el tiempo de inactividad 
2. El otro punto es

Código PHP:
// Verificamos que no haya transcurrido más de una hora
        
if ($date_final '1') { 
si $date_final es mayor O IGUAL que uno, entrará el en else y destruye la session.
Cuando manejas fecha/hora a este nivel tienes que asegurarte que en la DB estás guardando los valores correctos y que luego operas correctamente. En el caso de

Código PHP:
if ($date_day == $date_d
una variable viene de DB, la otra de una llamada al sistema, comprueba que los formatos sean idénticos y que el formato se pueda restar como una resta normal.
Estaría bien ver la estructura de la DB, seguro que lo arreglas enseguida, salu2

Etiquetas: Ninguno
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 01:00.