Foros del Web » Programando para Internet » PHP »

tiempo en descargas

Estas en el tema de tiempo en descargas en el foro de PHP en Foros del Web. quiero realizar un modulo de descargas donde el usuario ingrese y descarge un archivo y despues si quiere descargar de nuevo no pueda, tenga que ...
  #1 (permalink)  
Antiguo 25/07/2011, 16:50
 
Fecha de Ingreso: mayo-2008
Mensajes: 287
Antigüedad: 16 años, 6 meses
Puntos: 2
tiempo en descargas

quiero realizar un modulo de descargas donde el usuario ingrese y descarge un archivo y despues si quiere descargar de nuevo no pueda, tenga que esperar 10 minutos.
teno pensado realizarlo de la sig forma: al ingresar a modulo.php
verifica su ip y la hora del servidor, comparar si la ip existe en la base de datos, si no existe le permitimos descargar y almaceno su ip mas un tiempo limite "hora actual + 10 min",
de lo contrario si existe la ip comparo el tiempo limite con la hora actual si aun no cumple los 10 min no descarga de lo contrario descarga y elimino su ip y de nuevo almaceno su ip y un tiempo limite.

esta seria un forma correcta de hacerlo?
  #2 (permalink)  
Antiguo 25/07/2011, 17:24
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Respuesta: tiempo en descargas

Usa timestamp y solo agrega en la base de datos la hora más 10 minutos. Es decir algo como strtotime('+10 minutes'); Luego compara usando time() para ver si es mayor a la hora que indica en al base de datos.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 25/07/2011, 19:01
Avatar de solhdeck  
Fecha de Ingreso: junio-2011
Mensajes: 87
Antigüedad: 13 años, 5 meses
Puntos: 32
Respuesta: tiempo en descargas

Yo a la tabla de la base de datos le metería un indicador de archivo, para que si quiere descargar otro archivo pueda.

ID | ID_DESCARGA | IP | HORA

Y luego lo que dijiste tú, siguiendo las instrucciones de abimaelrc: compruebas si con esa ip y esa id_descarga hay algún registro, si es así comparas la hora actual con la hora del registro, y si han pasado más de 10min actualizas el registro con la hora actual y le dejas descargar. Si no han pasado, le dices "tienes que esperar 10 min si quieres volver a descargar el archivo".
  #4 (permalink)  
Antiguo 26/07/2011, 14:07
 
Fecha de Ingreso: mayo-2008
Mensajes: 287
Antigüedad: 16 años, 6 meses
Puntos: 2
Respuesta: tiempo en descargas

bueno ya tengo el code es el sig
Código:
<?php 
require 'config.php' ;// llamamos al config 
//vemos la ip del cliente 
$ip = $_SERVER['REMOTE_ADDR'] ;
// revisamos la hora actual 
$hora = date ( "g:i:s A"); 

$query = "SELECT * FROM tiempo WHERE ip='" . $ip . "'";
$result = mysql_db_query("$db", $query);
if($r=mysql_fetch_array($result)) 
{
echo " los datos que estan en la base de datos es " ; 
echo "ip: ".$r['ip']."<br>"; 
echo "limite: ".$r['limite']."<br>"; 
echo "hora: ".$r['hora']."<br>"; 
if($r[limite] <  $hora) 
{

     echo " ya paso el tiempo enconteses eliminamos  " ; 
                 mysql_query(" delete from tiempo where ip='$ip'") ;  

}
}
else
{
echo " no existe la ip  ";
 $servidor = date ( "g:i:s A");
$servidor = strtotime('+10 minutes');
$limite = date('g:i:s A', $servidor); 
mysql_query("INSERT INTO tiempo (ip,hora,limite) VALUES ('{$ip}','{$hora}','{$limite}')");
}
?>
ya casi lo tengo solo tengo un error cuando pasan los 10 minutos se elimina la ip, pero se tiene que actualizar la pag para que me diga que la ip no existe es decir que pueda descargar, como le hago para que al momento de que pasen los 10 minutos elimine la ip pueda mostrar el contenido y posteriormente de nuevo ingrese la ip y todos los datos sin necesidad de actualizar ?
creo que hay un problema con los if
  #5 (permalink)  
Antiguo 26/07/2011, 20:09
 
Fecha de Ingreso: mayo-2008
Mensajes: 287
Antigüedad: 16 años, 6 meses
Puntos: 2
Respuesta: tiempo en descargas

sigo sin poder solucionar este problema de echo lo meti tambien en un whilep ero aun me pasa lo mismo

Etiquetas: descargas, usuarios
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 20:39.