Volviendo por mis fueros y luego de unas vacaciones que no fueron vacaciones sino mas bien un periodo de aprendizaje que me hacia mucha falta (tanto como unas vacaciones) les traigo hoy una aplicación hecha en html5 php y mysql que les permite registrar la hora de entrada y de salida de un empleado.
Tratando de aprender de los diseñadores de paginas web he hecho este intento con la esperanza de lograr que sea usable y que sea agradable a la vista. Eche mano de un par de jquerys que me parecieron divertidos: Jquery-backstrech para hacer un fondo de pagina (background) mas dinámico pudiendo colocar fotos/imágenes intercambiables, no como un carrusel, sino mas bien como un cambiador de fondo de pantallas como los usados por «Variety» en Linux o el que trae por defecto el «guindou». El otro es jquery.easy-ticket que permite colocar citas en un div y las hace pasar una a una en ese div con algunas animaciones prefijadas.
Por supuesto, he dejado de lado el uso de html solamente, me ha parecido estupendo empezar a manejar Bootstraps para los diseños pues facilita un mundo el uso de las ventanas modales, el encuadre de divs, el encuadre de botones y además no debemos olvidar que ya no hay que preocuparse mas por diseñar para cada tipo de dispositivo o por si tenemos el jquery correcto que necesitamos porque las plantillas hechas con bootstrap ya se ocupan de eso.
Funcionamiento de la aplicación
La única labor del sistema es encargarse de registrar la entrada y la salida del personal que labora en la empresa. Luego de iniciarse el sistema, en la única pagina que se muestra, el empleado debe presionar la tecla “Enter” si está accesando desde un PC o tocar la pantalla en el área donde se ve el reloj en caso de accesar desde un dispositivo de pantalla táctil; el sistema le responderá con la apertura de una ventana modal donde el empleado debe verificar la hora y la fecha en la que está entrando y luego ubicarse en el campo “Cédula”. En ese campo, el empleado debe teclear su numero de identificación ante la empresa o su nombre e inmediatamente se mostrará una lista contentiva de los datos que coinciden con lo anteriormente escrito en forma de lista por debajo del campo donde introdujo el dato. Solo resta presionar la tecla “Enter” si está interactuando desde un PC o seleccionar el dato acorde con lo escrito si accede desde una pantalla táctil y luego hacer “clic” o “tap” en el botón “Registrar”.
Si todo está bien, simplemente dará el mensaje “Datos Registrados” conjuntamente con la información de si fue registrada una ENTRADA o una SALIDA.
En caso contrario, el sistema analiza si ya hubo una entrada o una salida registrada para ese empleado y muestra el mensaje: “Ya se ha registrado una “Entrada / Salida” ”.
Este sistema esta pensado para que funcione en un sistema de turnos donde el empleado realiza una entrada y una salida al día.
Los reportes que genera este sistema se verán desde el sistema principal donde el administrador del sistema tiene el control de otras tareas.
Lógica Del Sistema
La idea principal es registrar la entrada y la salida de un empleado, el sistema fluye dándole la opción al usuario de ver la hora y la fecha que se va a registrar que ciertamente es real pues es la misma hora del computador servidor y que por lo general es muy difícil que sea diferente a la hora de cualquier otro reloj del país donde funciona el sistema. El usuario puede ver la fecha y la hora cuando comienza a interactuar con el sistema pero cuando entra en la fase de registro de la hora de entrada la hora que aparece para registrar es “estática”, es decir no se mueve como lo hace el reloj de la pagina principal, permitiendo entonces que sea exactamente esa hora en la que presionó Enter o hizo tap en la pantalla la que se registre en la base de datos. Inmediatamente después de verificar en los campos mostrados que los datos son correctos, el usuario debe escribir al menos 3 caracteres, en el único campo que se le permite, de los datos con los que es identificado en la empresa para que el sistema busque y genere una lista desde donde el usuario puede seleccionar los datos completos; de esta manera evitamos que se registre cualquier otra persona que no esté en la base de datos relacionada a este sistema y a la vez, permite registrar los datos exactos tal cual como vienen de la base de datos de empleados.
Al momento de guardar, el sistema se encarga de evaluar, según la hora que se está registrando, si es una entrada o una salida. Toma en cuenta si la hora es en la mañana (am) o es en la tarde (pm) para guardar un registro llamado ENTRADA para cuando la hora es “am” y SALIDA para cuando la hora es “pm” en la base de datos. De esta manera al ver los registros en la base de datos se puede contabilizar si ya se ha entrado o se ha salido en ese mismo día de una manera mas sencilla. El mismo sistema cambia el dato a registrar cuando cambia la hora al mediodía, así no hay manera de registrar dos veces una entrada o una salida en ese mismo día.
Base de datos Auditable
La base de datos posee el campo para guardar la fecha de cada registro y el nombre del administrador del sistema o el usuario que dio inicio a la actividad del sistema en ese día.
Todos los archivos necesarios mas la tabla de datos «tbinout» que debe ser guardada o recreada en una base de datos con el nombre que Uds mas les guste esta AQUÍ en un archivo zip.
Hagan sus comentarios con sabiduría. Esta es la primera vez de muchas (eso espero.!) que comparto una aplicación de este tipo en Internet. Utilicé One Drive para que sea publica la descarga así que no se que tan confiable es eso DROPBOX (es posible que les pida registrarse pero no se preocupen… es gratuito..!) porque ONE DRIVE se puso intransigente con el espacio, esto será así hasta que logre dar con la forma correcta de utilizar Github.
ACTUALIZACIÓN: Aunque estaba renuente mas por desconocimiento y cierto grado de escepticismo que por otra cosa, he seguido los consejos de muchos amigos desarrolladores que han depositado su confianza en esa plataforma de alcance inimaginable para mi como lo es GitLab y he colocado por ahora el repositorio de este pequeño sistema. Tratando de mejorar el desarrollo y también como para subir un poco el nivel de los desarrollos que pondré a disposición para por supuesto equiparar con los desarrollos que en gitlab se descargan de manera gratuita para dar solución a muchas situaciones informáticas, he actualizado este pequeño sistema implementándolo de tal manera que siga el paradigma MVC usado por el framework Codeigniter.
Aquí el enlace a Mega: http://mega.co.nz/sistemaentradaysalidaweb/chkin-chkout.local
Si les parece buena y quieren aportar cualquier idea para mejorar la aplicación les estaré eternamente agradecido por ayudar a todos los que convivimos en esta tierra de Unos y Ceros.!
Si deseas apalancar económicamente mis desarrollos, bridarme un café o un té puedes hacerlo por aqui: PayPal.Me/doblea71
También tengo cuentas en billeteras como Blockchain, Uphold, Coinbase, Payeer, Payoneer con lo que también les informo que acepto: Bitcoin(BTC), Litecoin(LTC), Dogecoin(XDG), Monero (XMR), Dashcoin (DSH), Onixcoin (ONX en Venezuela) y Bytecoin (BCN). Un Millón de Gracias.
Hola. me puedes enviar a mi también los pasos para poder instalarlo?
karenpinedabarrera98@gmail.com
Por favor investiga sobre Codeigniter 3 y como instalarlo. asi sabras como instalar este sistema. Gracias por tu interes.
Buenos días. Excelente sistema.
Como se podría hacer para que un empleado se le pueda registrar varias entradas y salidas durante el turno de trabajo
No puedo abrir el proyecto, si me podria explicar donde esta la Base de datos para subirla al phpmyadmin(mysql), me parece muy interesante el sistema, quiesiera mejorarlo un poco ,hacerlo en CRUD, pero antes de eso quisiera abrir el proyecto y ver mas o menos su funcionamiento
Hola amigo buenas tardes!!! sabes que tengo un problema y es que cuando cargo una de las personas del listado y presiono Entrar, me sale un modal que dice «Internal Server Error» que podria ser? igual la hora que sale en el modal de marcar entrada y salida no coincide con la hora actual, pero en la pantalla de inicio la hora si coincide. que podra ser?? gracias por tu aporte
Buenas Noches Amigo. Muy Interesante y atractivo el Programa. Por favor serias tan amable de Enviarme una Guia de Instalación, soy Nuevo Con este tipo de programas aunque me puedo desenvolver bien, Actualmente Tengo El Servidor apache de XAMPP. Si Fueras Tan Amble
el sistema solo aparecen fraces no aparece nigun modo de checar
Debes verificar la instalación y ademas debes verificar el directorio donde están las imágenes. Es importante que lo configures correctamente para que el software apunte hacia el directorio correcto. También te recomiendo leer un poco sobre virtualHost. Allí puede estar tu problema.! Éxitos.!
Aun esta vigente tu proyecto.
yo también soy u TSUT
Si lo está. Pruebalo y me comentas que te parece.! Éxitos.!
Hola estoy tratando de implantar el código pero me saltan errores de que no puede encontrar archivos css y js,
Saludos, seria interesante que el sistema permita ingresar un ID por medio de codigo de barras o banda magnética y que automáticamente registre la entrada y salida.
hola, he visto tu publicacin , me parece muy buena .pero veo que actualizaste los pantallazos en comparacion a lo que muestras en tu post. hay un modelo que mandas llamar es «chequeo_model» el cual no existe.
public function __construct()
{
parent::__construct();
$this->load->model(‘Chequeo_model’);
}
favor me puedas brindar ayuda mi correo o si hay otra version mas ultima de la que tienes en mega me ayudaria bastante.
mi correo: robert.chiara@gmail.com
Buenos dias podrias mandarme una guia de instalacion y uso ademas del software necesario
javi20tf@gmai.com
por que no me sale nada
solo texto texto texto
como se modifica 😦
mas bien son frases pensamientos nunca sale la interfaz
Solo sale frases y el interfaz
hola amigo me podrías pasar la guia de instalación por favor
Estimado, los links de su sistema no están activos, le agradecería un link de descarga ya que deseo probar de aplicarlo en mi negocio. Muchas gracias.
Aqui estan Pedro.! Disculpa la tardanza..!
CHKIN-CHKOUT : https://mega.nz/#!4FQE0RLZ!-lR7cQGi-BRtI4u7ol2oVoRcE0_S5iSA8CLVkkQj9V4
Muy bueno el programa Hola, me puedes enviar los pasos para la configuración instalacion. total de todos los servicios (apache, phpmyadmin,
Buenas tardes Amigo, gusto en saludarle, me gustaría saber la posibilidad de permitirme trabajar con su aplicación atento a su comentario, me despido. saludos!
Hola, me puedes ayudar por favor con los links de descarga, estan caidos y me interesa mucho el codigo, gracias
muy buenas tardes me párese un excelente sistema. los links están caídos no se podrás resumir o corregir el problema, me gustaría usarlo gracias de antemano..
Saludos compañero me podiras compartir el codigo.. muchas gracias
Hola, los links de descargas estan caidos, quisiera saber como haces si para registrar una ENTRADA/SALIDA con los usuarios ya registrados hay que crear otra tabla y luego relacionarla con la del registro?
enlaces no funcionales. actualizar, Gracias. Me interesa mucho si puede enviarlo al correo
los links no funcionan
Hola Los links de descarga no funcionan
Sugerencia, no podrias hacer un video o manual paso a paso, para los novatos, neonatos que no tenemos idea de que es PHP y MY Sql, que solo creemos que todos los instaladores del mundo son un .exe + siguiente, siguiente?
Gracias
Saludos Jorge.
Por favor, revisa tu correo porque acabo de enviarte en enlace de descarga del sistema.
Gracias por tomarte tu tiempo para revisar y probar el sistema. Espero tus comentarios.
Hola, me puedes enviar los pasos para la configuración total de todos los servicios (apache, phpmyadmin, wamp, etc)
hola buen dia disculpa me los puedes enviar a mi tambien mcf1617@gmail.com
Listo..! Revisa tu correo..! te los acabo de enviar..! Disculpen todos por la tardanza..!
Listo..! Por favor revisa tu correo. Te acabo de enviar el enlace..! Espero tus comentarios.!
Hola. me puedes enviar a mi también los pasos para poder instalarlo?
joseutvco98@gmail.com
Hola Jorge, una consulta… te enviaron los archivos? si es asi me los podrias compartar a jamarchi@yahoo.com, gracias
Hola elcuartodeangel, de antemano muchas gracias por compartir el codigo, ya lo instalé y estoy probando el aplicativo, y al moento de crear un registroya sea ingreso o salida, no encuentra el insertar_registro.php , es como si no existiera
Buenos días;
No consigo hacerlo funcionar….
No veo donde viene indicado el nombre de base de datos o la estructura de la misma….
Podrías decirme donde viene esta información?
Un saludo.
Buenas;
No hay información de instalación….
Tipo de base de datos .. estructura… etc…
¿Como hago para hacerlo funcionar?
Un saludo.
deberias editar el archivo database.php
e insertar tus datos de base de datos
Que tal amigo, saludos desde Costa Rica, no encuentro el txt dónde viene la guia de instalación, podrás enviármelo por correo electrónico?
Yo puedo ayudarte, también soy de Costa Rica. Un saludo.
Podrias pasarme la base de datos? aun soy inexperto en esto 😦 no logro instalarla, te lo agradeceria mucho!
la base de datos esta en la carpeta backup
Hola¡
Soy estudiante de TI y en realidad soy novato, y solo quiero preguntar por su base de datos.
Gracias y espero su respuesta.
Buen día, antes que nada gracias por este tipo de aportes, respecto al txt de instalación no se encuentra, podrás enviármelo por correo electrónico?
Saludos
muy buen codigo amigo, te felicito desde jalisco, mexico
Una pregunta, existe algun panel de administracion, para dar de altas usuarios y sacar reportes del mismo ?
Alguien me puede ayudar a instalar el sistema paso a paso?, Gracias
ING. una pregunta, estoy tratando de guardar la hora en formato time, para luego poder mostrarla en un listado, pero es imposible guardar la hora, cuando cambio el campo a formato TIME en mysql me aparece esta hora 838:59:59, y me gustaria guardar la hora actual en mysql. Ud. me podria ayudar
Amigo Diego.
Gracias por probar el software.
El guardado de la hora se pensó así como está debido a que si se necesitase enviar na información para que lo interprete otro lenguaje u otra base de datos, ese formato no cambiaría porque ese es en formato usado por la gran mayoría de lenguajes. Mi recomendación es que antes de cambiar la forma de grabar busques la forma de interpretar la consulta de la hora en tu código fuente. Te prometo que no tendrás mayores complicaciones e incluso, si usas php para interpretar la consulta y mostrarla en tu FrontEnd vas a conseguir comandos tan sencillos como «Datetime» que te resolverán la vida.! Disculpa lo corto de la respuesta. Ya es madrugada y a veces las respuestas no aparecen en la mente como cuando estas mas descansado.! Saludos.!
Buenas noches Ing. excelente aporte el que Ud hace, pero tengo un inconveniente, estoy subiendo el sistema a mi servidor y cuando le doy clic para entrar al formulario de registro de entradas y salidas, no ingresa y me sale el siguiente error: Agrega hora [object object ].
Espero contar con su ayuda, gracias por su atención.
Diego.! Ante todo, gracias por tomarte el tiempo para probar el sistema.
Ese error por lo general, sale cuando hay un problema en la rutina de ajax relacionada a la captura autimatica de la hora por parte del programa. También en su momento, deriva de la falta de una tabla que referencia a los trabajadores que saldrán en la lista desplegable cuando se desee buscar un trabajador para registrarle la hora de entrada o de salida. Por favor verifica que exista la tabla referenciada, también la hora del computador para descartar y en el código verifica que la base de datos está apuntando hacia tu servidor de base de datos. Recuerda que estamos usando para este software a MySQL.
Saludos.! Espero te sirva la respuesta.!
Si Ing, efectivamente cambie de tabla, ya no uso la tabla tbprofe sino una tabla de personal. Pero en modo local esta todo perfecto, si hace referencia a la nueva tabla»personal», si salen en la lista despegable el personal grabado en dicha tabla.
Pero el problema es cuando lo alojo en mi hosting, alli es donde me sale el siguiente error: Agrega hora [object object ].
Gracias por su atención y espero pueda ayudarme. Slds
Amigo Diego, por favor verifica en el código (creo q en la carpeta «model») hay archivos que contienen el comando php para ajustar la hora del servidor a la de Venezuela. Puedes «comentar» esas lineas para q no las ejecute el programa y prueba de nuevo si funciona en el Hosting. A veces esos comandos no funcionan en un Hosting porque son tratados como «Hackeos» al sistema y son bloqueados por seguridad. Prueba y nos comentas.!
Saludos.!
buenas noches, instale tu programa y me funciona perfecto, solo tengo una duda, como le hago para registrar un profesor nuevo. saludos. y muchas gracias.
Actualmente este software esta enfocado a ser parte de otro sistema que se encarga de eso pero para solventar pudieras crear una tabla con esos datos en MySQL y llamarla desde este software. Hace un par de semanas me encontré un software que para mi podría ayudar a independizar este software de cualquier otro porque administra todos estos datos de una manera muy sencilla. El problema esta en el tiempo que no le he podido dedicar a terminar de revisar y adaptarlo. Pido disculpas por eso.!
Hola, exelente aporte, me gustaria saber respecto a como levantarlo, con que Apps seria lo optimo para poder ejecutar el codigo
Saludos Nicolás.!
Depende del sistema operativo con el que trabajes. Yo recomiendo el servidor web apache2 pero sirve con cualquier servidor web que pueda leer PHP. Si usas Windows y deseas no preocuparte mucho, podrías usar XAMPP que trae todo lo necesario para tener un servidor web en un computador personal.
Buenas Tardes Ángel, me encuentro con infinidad de acortadores, y no logró descargarlo ya di al menos 40 clics y no me muestra enlace de descarga, crees que puedas enviarlo a mi correo?.
psy.dance@hotmail.com
Vamos..! No te rindas..!
Se que puedes..!
Solo debes resolver el captcha que te aparezca en la primera pagina, luego, esta acción te pasará a la siguiente pagina donde solo debes esperar el botón “SKIP ADD” que es el que te permitirá ir a la pagina de descarga. ¿Sencillo, no?
Prueba accediendo al link, dale captcha, cierra las ventanas emergentes, copia el link y pegalo en una pestaña nueva
Hola, Angel, como instalo el sistema despues de decargarlo. estoy totalmente en “ceros”
Saludos desde Tuxtla Gutierrez, Chiapas. Mexico!
Saludos Gabriel.!
Dentro del archivo que descargaste hay un archivo en formato txt con instrucciones de como instalar. De todas maneras si tienes alguna otra duda, escribela por aquí para ayudarte.
PD: Hablando de todo un poco, quiero que sepas que estamos pendientes y solidarios con Uds los Mexicanos. En las buenas y en las malas somos «Panas»..! Salud y vida para todos Uds.!
Angel, lo busque en todas las carpetas y no existe ningun archivo que tenga instrucciones de instalacion.
que tal oye tampoco puedo descargar el archivo me puedes marndar por correo el archivo pedrazarosa465@gmail.com
Gracias por tomerte el tiempo para probar el sistema. Le ha pasado a varias personas pero aun no se cual es el motivo por el cual no pueden descargar. El enlace de descarga pasa por un acortador de direcciones electrónicas que me apoya para seguir colocando software gratuito y de utilidad, así que solo es necesario hacer clic o resolver un captcha y listo.! Te redirige a la pagina de descarga.!
Espero sus prontas respuestas y gracias por su apoyo.!
Hola elcuartoangel, no puedo bajar el sistema de control de empleados, me lo puedes enviar por correo cdalvarez2009@gmail.com MuchasGracias!
Saludos Carlos.
Ante todo gracias por probar el programa. Por favor podrías decirme ¿cual es el error que te da al descargar? O ¿cual es el motivo por el cual no puedes descargar el programa? Gracias.!
Hola elcuartoangel, no logro bajar el sistema de control de empleados, me lo puedes enviar por correo astuaei@gmail.com muchas gracias
Saludos Jorge. Ok.! Ya te lo envío.
Gracias por tomarte el tiempo para probar el programa
elcuartodeangel aun no me llega el correo, Gracias
Ya te lo reenvio, puede ser que el correo astuaei@gmail no es el correcto. De todas maneras te dejo el link para descargarlo desde MEGA: http://ur.ly/xDRxY7r
Alguien me pude ayudar a instalarlo paso a paso?, Gracias
Hola como estas, te comento que he leido todo los comentarios y revisado completo el sitio, pero es imposible montarlo en 2 servidores diferentes. Si bien esta todo configurado siempre aparece los siguientes errores
Message: Session: Configured save path ” is not a directory, doesn’t exist or cannot be created.
system/libraries/Session/drivers/Session_files_driver.php
Severity: Warning
Message: mkdir(): Invalid path
Filename: drivers/Session_files_driver.php
Line Number: 117
Backtrace:
File: application/controllers/Main.php
Line: 9
Function: __construct
Buen día Marco
Primero que todo gracias por descargar el programa.
Yendo al grano, el error que describes tiene que ver con que el usuario con el que estas trabajando no tiene autorización para crear el directorio que usa codeigniter para crear las sesiones. Eso quiere decir que los permisos del directorio raíz de tu servidor web prohíbe a cualquier usuario diferente hacer modificaciones. Prueba cambiar los permisos por ahora. Si usas linux cambia los permisos a 0766 con chmod y si usas Windows, cambia los permisos del directorio o sube de categoría al usuario con el que entras a Windows.
De todas maneras estoy revisando otras opciones porque también puede pasar que el servidor web q estés utilizando no sea compatible 100% con la versión de codeigniter y entonces sea necesario actualizar el framework.
Estaré en contacto cuando tenga noticias.! Y de nuevo gracias por probar el software
Hola amigo buen dia!
esta super padre el proyecto, lo instale para probarlo y todo bien aunque me da algunos errores, por ejemplo al querer registrar una entrada me sale una ventana emergente con este error “Internal Server Error”
Revisando un poco me di cuenta que el problema venia desde el archivo Main_model.php
Al ejecutarlo me da el siguiente error:
Ha ocurrido un error con la base de datos
Error Number: 1364
Field ‘idinout’ doesn’t have a default value
INSERT INTO `tbinout` (`cedchkprof`, `diachkprof`, `horachkprof`, `registrochk`, `fechainout`, `operador`) VALUES (NULL, ‘–‘, 1505338656, NULL, ‘2017-09-13’, ‘operador’)
Filename: models/Main_model.php
Line Number: 78
Sabes a que se deba y como pudo solucionarlo?
Saludos
Saludos Oscar.!
El problema viene porque en la tabla donde se registra el dato q quieres guardar no está configurado el campo «idinout» como «autoincrement» por favor verifica que hayas subido el archivo «.sql» correcto y que los atributos de los campos a importar sean iguales al del archivo .sql
Espero te haya ayudado.! Saludos y gracias por tomarte el tiempo para probar este softwate
Gracias por tu respuesta amigo, ya solucione ese error pero ahora me sale lo siguiente en la consola:
index.php/main/insertar_registro 500 (Internal Server Error)
Ademas de una ventana emergente que dice:
Internal Server Error
¿Sabes a que se puede deber?
Gracias de antemano.
Saludos!
Ese error ya es de php. Verifica por favor algún punto y coma, algún problema de conexión con la base de datos, que los «namespaces» estén apuntando hacia donde se debe… Es muy difícil saber exactamente cual es el problema cuando hay un error «500».!
Que tal muy buen aporte, me gustaria saber si pudieras pasarme tu Modelo relacional de tu base de datos completo, me interesa analizar tu sistema desde ese punto, te lo agradeceria!
Amigo Armando:
Gracias por tu comentario. Disculpa que no te pueda pasar el modelo relacional completo de la base de datos. Este programa fué diseñado para trabajar con una base de datos que posee derechos de autor pero, como para todo hay solución, por aqui te dejo la imagen del modelo relacional que le hice a las tablas involucradas para todo esto de las pruebas. espero te sirva.!
El enlace: http://ur.ly/xDqQ5dO
Excelente proyecto! lo que noté es que me ingresa 2 registros por cada petición, no me muestra los popup de regitro OK o ya ingresado y que al dar a registrar con el campo vacio me da “internal server error”
A que puede deberse?
Gracias por comentar.! Que bueno q te hayas tomado el tiempo para probar el programa.
Por favor verifica la tabla hacia donde esta apuntando el controlador que registra. Recuerda que este programa esta hecho para apuntar a una base de datos ya creada y que el archivo «.sql» que se anexa es para hacer pruebas en caso de no tener una base de datos previa. Este programa se pensó para usarlo en una escuela y de hecho, allí está funcionando pero para poder compartirlo en internet tenia que limitar la base de datos y sus tablas. Así que preferí crear otra con la que se pudiera hacer pruebas. Yo trabajo con linux y apache2 para hacer pruebas y no he hecho éstas en Windows con este programa pero a la gran mayoría de los que han probado les ha funcionado. Solo a algunos les ha dado algún error menor que básicamente se debe a los cambios en las configuraciones.
Espero haberte ayudado y si necesitas alguna otra aclaratoria, escribe la por aquí y te responderé lo mas pronto posible.!
Saludos.!
Hola Amigo primero que todo gracias por compartir tus conocimientos.
En estos momento estoy presentado un proyecto empresarial y trata de este mismo sistema de acceso al personal desde luego agregando otra serie de opciones, quisiera ver como funcionada tu proyecto pero a la hora de iniciarlo me sale (” http://prntscr.com/g574cd ”
Estimado amigo Gerarson.
Ante todo muchas gracias por comentar.
Ese error sucede porque los archivos CSS no son encontrados por el navegador. Como estamos usando un framework como base para programar este software, se hace necesario configurarlo para q este funcione. Estoy seguro de haber contestado esta pregunta antes pero voy a tratar de darte la forma de arreglar este error.
Debes buscar primero como llamas al programa desde el navegador. Si lo llamas de la forma:
http://localhost/chkin-chkout.local/
Debes copiar esa dirección url y pegarla dentro del archivo que se llama: config.php en la variable [$index] que consigas allí dentro. De hecho te vas a conseguir allí una dirección url parecida a la que te acabo de escribir, solo reemplazala por tu dirección url y listo. Asegurate que la url que escribas esté dentro de las comillas.
El archivo config.php se encuentra dentro de la carpeta «application/config/» que contiene todos los programas a usar además de los programas del framework.
Espero haberte ayudado. Escribe por favor si te dio resultado.!
Saludos y gracias nuevamente por compartir el detalle.!
Estimado, llego a esta misma instancia y no logro avanzar….
Buenas noches amigo angel, instale la aplicación, cree la base de datos e importe el backup, pero al ingresar al sistema, solo me muestra el fondo en blanco, con todos los pensamientos que colocaste y no hace mas nada, ayudame por favor
Estimado Jean
Cuando esto pasa es porque no has configurado aun la direccion por la cual debe buscarse la pagina en el servidor web. Esto lo pudes hacer cambiando la dirección web en el archivo «config.php» que se ubica en el directorio «application/config» del programa. Los archivos CSS que utiliza el programa estan referenciados/direccionados según la direccion web que escribas en ese archivo y por esta razón no los ubica. Te recomiendo si esta dentro de tus posibilidades leer un poco sobre el framework de programación «Codeigniter». La verdad es un framework muy pero muy sencillo de entender y utilizar y su curva de aprendizaje es muy corta (yo lo dominé en 2 meses pero ya a las 2 semanas podia trabajar con él). Te sorprenderá lo que puedes lograr usandolo.! Te lo aseguro.!
Hola que tal una pregunta obtengo este error.
A PHP Error was encountered
Severity: Warning
Message: mysqli::real_connect(): (HY000/1045): Access denied for user ‘root’@’localhost’ (using password: YES)
Filename: mysqli/mysqli_driver.php
Line Number: 135
Backtrace:
File: C:\xampp\htdocs\check\application\controllers\Main.php
Line: 9
Function: __construct
File: C:\xampp\htdocs\check\index.php
Line: 292
Function: require_once
Hola Cesar.!
Ante todo gracias por tomarte el tiempo para probar el software.
El error q te esta dando es porq en el archivo database.php q se encuentra en /application/config/ no has cambiado la clave para entrar en tu base de datos. Si ya tienes configurado tu servidor de MySQL debes colocar la clave para entrar. Si no le has configurado clave entonces puedes dejar el valor de password=» en blanco. Saludos y espero por tus comentarios
Una pregunta espero me respondas amigo…… Porque me aparece esto?
A PHP Error was encountered
Severity: Warning
Message: mysqli::real_connect(): (HY000/1049): Unknown database ‘bdchkinchkout’
Filename: mysqli/mysqli_driver.php
Line Number: 135
Backtrace:
File: C:\xampp\htdocs\registroAsistencia\application\controllers\Main.php
Line: 9
Function: __construct
File: C:\xampp\htdocs\registroAsistencia\index.php
Line: 292
Function: require_once
Ha ocurrido un error con la base de datos
No ha sido posible conectar al servidor de la base de datos haciendo uso de la configuración proporcionada.
Filename: C:/xampp/htdocs/registroAsistencia/application/controllers/Main.php
Line Number: 9
Estimado Gerbancio.!
Sucede que el software esta diseñado para que se conecte a una base de datos existente en los cuales exista una tabla de personal para asi poder extraer los nombres de las personas a las cuales se le realizará el control de tiempo. Si tienes una base de datos ya creada con esa información debes indicarle al programa, en el archivo database.php, el nombre de la base de datos y todos los paramentros necesarios para conectarse a ella asi como tambien indicar la tabla donde esta la información del personal, aunque esto involura hacer modificaciones a la vista y al controlador. Recuerda que esto esta hecho en codeigniter y esta configurado para que funcione en un servidor web local asi que es necesario configurar un Virtualhost que te permita llamar a la pagina con el nombre que tu decidas y configurar este en el archivo «config.php» (todos estos archivos que te comento estan en el directorio «application» del programa).
Espero haberte ayudado, en caso contrario puedes comentar para así aclarar dudas a otros usuarios.
Gracias por probar el programa.!
Estimado, su proyecto es bueno pero creo que en las bases de datos la estructura esta algo mal hecha, me refiero a por ejemplo en los campos de fecha establecerla como fecha y lo mismo para la hora, otros campos estan en 255 varchar, creo que ira creciendo mucho, mejor ajusta a un registro mas adecuado 20 / 30, eso, bueno espero ser un aporte, por lo demas estoy editando las sentencias de guardado.
Ante todo muchas gracias por comentar.!
Entiendo que el tamaño de los campos cambia cada vez que el usuario/programador importa el script creador de la base de datos en su servidor y es por ello que los campos toman el maximo valor posible ante la ausencia de compatibilidad del script con algunos manejadores de servidor de base de datos (DBMS). Todo entonces dependerá de cuanto valor predeterminado tiene el campo varchar o timestamp de tu servidor mysql. Todos los usuarios de este software estan probando, aportando ideas y en fin, colaborando en lo que pueden para resolver cualquier situación así que, te agradezco mucho que te hayas tomado el tiempo para comentar.!
Colaborando podemos llegar mas lejos.!
Excelente proyecto, solo que al registrar asistencia me indica que ya se ha registrado una entrada o salida (según sea el caso), ¿Qué podría estar pasando?
Ante todo, Muchas gracias por tomarte el tiempo para probar el software.
Bien, Lo que puede estar pasando en tu caso es que ya se haya registrado una entrada y entonces el sistema obliga a que tambien haya una salida. Si ya entraste, lo logico es que no puedas volver a entrar sin antes haber salido. Si saliste (que claro que si se puede porque pudiste haberte olvidado de registrar la salida) entonces debes marcar la salida para luego volver a marcar una entrada. El software no discrimina si entraste y saliste varias veces al dia. La idea era hacer que la persona que por casualidad cubria dos turnos o mas (mañana – tarde o mañana – noche o todos) pudiera registrar sus entradas y sus salidas para poder llevarle un mejor control de sus horas trabajadas.
Espero haberte ayudado. Por aquí estamos a la orden por si cualquier otra duda.!
Gracias por tu comentario.!
a mi tambien me sucede lo mismo.
al darle ENTRADA, me dice que se registro correctamente y luego salta un mensaje de que ya esta esta registrada la entrada sin precionar nada?
WTF
Hola, me gusto mucho tu aplicación y yo quisiera preguntar si seria posible que en lugar de hacer el registro de forma manual por decirlo así, es decir que en lugar de hacer uso del ratón o el teclado, se usara una lector de código de barras, que dicho código de barras vendría en una credencial que identifica al empleado. De ser así y con tu permiso ¿Podría desarrollarse? ¿Como lo podría hacer?
Hola.!
Si, claro que se puede.! Es más, estaria encantado de saber que este software pudiera ser actualizado para poder hacer uso de él tal cual como tu lo planteas. Este software fue puesto en un repositorio publico para que todo el que le sirva o le vea utilidad lo descargue, lo modifique, lo reproduzca o lo use, siempre dando credito a quien le dió vida por primera vez, es decir, es compartido de tal manera que se puedan respetar las cuatro reglas/leyes del software libre.
Ahora bien, la forma de hacerlo dependerá de quien desee iniciar un desarrollo de esa magnitud. Particularmente yo lo uso tal cual como está debido a que es muy costoso, para la persona a la que se lo hice, adquirir un lector de codigo de barras decente, aparte de imprimir algo asi como 5 o 7 carnets en pvc e imprimirlos con codigos de barra para usarlos como llaves de registro de entrada y salida. Se le hace mas cómodo hacerlo con un mouse.
Creo que habria que tomar en cuenta si usar codigo de barras o un codigo QR para hacerlo (ahora que el QR está de moda) y lo demas es simplemente adaptar la entrada de datos para que lea el codigo y quizas con javascript automatizar la acción de dar «Enter» para que procese el dato y ya..! Es una idea que se me ocurre por ahora.
En fin, el software está listo para que quien asi lo desee haga magia con él (en el mejor sentido). La semilla ya está sembrada.!
Muchas gracias por tu comentario..!
Cuento con este error amigo, si es posible tu ayuda te agradecería de antemano!
A PHP Error was encountered
Severity: Warning
Message: mysqli::real_connect():
Filename: mysqli/mysqli_driver.php
Line Number: 135
Backtrace:
File: C:\wamp\www\chkin\index.php
Line: 292
Function: require_once
Ha ocurrido un error con la base de datos
No ha sido posible conectar al servidor de la base de datos haciendo uso de la configuración proporcionada.
Filename: core/CodeIgniter.php
Line Number: 500
Lo estoy montando en servidor local WAMP
Hola Eduardo.!
Ante todo gracias por tomarte el tiempo para probar el software. Debes recordar que el software esta hecho en codeigniter, entonces para hacer uso de él debes conocer como funciona el framework.
El error por lo q veo, proviene de la configuración de los parámetros para conectarse a tu base de datos. Estos parámetros debes cambiarlos en el archivo database.php q se encuentra en el framework. También debes cambiar la url q desees utilizar para acceder a la pagina del software de una forma mas sencilla, que luego puedas recordar. Para ello te recomendo leer sobre virtualhost o date una pasada por los comentarios de esta entrada. Ya se ha respondido esas dudas anteriormente.
Espero te haya servido y espero tus comentarios.!
Buenos días.
Estoy tratando de hacer que funcione pero solo llega hasta mostrar la página de «Bienvenid@!.» con todas las citas célebres listadas, desde:
«La única forma de hacer un trabajo excelente es haciendo lo que amas». Steve Jobs»
hasta: «Nunca aprendes demasiado escuchándote hablar». George Clooney».
Todas las 45 citas una debajo de la otra sobre un fondo blanco. Por lo que veo en los «pantallazos» sólo debe aparecer una (1) frase sobre un paisaje (imágenes que están en el directorio ./assets/img). Paso a detallar mi instalación: GNU/Linux debian 8 Jessie 3.16.0-4-amd64 #1 SMP Debian 3.16.39-1+deb8u1 (2017-02-22). LAMP instalado, phpMyAdmin corre perfectamente y puedo ver la base de datos con sus registros. Para crear la base de datos ejecuté el script bdchkinchkout_20170117_215415.sql en ./backup. Se cargaron perfectamente 22 registros en la tabla tbinout y 8 registros en la tabla tbprofe. Me llama la atención que ninguna columna sea índice ni clave primaria. El conjunto de archivos con los directorios comprimidos en el archivo chkin-chkout.local-master-e608236a23dc7dcf497ed230070f8fe0dba75b2c.tar.gz. los coloqué en el directorio /var/www/html.
Podrías decirme por favor ¿Qué estoy pasando por alto? Otra cosa que me gustaría saber es qué herramientas utilizaste para crear la aplicación editarla y hacer debug. Saludos y gracias por compartir.
Estimado amigo Decio. Esto pasa cuando los archivos CSS no están bien direccionados o no son encontrados por el navegador. De aquí parte que piense que el problema radica en como estas configurando la aplicación en tu servidor apache. Recomiendo q leas un poco sobre virtualhosts en apache q permitiría q llames la aplicación por un nombre fácil de recordar para ti en tu servidor web. Entonces, lo q podemos hacer por ahora es verificar q la carpeta de la aplicación tenga un nombre igual al q escribas el la barra de dirección del navegador(si la aplicación se llama «http://localhost/horarios.local» la carpeta q esta en /var/www/html/ también se debería llamar «horarios.local».
Luego, debes cambiar en el archivo config.PHP que esta dentro de «/application/config/» la linea que dice:
$config[‘base_url’] = ‘http://chkin-chkout.local’
por
$config[‘base_url’] = ‘http://nombre-de-tu-carpeta-en-el-directorio-de-tu-servidor-web’
Y volver a llamar la aplicación con el nombre q le diste, desde el navegador.
Las herramientas para hacer debug en mi firefox son: firebug y las herramientas para desarrolladores q trae el mismo navegador y para crear la aplicación como tal utilicé el framework CodeIgniter-3 bootstrap-3, Jquery-2
Espero haberte ayudado y muchas gracias por tomarte el tiempo para probar la aplicación
buenas noches disculpe donde puedo descargar la aplicacion
Aquí el enlace: https://gitlab.com/devdoblea/chkin-chkout.local.git
(Hay q leer un poquito)
Buenos días, una pregunta, tiene implementado algún apartado de control (para ver quien ha fichado ? o simeplemente registra en BD y la parte de control se tiene que hacer? jeje gracias
Buen día Eizan
Esta aplicación solo tiene el registro de los datos. Se dejó así para que cada usuario generara los reportes a su gusto.!
Amigo donde puedo obtener la base de datos? De antemano gracias.
me aparece la pagina en blanco y no puedo descargar el proyecto.
espero puedas compartirmelo, saludos!
Buen día Amigo Eduardo.!
Gracias por el comentario.! Ahora lo porté a Codeigniter y lo subí a Gitlab. Aquí el enlace:
https://gitlab.com/devdoblea/chkin-chkout.local
El Script que captura la hora está desarrollado en PHP con una captura «en vivo» (si se permite la comparación) del dato de la fecha y hora justo en el momento en el que el usuario hace clic en el área donde se muestra la hora, bien sea, haciendo clic allí o tocando la pantalla en esa precisa zona donde se ve el reloj andando.
Estaré pendiente de sus comentarios y gracias por tomarte el tiempo de probar todo esto.!
Hola que tal, muy interesante tu proyecto lo quiero implementar en donde realizo practicas profesionales solo un detalle, porque no puedo entablar la conexion de la BD en Heidi SQL?
Gracias por comentar Amigo Marco.!
Por lo que sé, Heidi SQL es un manejador de bases de datos mysql, sql o postgresql. Primero debes asegurarte de haber creado la base de datos a la que vas a conectar el proyecto y luego en el archivo «database.php» ubicado dentro de la carpeta «/application/config/» cambias los datos de conexión a la base de datos. Recuerda que en esta aplicación estamos usando el paradigma MVC con el framework Codeigniter y la forma de trabajar es un tanto diferente a la tradicional de PHP puro.
En los archivos «*_model» podrás ver como se hacen las consultas a las tablas de la base de datos que usaremos en la aplicación. en realidad son solo dos tablas, una de donde se sacaran los nombres de los «empleados» por llamarlo de alguna forma y otra a donde vamos a guardar la hora de entrada y salida de estos empleados.
Saludos y mantenme al tanto de como te fué.!
Buenas, quería agradecerle por el aporte. ¿Podría decirme en que fichero tengo que poner los datos para conectar con la base de datos? Gracias!
Siempre a la orden amigo Víctor.!
Vamos por parte; un fichero para mi es un archivo. En este caso y por estar diseñado en un framework imagino que la pregunta vine por el lado de la comunicación con la base de datos ¿donde colocar los datos para conectarme con la base de datos? Bien, en la carpeta «application» del proyecto debes buscar el directorio «config» y el archivo database.php y allí colocar los datos de tu base de datos.
}la recomendación es ir a esta pagina (Codeigniter) y revisar un poco su forma de traBajar con el paradigma MVC.
Gracias por comentar, Saludos.!
saludos tengo una duda hermano estoy descargando para probar pero al abrir me sale unas frases o lemas y no me muestra mas nada que debo hacer para probar???
Importe la base de datos cambien los datos en el archivo config.php y abrió de una ver pero me sale como se muestra en la imagen que debo hacer para poder apreciar la aplicación??
Si amigo Juan, la pantalla te sale así porque los archivos de estilo CSS no están siendo ubicados por el navegador. Esto sucede por que estamos trabajando con un framework llamado Codeigniter y éste tiene una forma particular de redireccionar las URL’s. Para resolver esta situación lo que debes hacer es cambiar en el archivo «config.php» dentro de la carpeta «/application/config/» del proyecto, la linea
$config['base_url'] = 'http://chkin-chkout.local/';
por la url que usas para acceder a la pagina desde tu servidor local que por lo que veo es algo así como
$config['base_url'] = 'http://localhost/control/';
Aunque lo mas recomendable es que leas un poco sobre servidores virtuales (virtualhost) en apache2 para que, creando uno, puedas acceder a la pagina de la forma: http://control.com
Saludos y gracias por comentar.!
lo configure y aun nada amigo sigue apareciendo las mismas palabras
Bueno, es un tanto difícil saber exactamente como ayudarte si no veo cual error te esta dando. No esta de mas leer un poco sobre el comportamiento de una aplicación como ésta en un servidor web para q tengas una idea de donde viene el error.! Gracias por tomarte el tiempo para probar el programa.!
Muy interesante y funcional, Trabajo en un proyecto similar. Me gustaria ver si podemos intercambiar algunas ideas. Saludos
Claro amigo Juan.! cuando gustes estoy a la orden.! Actualmente estoy en un proyecto donde esta pequeña aplicación interactuará con hardware (puertas, señales, avisos luminosos) a través de arduino, así que es muy probable que esto sea portado a Python con DJango 1.10. Amanecerá y veremos.!
Saludos
Hola amigo con ganas de ojear tu proyecto he leido los comentarios y suena muy interesante pero al descargarlo de dropbox e irlo a descomprimir me sale archivo dañado
Estimado Daniel
Ya hice la actualización y ahora el sistema está en GitLab. Este es el enlace: https://gitlab.com/devdoblea/chkin-chkout.local
Ahora el sistema lo porté a Codeigniter para subir un poco el nivel de desarrollo. Es sencilla su implementación, además, el backup o el archivo .sql está en el directorio «backup» ubicado dentro del directorio raíz del programa así que no será problema ponerlo en marcha.
Gracias por tomarte el tiempo para probarlo. Estaré pendiente de los comentarios.!!
Muy bueno angel! Voy a revisar el código. Donde encuentro el Script, que toma la Hora? La idea, seria hacer una cuenta regresiva del horario que resta para salir de la empresa!
Muy lindo, todo lo que has hecho! Mas que nada, prolijo.
Buen día Amigo Santiago.!
Gracias por el comentario.! Ahora lo porté a Codeigniter y lo subí a Gitlab. Aquí el enlace:
https://gitlab.com/devdoblea/chkin-chkout.local
El Script que captura la hora está desarrollado en PHP con una captura «en vivo» (si se permite la comparación) del dato de la fecha y hora justo en el momento en el que el usuario hace clic en el área donde se muestra la hora, bien sea, haciendo clic allí o tocando la pantalla en esa precisa zona donde se ve el reloj andando.
Estaré pendiente de sus comentarios y gracias por tomarte el tiempo de probar todo esto.!
Buenas Tardes
Me parece interesante este tema, pero te tengo una duda.
Se podria este mismo complementar con un sistema de huella dactilar?
Gracias
Por supuesto que si amiga Vanesa. De hecho en eso estamos trabajando actualmente el grupo de desarrolladores que trabajan conmigo. Sucede que para poderlo hacer aun no hay una herramienta totalmente web que permita recoger datos directamente de un dispositivo como el capta-huellas, entonces hemos estado estudiando como hacerlo con Python que posee librerías que pueden interactuar con ese tipo de dispositivos pero no ha sido nada sencillo, aparte que es necesario probar con otras marcas para verificar la compatibilidad. Se ha hecho algo en Java integrando JAVA-EE para lograr captar la huella desde el navegador pero me parece la cosa mas estrambotica usar todo eso de java en una aplicación que es realmente sencilla. «Mata una mosca con una bazuca» no creo q sea la mejor solución. Espero haberte ayudado y bienvenidas las criticas y los consejos..!
hola amigo tengo una inquietud exelente aporte soy estudiante y me sirbio arto alejandro@jacce.com
Adelante Alejandro..! En que te podemos servir?
Buen día Vanessa
Por supuesto que si. He estado investigando al respecto y pues ya he estado haciendo algunas pruebas usando Python y algo de Arduino. Todo muy sencillo y con muchas probabilidades pero voy muy lento pues no tengo a la mano todo lo que necesito para probarlo todo junto. Sigo en la búsqueda de mejorar el desarrollo. Gracias por el comentario
hola amigo, intente probar tu aplicación pero no pude generar ningún registro, la base de datos solo tiene una tabla no se si sea correcta, espero me puedas apoyar a solucionar el problema saludos desde mexico
Hola amigo. Por favor verifica que tengas una base de datos ya creada y luego agrega la tabla .sql que está adjunta a la descarga del programa. Hace un tiempo escribí a alguien que tenia el mismo problema y le comenté que lo que se intentaba con este software era integrarlo a la base de datos general de una empresa para poder tomar los nombres de los empleados y así poder hacer la búsqueda mas rápida y sin el riesgo de cargar personal que no labore en la empresa. Si necesitas que trabaje sola, el programa es totalmente adaptable, no es necesario atarlo a una base de datos pero si es necesario que apunte hacia la tabla que te comenté.
hola pues necesito de su ayuda debido que al registrar la hora de entrada y salida no las esta almacenando en la base de datos
Hola Estrella.! Por favor revisa de nuevo las instrucciones de instalación ya que lo que va en los archivos del software es solo la tabla que recoge los datos registrados. Necesitas una base de datos para grabar allí la tabla y apuntar también hacia la tabla de personal para que te traiga los nombres y sea mas sencillo y seguro registrar una entrada y salida. Seguro digo por que no necesitaras que la persona escriba su nombre y cédula (ID/CDI) cada vez que quiera registrar una entrada o una salida. Espero te haya ayudado y disculpen la tardanza en contestar.
Hola, ante todo muy buen software, te hago una consulta bajo que licencia lo tenes?
Gracias por tu comentario Mariano.!
La licencia en este caso seria la del software libre, esa que respeta las 4 libertades. No esta especificada en el software porque lo que busco es poner un grano de arena para que juntos hagamos algo mas grande y mejor sin exponer una obligación, es decir, no obligo a nadie a usarlo porque tampoco hay garantías de que el software le funcione para la actividad específica que el usuario necesita. Por otra parte, pensando las cosas de una forma mercantilista, explícitamente no esta escrita una licencia que pudiera proteger este software pero en este ámbito siempre tenemos como punto de referencia la licencia del MIT para el software libre. Lo puedes usar, modificar, distribuir y/o enseñarlo con la condición de mantenerlo como software libre y mencionando a su autor. Si logras ganar dinero con él pues… Te felicito y me alegra poder ayudarte en eso. De esa forma también agradezco a otros que me han ayudado a mi a ganar dinero de esa manera.
Saludos amigo el link esta roto ya mo aparece el archivo
Gracias a todos por avisar el asunto del link.! ya esta subido otra vez. De todas maneras por aquí se los dejo de nuevo:
Chkin-Chkout con solo php
Gracias a todos por avisar el asunto del link.! ya esta subido otra vez. De todas maneras por aquí se los dejo de nuevo:
Chkin-Chkout con solo php
hola no pude descargarlo se borro saludos.gracias de ante mano
Ya no existe el proyecto =<
Gracias por avisar amigo Ger.!
Ya esta activo otra vez. El servicio donde lo subí tuvo algunos cambios desde el 10 de agosto de 2016 pero ya esta listo para descargar.! Espero tus comentarios de como te fue con la prueba. Estamos buscando hacerle alguna mejora y ya empezamos por cambiarlo al framework codeigniter. Hasta los momentos funciona muy bien.
hola descargue la aplicación y esta muy bueno te deseo lo mejor en las funciones que cumples o haces.
una consulta en el insertar_registro.php me aparece un error en la linea 49, cual podria ser el error me darias una guia porfavor…?!?!?!?! soy de (Bolivia-La Paz)
Hola amigo Shimofu, Bienvenido.!
Observo que la linea 49 se ve así:
while ($r = mysqli_fetch_assoc($consulta)) {
Si tienes algún error con ella puede significar que:
* Estés trabajando con una versión anterior a la 5.4 de MySql
* Estés trabajando con conexiones antiguas o deprecadas a base de datos Mysql, recuerda que está el tipo de conexión deprecada, la conexión «mysqli» que es la nueva forma de conectarse que desarrolló MySql (es mas rápida y orientada a objetos) desde cualquier lenguaje de programación y está la conexión PDO que es la nueva forma de conectarse a diversos servidores de base de datos haciendo mas fácil la escalabilidad de los programas que hacemos trabajar con bases de datos.
* Ó simplemente hay un error en los nombres de los campos que quieres extraer de la tabla de la base de datos que usas para
el programa.
Mi consejo es (si no lo has hecho ya) pasar a repasar un poco la diferencia entre estos tres tipos de conexiones y como se implementan en PHP. «San Google» tiene un montón de información al respecto que puede darte una idea de como es este asunto (colocando mysql mysqli y pdo en google conseguirás un montos de paginas que hablan de ello).
Por otro lado, si has cambiado la tabla donde guardar los datos, dale la vuelta de nuevo, revisa otra vez y no te rindas tan fácil. Es duro pero revisar te va a dar la sensación real de saber que es lo que estas haciendo realmente.!
Aquí estaremos a la orden para ayudarte de alguna manera si te bloqueas de nuevo..!
Hola buenos dias.!
com ole hago para convertir 1456325108 a fecha entendible.!
Amigo Marco.!
Gracias por tomarte el tiempo para probar la aplicación.
Por favor prueba con esta información :http://www.anerbarrena.com/php-strtotime-4930/
te puede servir de guía. Allí aparece como hacerlo también a la inversa, es decir, de fecha normal a fecha unix.
Saludos. Espero te sirva.!
en sistesis amigo, si debo insertar datos en la tabla tbinout dame un ejemplo de un registro de prueba; y en que parte del codigo debo ubicarme para que la hora que se muestre sea igual a la de mi computador; te escribo de valle de la pascua, estado. Guarico.
Caramba..! Bienvenido entonces amigo Dario..! Muy buenos recuerdos de mi gente de Valle La Pascua. Conozco mucha gente buena de allí, de Chaguaramas, El Sombrero, Santa María de Ipire, Ortiz, Las Mercedes del Llano, Tucupido y del Socorro.! Mi amistad y mis respeto para Uds. y su tierra.!
No te preocupes si la cedula no te aparece, ese input donde debes escribir la cedula es un simple campo de autocompletado que funciona con selectize.js (busca en Internet con ese nombre y veras todo lo que se puede hacer con esta maravilla de applet). Todo lo referente al registro de datos en la tabla tbinout se maneja desde el script insertar_registro.php y procuré comentarlo todo lo mas claro posible. las variables de las horas son convertidas a formato unix con el comando strftime() de php y en la lógica del sistema escrita en esta entrada explico mas o menos como funciona eso. En caso de alguna duda, comentame en que linea de código tienes problema y con gusto te orientaré.
Saludos, instale el sistema y la base de datos la llame control, luego importe el respaldo y allí se trajo una sola tabla sin registros, la hora que me muestra no es la misma del computador y me da error de que la cédula no existe, puedes orientarme?
Saludos Dario.! Gracias por tomarte el tiempo para probar la aplicación. Como lo indicas así es, la base de datos contiene solo la tabla donde se guardan los registros de la hora y el día. Si por favor puedes pasar a leer los comentarios de Bernardo el 24-02-2016 y el de Loki veras en las respuestas a esos comentarios el por qué te muestra diferente los registros de la fecha y hora (son en formato Unix y allí explico el por que de usarlo así) por otra parte, otra chica me escribió en una oportunidad porque no le salia la hora del computador y eso se debe a que el programa maneja la hora del servidor de Internet (script insertar_registro.php), entonces, debes verificar la zona horaria de tu país de tal manera que se muestre tu hora local(). Si no es ese el problema, también hay otra cosa que observar; si te fijas en las horas de la tarde, el reloj que se muestra en la pagina principal muestra la hora en formato 24 Horas y cuando haces clic y aparece la ventana modal, la hora se muestra en formato 12 Horas, esto se hizo de esta manera para facilitarle al usuario de mi país entender la hora que va a registrar; de esta manera no tiene ninguna excusa para verificar y aceptar el registro de la entrada o de la salida según sea el caso.
Con respecto a lo de la cedula, también lo explico en los comentarios anteriores. La aplicación esta enfocada para ser usada dentro de otro sistema mas grande. Ella apunta a la base de datos de personal de un colegio. Queda a tu criterio manejarlo con una tabla de datos diferente que maneje números de cedula, DNI o cualquier otro tipo de identificador que permita llevar un control directo del usuario que se registra, por ende, esa tabla de las cedulas no está en esta aplicación.
Un placer ayudarte y si aun hay dudas no te preocupes..! Vuelve a preguntar que estamos para compartir conocimiento.
Gracias por la explicación, si la hora que me muestra primero esta formato 24 y en el formulario la muestra en 12. la aplicacion esta muy interesante y la verdad la necesito para una asignatura en la Mision Sucre, si me pudieras ayudar a completar la misma..
Amigo, te diría mentiras si te digo que si. Actualmente estoy terminando el semestre de la universidad y tu te imaginas como es eso.! De todas maneras, comentanos cuales son tus aspiraciones al usar esta aplicación y de allí vamos construyendo ideas para luego, con mas tiempo, desarrollar y escribir código.!
Buenos días mi hermano, muy agradecido por tu expliación favor necesito que me expliques como hago para contar y/o sumar los las horas retrasadas y biceversa
Buen día Rolex. Para contar las horas solo necesitas hacer las comparaciones correspondientes entre una hora fija y la hora que se registra. Si por ejemplo el usuario debe entrar a las 8am y entra a las 8:05am es por medio de código (escribir un script) que puedes hacer la operación que recomendablemente debe mostrarse en un reporte aparte. PHP da para eso y mas y en la tabla tbinout los registros de la hora están en formato Unix así que sumar o restar será tan fácil como tomarse una cerveza cuando tienes calor.!
Mas allá de la aplicación no he hecho mayor cosa, solo un reporte de los registros guardados en la tabla tbinout para el cliente que me pidió el programa. Si tienes alguna idea de como generar un buen reporte o varios buenos reportes a partir de estos datos te agradecería mucho que los compartieras para así ayudarnos todos. Bienvenido será todo aporte constructivo..!
Hola que tal, tengo este problema, me sale esto:
Warning: syntax error, unexpected $end in config.ini on line 5 in C:\xampp\htdocs\check\config\config.php on line 2
Espero puedas ayudarme, gracias.
Amigo Cesar.! Verifica que tengas el símbolo punto y coma al final de la linea 5 en el archivo config.ini Ahí debe ir el password de acceso a la base de datos. Debes colocar tu clave y finalizar la linea con el símbolo » ; » (sin las comillas..!)
Hola buen dia, al parecer funciona, pero al igual tengo el problema de los numero raros q guarda en la base de datos y no lo gro cambiarlo… como le hago
Amigo Marco. Como lo comenté anteriormente esos números raros corresponden a la conversión de la fecha que normalmente los humanos utilizamos y entendemos a formato Unix. Este formato es manejado por la gran mayoría (por no decir todos) los lenguajes de programación y ofrece uniformidad y exactitud a la hora de mostrar la fecha y la hora en los sistemas q usemos. Repito, es una forma de hacer esta base de datos mas escalable de tal manera q si deseas usarla para extraer datos usando otro lenguaje u otro sistema lo puedas lograr con calidad, exactitud y en fin, sin problemas.!
Gracias por comentar.! Sigamos ayudando a todo el que se pueda.!
Como sugerencia quedaría mejor si al ingresar al reloj haciendo un pequeño login reconociera al usuario quedando como
Bienvenid@ get(«usuario»); ?>
y al darle enter para registrar la hora aparezca ya cargada en la Cedula del Profesor el usuario.
Cedula Profesor:
<select id="cedchkprof" name="cedchkprof" class="form-control idprofes" value="get(«usuario»); ?>»
ya tengo el login funcionando con mi pagina
pero al implementarlo asi la pagina no se muestra y deja de funcionar
cual seria la forma correcta de implementarlo.?
saludos
Saludos Amigo Carlos.
No estaría mal esa adaptación pero como le comente al Amigo Bernardo y al Amigo Mario, todo depende de para que lo vas a utilizar. Para mi en particular seria engorroso tener que ingresar al sistema para registrar la hora en la que llegué. El planteamiento actual de esta aplicación la adopte porque seria usado por un colegio al que le preocupa la hora de llegada de sus profesores pues estos escribían la hora de llegada en una planilla, cosa que se presta para que coloquen cualquier hora sin contar con que habían profesores que llegaban mas temprano y se registraban en la fila correspondiente uno debajo del otro. Había que darles la posibilidad de no tener excusas para registrarse y para hacerlo inmediatamente al llegar sin tener que usar lápiz, evitando que tuviesen que esperar para que se ubicara la carpeta de las firmas y un montón de excusas mas. Por ese motivo se buscó la sencillez, la efectividad, la compatibilidad y escalabilidad en este desarrollo para que cumpla un cometido sencillo pero importante para los cálculos de nomina.
Saludos desde Maracaibo Estado Zulia, Venezuela
Muy buen aporte me gusto mucho como lo implementaste
lo puse en mi pagina para revisar como funcionaba y me arrojó unos errores al registrar la hora de entrada y salida.
me guarda varios números que no corresponden a la hora guardada, en la columna horachkprof de la base de datos me guardo 1456325108 al registrarme a las 9:00 am. ¿como lo puedo corregir?
Por lo tanto también me gustaría hacerte una sugerencia
se supone que es para registrar la asistencia de un empleado, y en toda empresa no falta el usuario que se quiera pasar de listo y registrarse desde un cel o desde su casa, y como siempre llegar tarde al trabajo y pasarse por desapercibido, para esto trate de agregar el código:
get(«usuario»);
if( $usuario == false )
{
header(«Location: portal.php»);
}
else
{
?>
para que no permita que la pagina se muestre a menos que inicie sesión en un portal de la intranet o de la red privada de la empresa, a la cual no se tiene acceso desde la casa de los trabajadores, pero al poner el código la pagina deja de mostrarse y entra en conflicto 😦 ¿que me podrías recomendar para que no interfiera con la pagina y poder limitar a que entren directo sin haber accedido al portal?
Saludos desde Monterrey N.L. Mexico.
Saludos Amigo Bernardo.
Que bueno que te haya sido útil. Te comento que en realidad no son errores; sucede que cuando me enfrenté por primera vez a este tema del guardado de campos «Date» en bases de datos me conseguí con un montón de desarrolladores que daban cuenta de problemas graves de interpretación de esos datos cuando se guardaban en formato entendible por los humanos. Por ejemplo, cuando la fecha era 02/09/1999 no se sabia si era nueve de febrero o dos de septiembre. Entonces se puede observar que hay varios formatos de fecha, tu sabes, el formato que usan por ejemplo los Norteamericanos para la fecha o el formato que usan los Europeos para la hora (6 de la tarde se lee las 18 horas). En muchos desarrollos sencillos la forma de «convertir» las fechas se hacia muy engorrosa entonces. Entre tantas cosas que leí ya en foros mas especializados de lenguajes específicos como PHP la forma que mejor se presta para no tener tanta complicación es guardarlo en formato UNIX. Por esto es que ves una retaila de números sin sentido. Pero no hay que preocuparse pues al momento de extraerlos de la base de datos solo debes hacerlos pasar por el comando «date» mas o menos así:
echo date('d/m/Y', $hora);
Siendo $hora = «1456325108» es decir, el valor de la variable que deseas convertir. También puedes cambiarlo al formato ‘m-d-Y’ (mes-dia-año) para que la lectura sea compatible con la lectura norteamericana. Todo dependerá de lo que necesites mostrar.
Con respecto al otro tema que comentas sobre aquel empleado que quiere ser mas vivo que los demás, opino que es mejor eso que propones de manejarlo en una intranet. Colocarlo en un servidor web con acceso desde internet podría permitir el registro de cualquier cantidad de datos erróneos solo por que se puede. Colocarlo a disposición de los empleados de la empresa con una clave de acceso haría que en las horas pico de entrada y salida se tarden mucho en registrarse porque hay que tomar en cuenta que la mayoría de los usuarios recuerdan mas fácilmente su numero de ID o cédula como la llamamos aquí que una clave y un nombre de usuario. Si solo colocas un equipo para el registro imagínate la fila de empleados esperando por registrarse; además, si se toman los datos para calculo de horas extras o cosas por el estilo, los costos de nomina van a crecer sin duda.
Espero haber aclarado la duda y muchas gracias por comentar. Saludos desde Maracaibo Estado Zulia, Venezuela
en mi caso el sistema no estaria en una computadora fija, cada empleado tiene una computadora portatil asignada con acceso a la intranet, por lo cual al llegar a trabajar tienen que abrir su portal de trabajo, y lo primero es checar la hora de entrada y despues a sus labores pendientes en el portal, y al finalizar el turno checar su hora de salida y cerrar sesion del portal.
en mi caso tambien al llegar se registraban en una boleta y habian muchas tranzas al momento de hacer la nomina
y sucedia que todos llegaban temprano y nadie perdia su bono de puntualidad ¬¬ ¿que raro no? y por lo cual veia resultados minimos en el trabajo debido a la impuntualidad de algunos empleados, gracias a tu aporte quedó resuelto ese problema en mi negocio.
muy buena aportacion amigo muchas felicidades, en la base de datos que dejaste junto con le proyecto solo tiene una tabla y por lo que veo en el código haces una consulta a la tabla «tbprofe», ¿solo seria crear esa tabla con sus datos correspondientes para poder obtener la información del profesor?… saludos
Es correcto amigo loki. La idea seria apuntar a una tabla de personas o entidad a la que le quieres hacer el registro de la entrada o salida (esto también pudiera funcionar para el control de entrada y salida de vehículos por ejemplo) Pero si no tienes una tabla de donde sacar esos datos también puedes escribir en el campo el dato de lo que quieres registrar porque el programa guarda todo lo que entre en el input mas la hora de entrada o salida. Como lo comente anteriormente, el programa esta preparado para acoplarse a una base de datos existente con lo que logramos que haya escalabilidad y compatibilidad con otros entornos.
Gracias por tu respuesta Angel, ya modifique los datos del archivo config.ini y ya se conectó a la BD pero al registrar la hora de entrada y salida la guarda con números que no corresponden a la hora registrada ejemplo: si me registro a las 10:20:55 am me guarda la hora en la BD como «1456244461» esto es en la columna horachkprof. ¿a que se debe?
a mi me aparece lo mismo ¿tendrás una solución?
Amigo Mario. Si, así como le escribí al amigo Bernardo, ese es el formato UNIX de la fecha y por eso no es inmediatamente legible por un humano. Aqui te dejo el por qué uso ese formato:
Espero que haya aclarado tu duda. Saludos desde Maracaibo Estado Zulia, Venezuela
Al tratar de conectarlo me aparece el siguiente error
Fallo al conectar a MySQL:Access denied for user ‘alpemx’@’localhost’ (using password: NO)
ya configure mis accesos a la bd y ni asi
a que se deberá
connect_errno) {
echo «Fallo al conectar a MySQL: » . $mysqli->connect_error;
}
?>
Amigo Mario.!
Gracias por comentar.
Dentro de la carpeta del proyecto busca la carpeta que se llama «config». Dentro de ella están dos archivos; un «config.php» y otro «config.ini». Abre el archivo «config.ini» y cambia el nombre y clave del usuario por el nombre y clave correspondiente al autorizado a entrar a tu base de datos. Esto debe resolver el error: «connect_errno) {
echo “Fallo al conectar a MySQL: ” . $mysqli->connect_error;
}»
Por favor luego de que pruebes este proyecto, comenta como te fue? como podemos mejorarlo?. Gracias.!
amigo como lo descargo
Amigo Toorviic, gracias por el comentario.!
En el parrafo que dice:
«Todos los archivos necesarios mas la tabla de datos “tbinout” que debe ser guardada o recreada en una base de datos con el nombre que Uds mas les guste esta aquí en un archivo zip.»
donde dice «aqui» haces clic y te lleva a la pagina de descarga.
Por favor luego que lo instales… puedes comentar como te fue? que le podemos mejorar?
Muy buen proyecto felicidades, aunque me gustaria saber como lo conecto con la base de datos ya que cuando le doy clic a la hora me sale la ventana de registrar en blanco
Ante todo, gracias por tu comentario.!
Este proyecto busca de alguna manera dar una solución para el control de entrada y salida por lo que el conectarse a una base de datos queda «al gusto del usuario». Lo pensé como para que la tabla «tbinout» formara parte de una base de datos ya establecida en MySQL. En este caso (y creo que en todos los que seguiré subiendo) estoy utilizando MySQL por tener licencia GPL y poder usarlo sin problemas en mi Linux con proyectos medianos o pequeños. Por otra parte, de este proyecto tengo 2 versiones: Una con puro PHP y otro usando el framework CodeIgniter, cosa que hace que la conexión a la BD sea diferente.
La conexión mas sencilla es con php puro pero debes tomar en cuenta que los datos de este proyecto se guardan en una tabla dentro de una base de datos que guarda información relacionada con una empresa. Entonces, para que los datos de los trabajadores te salgan en el input-select del modal debes indicarle a la rutina de ese select a cual tabla de la Base de Datos va a ha hacer la consulta y cuales registros va a mostrar para lograr la función. Como te comente, eso queda «al gusto del usuario» con lo que le daríamos un mayor alcance y hasta compatibilidad al proyecto.
Espero haberte ayudado y de nuevo, gracias por el comentario.!
Hola, muchas gracias por compartir este proyecto, tengo una pregunta: ¿ Como puedo visualizar el registro de entradas y salidas del personal ?
Un saludo,
Pedro
Saludos Pedro.
Por los momentos no tengo una API q maneje, independiente del sistema, esos datos q dices. Estoy al pendiente de recibir un link de descarga de un programa hecho por otro desarrollador llamado Agustín ( http://evilnapsis.com/2016/08/21/assistlist-sistema-de-control-de-asistencias-con-php-y-mysql/#comment-4758) que puede ayudar al respecto.
Por falta de tiempo es q no se ha hecho esto que pides, también porque ese manejo lo hace un programa mas grande que hice para un colegio y que como entenderás tiene su copyright a favor del colegio y no se puede compartir.
Gracias por comentar y probar el programa. Sin los usuarios nunca sabríamos la utilidad de nuestro trabajo.!