Foros del Web » Programando para Internet » PHP »

No permitir acceso hasta la hora indicada

Estas en el tema de No permitir acceso hasta la hora indicada en el foro de PHP en Foros del Web. veries estoy haciendo un sistema de usuarios de moderación, cada usuario le toca 1 hora del horario por ejemplo: De 11-12= usuario1 12-13=usuario2 Y lo ...
  #1 (permalink)  
Antiguo 02/06/2009, 08:51
 
Fecha de Ingreso: enero-2009
Ubicación: España
Mensajes: 786
Antigüedad: 15 años, 3 meses
Puntos: 9
No permitir acceso hasta la hora indicada

veries estoy haciendo un sistema de usuarios de moderación, cada usuario le toca 1 hora del horario por ejemplo:

De 11-12= usuario1 12-13=usuario2
Y lo que queria hacer es que si el usuario2 se loguea fuera de su teimpo de logueo ( 12 -13 )que no le permita loguearse, como puedo hacer eso?
  #2 (permalink)  
Antiguo 02/06/2009, 08:57
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: No permitir acceso hasta la hora indicada

En la base de datos coloca una columna que tenga los horarios que no se puede loguear y cuando hagas la verificacion en el logueo escribes un if que verifique si la hora de logueo no es la misma que la hora de la columna que te mencione
  #3 (permalink)  
Antiguo 02/06/2009, 08:59
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: No permitir acceso hasta la hora indicada

Tienes que tener algun control sobre la hora a la cual le toca al usuario conectarse. Luego de eso, es solamente comparar timestamps.

Digamos que tienes las horas en $horaEntrada y $horaSalida en formato HH:MM:SS

Código PHP:
<?php

//Todo esto despues de verificar que el usuario existe, pero antes de crear las variables de SESSION o lo que sea que uses:
$timeEntrada strtotime($horaEntrada);
$timeSalida strtotime($horaSalida);
$ahora time();
if(
$timeEntrada <= $ahora AND $timeSalida >= $ahora) {
  
//Creo variables de session
} else {
  
//Error, no puedes loguearte a esta hora.
}

?>

Última edición por Ronruby; 02/06/2009 a las 09:05
  #4 (permalink)  
Antiguo 02/06/2009, 10:06
 
Fecha de Ingreso: enero-2009
Ubicación: España
Mensajes: 786
Antigüedad: 15 años, 3 meses
Puntos: 9
Respuesta: No permitir acceso hasta la hora indicada

esque es sin bases de datos.
  #5 (permalink)  
Antiguo 02/06/2009, 10:13
Avatar de By_George  
Fecha de Ingreso: abril-2009
Ubicación: localhost
Mensajes: 629
Antigüedad: 15 años
Puntos: 19
Respuesta: No permitir acceso hasta la hora indicada

y como controlas a los usuarios???
__________________
La estadística es una ciencia que demuestra que si mi vecino tiene dos coches y yo ninguno, los dos tenemos uno.
  #6 (permalink)  
Antiguo 02/06/2009, 10:18
 
Fecha de Ingreso: enero-2009
Ubicación: España
Mensajes: 786
Antigüedad: 15 años, 3 meses
Puntos: 9
Respuesta: No permitir acceso hasta la hora indicada

No los controlo, como ya dije son usuarios para administrar la web
  #7 (permalink)  
Antiguo 02/06/2009, 10:21
Avatar de By_George  
Fecha de Ingreso: abril-2009
Ubicación: localhost
Mensajes: 629
Antigüedad: 15 años
Puntos: 19
Respuesta: No permitir acceso hasta la hora indicada

Cita:
Iniciado por SeaPirates Ver Mensaje
veries estoy haciendo un sistema de usuarios de moderación
y entonces como es que se loguean y como sabes que son usuarios, donde checas eso entonces ahi debes de tambien checar su horario
__________________
La estadística es una ciencia que demuestra que si mi vecino tiene dos coches y yo ninguno, los dos tenemos uno.
  #8 (permalink)  
