El problema es con las fechas y horas.
He entendido bien las funciones de fecha en PHP y MYSQL, creo :S
Pero pensando en que el administrador del sitio pudiera establecer la limitación de tiempo a su antojo tengo que pensar la manera de comparar la diferencia entre la fecha (año, mes y día) y la hora (hora, minutos y segundos) establecida por el administrador del servidor y la última vez que se conectó el usuario.
De manera que el código resultante es este (he omitido la parte de la consulta a MYSQL para no infringir las normas), está escrito en local y es a modo de prueba, por lo tanto no es muy bonito :) ni pensado para seguir una estrategia de eficiencia alguna, simplemente es para que funcione
Código PHP:
Ver original
/* * calcula la diferencia entre años, meses, días y horas */ public function compareDatesHours($dateimput) { //comprueba si el formato de fecha de imput es un formato valido [Y-m-d H:i:s] $this->check_date_time = $this->validateDatesHours($dateimput); if($this->check_date_time === TRUE) { //recupera la ultima conexion al servidor $this->sql =//la consulta $this->result_conexion = $this->connect($this->sql); { $result = $valores; } //comprueba las diferencias entre años, meses, dias y horas. // si hay una diferencia mayor de un dia y una hora puede continuar if($result['diff_year'] == 0 AND $result['diff_month'] == 0 AND $result['diff_day'] >= 1 AND $result['diff_hour'] >= 1 ) { return $result; } else { return "no puede continuar"; } } } //en la consulta SQL obtengo las diferencias entre la última vez que el usuario se conectó y la fecha pasada por valor a este método
¿A alguien se le ocurre alguna función nativa de PHP que realice este trabajo para ahorrar líneas y ganar eficiencia?
Simplemente una referencia de funciones y yo ya pienso cómo hacerlas trabajar :D
Es que leyendo el manual de PHP no se me ha ocurrido una manera mejor para realizar esto.