
06-Mar-2008, 12:59
|
 |
Webmaster
|
|
Fecha de Ingreso: 14-January-2007
Ubicación: España
Mensajes: 230
Posts agradecidos: 20
Agradecido 363 veces en 61 posts
|
|
Re: [Ayuda]Limitar acciones en PHP
Eso normalmente se hace mediante una cookie que tenga por duración 12h. Pero al estar guardadas éstas en el ordenador del usuario, simplemente con borrarlas podría descargar de nuevo. Así que puedes limitarlo por usuario mediante un nuevo campo en la base de datos que se actualice con un valor booleano (1 ó 0) pasadas 12h. O simplemente guardando la hora en la BD y realizando una resta entre el valor guardado y el actual. Si éste supera las 12h, podrá descargar. De lo contrario, tendrá que esperar.
Código PHP:
<?php //Limitación mediante cookie if (isset($_POST['descarga'])) { setcookie("descarga", $_COOKIE['usuario'], time()+60*60*12); //12h de cookie } if (isset($_COOKIE['descarga'])) die('No puedes descargar'); ?>
Código PHP:
<?php //Obtenemos la hora de la última descarga en formato time(); $tiempo_descarga = mysql_result(mysql_query("SELECT descarga FROM usuarios WHERE usuario = '" . $_COOKIE['usuario'] . "'"),0,0); $tiempo_actual = time(); //Tenemos las horas en segundos, así que: 60 * 60 * 12 = 43200 segundos = 12h if ($tiempo_actual - $tiempo_descarga >= 43200) { //Se cumple la condición, por lo que podemos descargar } else { //No se puede descargar, ya que el tiempo es menor } ?>
Espero que lo hayas entendido.
Saludos.
|