Antiguo 02/06/2009, 10:52
 
Fecha de Ingreso: enero-2009
Ubicación: España
Mensajes: 786
Antigüedad: 15 años, 3 meses
Puntos: 9
Respuesta: No permitir acceso hasta la hora indicada

aver es un registro de usuarios sencillo sin mysql lo unico que quiero es en archivo del usuario por ejemplo ela rchivo se llama:

usuario1.php y dentro contiene:

<?
$nick = "usuario1";
$contrasena = "contraseña";
$email = "[email protected]";
$fecha = "1237999600";
$ip = "xx.xxx.xxx.xxx";
$sexo = "";
$pais = "";
$edad = "";
$descripcion = "";
?>

esos son los datos supongo que abria que incluir algun tipo e variable que indique el horario al que puede loguearse

y el formulario para acceder (entrar.php) es:

<?
if($entrar) {
function quitar($texto) {
$texto = trim($texto) ;
$texto = htmlspecialchars($texto) ;
return $texto ;
}
$cnnick = quitar($cnnick) ;
$cnpass = quitar($cnpass) ;

if(file_exists("usuarios/$cnnick.php")) {
require ("usuarios/$cnnick.php");
// Comprobamos que la contraseña sea igual a la del usuario
if($contrasena == md5($cnpass)) {
setcookie("ucnnick",$cnnick,time()+7776000) ;
setcookie("ucnpass",$cnpass,time()+7776000) ;
// Enviamos al usuario a la pagina principal
header("location: $id") ;
}
else {
echo "La contraseña es incorrecta. Haz click <a href=javascript:history.back()>aquí</a> para regresar." ;
}
}
else {
echo "Este usuario no existe en la base de datos." ;
}
}
else {
echo "
<form method=post action=entrar.php>
<b>Nick:</b><br>
<input type=text name=cnnick maxlength=20><br>
<b>Contraseña:</b><br>
<input type=cnpassword name=cnpass maxlength=20><br><br>
<input type=submit name=entrar value=Entrar>
</form>
" ;
}
?>


el login.php:

<?
if(file_exists("usuarios/$_COOKIE[ucnnick].php")) {
require ("usuarios/$_COOKIE[ucnnick].php");
}
if($contrasena == $_COOKIE[ucnpass]) {
setcookie("ucnnick") ;
setcookie("ucnpass") ;
echo "<script>location='index.php'</script>" ;
}
?>

Última edición por SeaPirates; 02/06/2009 a las 10:59
  #9 (permalink)  
Antiguo 02/06/2009, 10:58
Avatar de cesarpunk  
Fecha de Ingreso: enero-2008
Ubicación: Lima
Mensajes: 943
Antigüedad: 16 años, 3 meses
Puntos: 9
Respuesta: No permitir acceso hasta la hora indicada

ojo que debes controlar dentro del margen de tiempo tambien cuando el usuario esta dentro del sistema... como botarlo del sistema cuando ya paso su tiempo?

si usaras sesiones tienes ke darle un tiempo de vida, y eso lo controlas con el session_time y un limite de tiempo , busca en google hay interesantes tutoriales

De como manejas tus usuarios .... es otro tema... suerte!
__________________
Quitenme la vida pero no la bebida.
  #10 (permalink)  
Antiguo 03/06/2009, 08:22
Avatar de martin0341  
Fecha de Ingreso: septiembre-2006
Ubicación: Rosario - Santa Fe
Mensajes: 296
Antigüedad: 17 años, 7 meses
Puntos: 8
Respuesta: No permitir acceso hasta la hora indicada

creo que te convendira, si tenes la posibilidad, de trabajar con alguna base de datos y variables de sesion.
Es un consejo, por el tipo de problema que estas planteando me parece q te vale la pena el esfuerzo.
Saludos
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 19:27.