Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Estructurando un buen sistema de usuarios....

Estas en el tema de Estructurando un buen sistema de usuarios.... en el foro de Bases de Datos General en Foros del Web. Hola quiero construir un sistema eficiente de logueo para usuarios en php, que registre todo tipo de actividad del usuario en el site. He comenzado ...
  #1 (permalink)  
Antiguo 20/04/2004, 08:37
Avatar de andinistas  
Fecha de Ingreso: julio-2003
Ubicación: Bogotá COL
Mensajes: 1.000
Antigüedad: 20 años, 9 meses
Puntos: 0
Estructurando un buen sistema de usuarios....

Hola quiero construir un sistema eficiente de logueo para usuarios en php, que registre todo tipo de actividad del usuario en el site. He comenzado con el diseño de la base de datos y sus campos y quiero queme aconsejen para hacer robusta y eficaz la aplicación.

En mi aplicación requiero de un pago y un control estricto sobre el usuario. El usuario para adquirir su cuenta tiene que pagar X suma de dinero para tener una actividad en el sistema por X tiempo que yo definiré luego.

Base de datos Mysql tipo MyISAM

Tabla: usuarios

CAMPOS:

id MEDIUMINT(8)= Campo autonumerico (autoincrement)
fechaderegistro DATETIME, = Fecha con hora
ipcliente VARCHAR(15),= Capturo la ip del cliente cuando entra a su cuenta
browsercliente VARCHAR(70),= Capturo con que navega el sitio el usuario
ultimoingreso DATETIME, = Capturo la última fecha de ingreso del usuario al sistema
Nombres VARCHAR(35),
Apellidos VARCHAR(35),
Email VARCHAR(60),
direccion TEXT,
telefonos VARCHAR(50),
movil VARCHAR(50),
usuario VARCHAR(10),
password VARCHAR(10),
actividad CHAR(1), = Defino la actividad 0=inactivo, 1= activo o no sé si mejor será Y/N ??
nivel_acceso MEDIUMINT(8)= Defino un nivel de acceso para las áreas del sistema
numeroingresos MEDIUMINT(8)= Guardo los ingresos cada vez que se loguea en el sistema ningresos + 1
ultimo_pago DATETIME, = Guardo el último pago realizado por el usuario
detalles_pago VARCHAR(255),
estado_cuenta CHAR(1) = El estado de cuenta del usuario puede ser deudor / paz y salvo.
//////////////////////////////////
también sería bueno capturar los días de la semana en la cual ese usuario ingresa a su cuenta, esto para
llevar algunas estadisticas de conexión y uso de la cuenta..
//////////////////////////////////
lunes CHAR(1), = Cuando el usuario se conecta se establece el valor 1 en ese dia (*)
martes CHAR(1),
miercoles CHAR(1),
jueves CHAR(1),
viernes CHAR(1),
sabado CHAR(1),
domingo CHAR(1),


(*)No estoy seguro si estoy procediendo bien..

//////////////////

Bueno hasta aquí creo que son mis necesidades, sólo faltan que uds me aconsejen si estoy procediendo bien
en alguna definición del tipo de campo o los campos en sí de la base de datos.
__________________
Un Saludo, Andinistas.
"Llegaron... Ellos tenían la biblia y nosotros la tierra... y nos dijieron: 'Cierren los ojos y recen.' Cerramos los ojos y cuando los abrimos,
ellos tenían la tierra y nosotros la biblia." Abadío Green.

Última edición por andinistas; 20/04/2004 a las 08:40
  #2 (permalink)  
Antiguo 20/04/2004, 08:45
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 4 meses
Puntos: 129
Un consejo .. antes de ponerte a escribir el código de tus tablas (SQL) "modela" antes en "papel" tus Base de datos y llega a un equilibrio entre el modelo de normalización a usar vs necesidades.

De todo esto puedes encontral tutoriales en:
www.mysql-hispano.com

Por ejemplo .. esos campos de "lunes,martes ...etc" no se administran así .. sino que guardas fechas de ingreso al sistema (fecha completa) y de ahí realizas consultas SQL para agrupar/obtener los datos que requieras según los parámetros de una fecha dada quieras como por ejemplo el dia de la semana o similares.

Es muy importante que sepas trabajar con fechas en tu BD para sacar el máximo rendimiento y la mayor flexibilidad ..

Por lo demás .. estos temas se deben tratar en el foro de "Base de datos" o mejor todavía ya que estás en fase inicial del proyecto en el foro de "Ingenería del Software y gestión de proyectos".

(decide donde quieres mover el tema .. o lo movemos al de "base de datos" para que te expliquen esos temas sobre normalización por ejemplo .. o como trabajar con fechas de forma eficiente.)

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 18:54.