Foros del Web » Programando para Internet » PHP »

Como borrar tablas de mysql en un tiempo

Estas en el tema de Como borrar tablas de mysql en un tiempo en el foro de PHP en Foros del Web. Holassssss!! Bueno hoy si les puedo decir que quede en la mente en blanco ya que tengo un buen tiempo trabajando con mi web y ...
  #1 (permalink)  
Antiguo 09/08/2011, 11:14
Avatar de ArmasXxX  
Fecha de Ingreso: marzo-2011
Ubicación: San Pedro Sula
Mensajes: 27
Antigüedad: 13 años
Puntos: 2
Como borrar tablas de mysql en un tiempo

Holassssss!!

Bueno hoy si les puedo decir que quede en la mente en blanco ya que tengo un buen tiempo trabajando con mi web y ahora si me quede estancado.

hoy les pido ayuda en:

estoy creando un identificador de quienes están logeados en mi sitio subiendo datos como: IP - Usuarios - fecha me e rajado la cabeza pensando como borrarlos si el usuario no termina sesión y elije solo cerrar el navegador.

yo uso $_SESSION["id"] y para subir los datos cree unas sentencias para subir los datos cuando el usuarios inicia sesion.

Login.php:
Código PHP:

<?php
session_start
();
?>
<?php
echo $_GET['var'];
?><img src="images/publicidad/cargando.gif">
<?php
echo '<title>Cargando..!</title>';
mysql_connect('localhost','user','password');
mysql_select_db('armas');
$usuario strtolower($_POST["user"]);
    
$password $_POST["password"];



    if(
$usuario==NULL && $password==NULL){
    echo 
'<script>alert("Por favor ingrese su nombre de usuarios y su contraseña.\n Si no esta registrado ingresea REGISTRAR");history.back();</script>';
    }
    
if(
$usuario!= "" && $password!= "")
{



    
$sql mysql_query('SELECT id, user, avatar, email, password, pais, web, identificador FROM mb WHERE user="'.$usuario.'"');
    if(
$fmysql_fetch_array($sql)){
        if(
$f["password"] == $password){ 
        
        
$xrd mysql_query("SELECT * FROM enlinea WHERE usuario='$usuario' ORDER BY fecha");
        if(
mysql_num_rows($xrd)>0)
        {
        While(
$user mysql_fetch_assoc($xrd))
        {
                
            
$_SESSION["user"] = $f['user'];
            
$_SESSION["avatar"]= $f['avatar'];
            
$_SESSION["msp"] = $f['msp'];
            
$_SESSION["avatar"] = $f['avatar'];
            
$_SESSION["email"] = $f['email'];
            
$_SESSION["pais"] = $f['pais'];
            
$_SESSION["web"] = $f['web'];
            
$_SESSION["id"] = $f['id'];
            
$_SESSION["identificador"] = $f['identificador'];
            
$ip $_SERVER['REMOTE_ADDR'];
$fecha date("g:i:a");
$user $_SESSION["user"];


        
mysql_query('INSERT INTO enlinea (usuario, ip, fecha) VALUE (\''.$user.'\',\''.$ip.'\',\''.$fecha.'\')') or die ("No se subio");
        
        
            echo 
'<img src="images/publicidad/cargando.gif">
            <SCRIPT LANGUAGE="javascript">
            history.back();
            </SCRIPT>
            '
;
        
        
        }
        }else{
        
            
$_SESSION["user"] = $f['user'];
            
$_SESSION["avatar"]= $f['avatar'];
            
$_SESSION["msp"] = $f['msp'];
            
$_SESSION["avatar"] = $f['avatar'];
            
$_SESSION["email"] = $f['email'];
            
$_SESSION["pais"] = $f['pais'];
            
$_SESSION["web"] = $f['web'];
            
$_SESSION["id"] = $f['id'];
            
$_SESSION["identificador"] = $f['identificador'];
            
$ip $_SERVER['REMOTE_ADDR'];
$fecha date("g:i:a");
$user $_SESSION["user"];


        
mysql_query('INSERT INTO enlinea (usuario, ip, fecha) VALUE (\''.$user.'\',\''.$ip.'\',\''.$fecha.'\')') or die ("No se subio");
        
        
            echo 
'<img src="images/publicidad/cargando.gif">
            <SCRIPT LANGUAGE="javascript">
            history.back();
            </SCRIPT>
            '
;
        }
        }else{
            echo 
'Password incorrecto';
            echo 
'<script>alert("Contraseña Erronea");history.back();</script>';
        }
        
    }else{
        echo 
'<script>alert("Usuarios No existe. Por favor intente de nuevo");history.back();</script>';
    }
    
}
?>
y para borrar esos datos uso esto:

logout.php:

Código PHP:
<?php
session_start
();

mysql_connect("localhost","user","password") or die ("Error conect");
mysql_select_db("armas") or die ("Error DB");

$user $_SESSION["user"];

mysql_query("DELETE FROM enlinea WHERE usuario='$user'") or die ("Error al borrar la sesión");

session_destroy();



?>
<script language="javascript">
history.back();
</script>
Yo ocupo Borrar esos mismos datos pero no se como hacerlo por tiempo.

oxea que se borren si el usuario no navega por 10 min como minimo.

Me dicen si no me supe explicar :D (haci mero estoy confundido no se que hacer)
  #2 (permalink)  
Antiguo 09/08/2011, 22:40
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 7 meses
Puntos: 2237
Respuesta: Como borrar tablas de mysql en un tiempo

Facil, agrega una columna en la tabla enlinea donde guardes la fecha y hora de ultima accion, depues, tu consulta sera para borrar todos los usuarios que tengan mas de 10 minutos de inactividad.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 23/08/2011, 03:22
Avatar de ArmasXxX  
Fecha de Ingreso: marzo-2011
Ubicación: San Pedro Sula
Mensajes: 27
Antigüedad: 13 años
Puntos: 2
Respuesta: Como borrar tablas de mysql en un tiempo

Cita:
Iniciado por Triby Ver Mensaje
Facil, agrega una columna en la tabla enlinea donde guardes la fecha y hora de ultima accion, depues, tu consulta sera para borrar todos los usuarios que tengan mas de 10 minutos de inactividad.
Hola we e tratado de hacer esos pasos pero igual no se como identificarlo.

Algun ejemplo?

Etiquetas: hugoarmas.com
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:10.