Archivo de Excel creado con Laravel, PHP y PhpSpreadsheet

Laravel: crear archivo de Excel

En este post veremos cómo crear un archivo de Excel usando Laravel. Verás que es realmente sencillo.

Te pondré un ejemplo simple y a partir del mismo podrás crear hojas de cálculo usando los modelos de Laravel que se conectan a la base de datos o trayendo el contenido desde cualquier lugar.

Vamos a usar PhpSpreadsheet del cual ya existe un post con PHP puro, pero ahora veremos cómo usar PhpSpreadsheet con Laravel.

(más…)

Laravel: restringir acceso según rol de usuario

En el post te hoy te enseñaré a manejar algunos roles de usuario en Laravel para que se pueda acceder a ciertas áreas dependiendo del rol.

Con lo que aprenderás podrás restringir ciertos módulos solo al administrador, y otros solo para el usuario normal, cajero, empleado, etcétera. Vamos a usar controladores y middlewares.

Por cierto, con esto vamos a restringir controladores completos, y no acciones. Eso lo dejamos para otro post en donde seguramente usaremos los Requests y el método authorize.

(más…)

Por parzibyte, hace
Validar confirmación de contraseña con Laravel - Confirmar contraseña

Laravel: validar confirmación de contraseña

En el corto post de hoy veremos cómo validar que las contraseñas que el usuario escribe sean iguales al momento de registrar un usuario, es decir, que la contraseña y la confirmación de la contraseña coincidan.

Así vas a poder mostrar el mensaje de “Las contraseñas deben coincidir” o “Vuelve a escribir tu contraseña”

Esto se puede hacer con un if o cosas complejas, pero te enseñaré a comprobar si las 2 contraseñas son iguales dentro del Request que llega al formulario, dentro de StoreUserRequest específicamente.

Por cierto, estoy suponiendo que usas la autenticación de Laravel para crear usuarios o que al menos usas un Request para enviar el formulario.

(más…)

Por parzibyte, hace
Ticket de venta en sistema de ventas con PHP

Ticket de venta y cantidad modificable en punto de venta con PHP y MySQL

Hace tiempo publiqué en este mismo blog un sistema de ventas open source con PHP, MySQL y Bootstrap.

En los últimos días le he agregado algunas características y hago este post para informar sobre las actualizaciones a ese sistema de ventas.

Específicamente hablando he agregado un campo para modificar la cantidad al vender usando el teclado. Por otro lado ahora se puede imprimir un ticket o recibo de venta.

(más…)

Trabajando con parámetros de ruta en Laravel

Hoy vamos a hablar un poco sobre los parámetros que se pueden pasar en la URL cuando usamos el framework Laravel y sobre la importancia del nombre de la variable que los mismos deben tener.

Recuerda que cuando usas un resource de Laravel, el framework asigna un nombre dependiendo del modelo; y varias veces no es el que esperamos.

Por otro lado debemos cuidar el nombre de la variable cuando recibimos el parámetro en un controlador.

Veamos cómo funcionan los parámetros de ruta en Laravel al usar resources y controladores, además de un truco para saber el nombre de los parámetros de las rutas de Laravel.

(más…)

Registrar usuario en sistema de ventas

Punto de venta con PHP, jQuery y Bootstrap – Gratuito y open source

Hoy traigo al blog otro punto de venta gratuito y open source, pero este es especial pues fue el primer programa que hice y que fue usado por varias personas.

El punto de venta que presento es un POS web, totalmente open source y gratuito, además de simple y bonito.

Punto de venta web con PHP, MySQL, jQuery, JavaScript y Bootstrap

Punto de venta web con PHP, MySQL, jQuery, JavaScript y Bootstrap

Está hecho con PHP y JavaScript con jQuery (era el año 2016), usa MySQL/MariaDB como motor de base de datos y Bootstrap para los estilos, con varios temas.

Como ya dije anteriormente, este fue mi primer punto de venta oficial que comencé como por el 2015 (apenas iniciaba la universidad, qué tiempos) y luego terminé en el 2016.

Aunque parezca antiguo sigue funcionando como un encanto incluso con PHP 8.

En este post te mostraré los módulos del sistema y cómo puedes descargarlo e instalarlo en tu computadora o en tu hosting compartido.

El programa es totalmente responsivo y permite la impresión de tickets de manera local.

(más…)

Ver cola de espera por sector o vendedor en sistema para turnos

Sistema turnero con colas, recepcionista y clientes

En este post voy a mostrarte una actualización o modificación al sistema de turnos que ya está en mi blog desde hace algún tiempo.

Recuerda que el sistema de turnos que te mostré anteriormente permite al propio usuario solicitar su turno y el vendedor o profesional que lo atenderá.

Ahora en esta nueva versión se presentan los siguientes cambios (además de login con usuarios, responsivo, utilizable en red local, etcétera):

  • Registro de usuario por recepcionista
  • Colas de espera por distintas áreas
  • Colas de espera por vendedores o profesionales
  • Los vendedores se pueden poner como ausentes o disponibles, y se guarda el tiempo que se toma el descanso
  • Mover clientes en las colas y priorizar a algunos usando un drag and drop
  • Permisos por usuarios. El vendedor solo puede ver los clientes que él atenderá, y no puede cambiar la prioridad
  • Avisar si el cliente ya lleva esperando mucho tiempo

A lo largo de este post te mostraré los cambios de este sistema y cómo puedes obtenerlo con todo su código fuente.

(más…)

Montar y configurar proyecto existente de Laravel desde cero

En este post te describiré cómo montar un proyecto de Laravel en tu servidor de desarrollo. Lo hago para los clientes a los que les envío el código y necesitan una guía para hacerlo.

Este tutorial también sirve por si te has descargado un proyecto de Laravel y lo quieres colocar en tu servidor de desarrollo.

Por cierto, este tutorial va enfocado a usar Laravel con Apache en Windows.

(más…)

Laravel: crear primer usuario del sistema

En nuestros proyectos de Laravel podemos agregar la autenticación de usuarios de manera simple usando lo que el framework provee.

Sin embargo siempre hay un pequeño problema y es el de crear el primer usuario del sistema o el primer administrador del sistema, ya que para crearlo necesitamos estar logueados, pero para loguearnos debe existir un usuario.

Hay varias técnicas para crear un primer usuario del software en Laravel con PHP pero hoy te mostraré uno sencillo y a la manera de Laravel.

(más…)

Laravel: problemas con route model binding y middleware propio

En este pequeño post voy a relatar un pequeño problema que tuve con las rutas de Laravel al pasar un Model a través de la URL usando el Route Model Binding.

El problema era que yo pasaba el modelo por la URL pero al momento de recibirlo en el controlador, el mismo estaba vacío. Mejor dicho, era un arreglo vacío o un Model nuevo sin atributos.

Después de horas depurando me di cuenta de que el problema estaba causado debido a un middleware propio que yo había escrito.

(más…)

PHP: problemas con file_get_contents en petición HTTP

En este post vamos a ver un problema que pasa con file_get_contents en PHP cuando usamos dicha función para hacer una petición http o queremos mostrar el contenido de una página y la descargamos con esta función.

Recuerda que igualmente podemos usar file_get_contents para hacer una petición HTTP usando stream_context_create.

Bien, veamos qué hacer si file_get_contents no funciona en PHP, no muestra errores ni avisos o devuelve false sin razón aparente.

(más…)

PHP: acceso al sistema entre hora inicial y final

En el post de hoy veremos cómo podemos hacer un sistema en PHP para hacer que los usuarios entren solo en determinada hora específica, por ejemplo, desde las 10 de la mañana hasta las 2 de la tarde.

Básicamente vamos a ver cómo guardar la hora de entrada y salida, y dejar que el usuario ingrese solo si está en ese rango.

Te voy a mostrar un ejemplo de cómo guardar los datos en la base de datos y cómo comparar al momento de iniciar sesión. Te aviso desde ahora que el código será como un ejemplo para que tú puedas tomarlo y adaptarlo al tuyo.

(más…)

Obtener lista de archivos (imágenes) con PHP y glob

PHP: obtener imágenes de directorio

En este post de programación en PHP te mostraré cómo escanear el directorio actual (donde se ejecuta el script) para obtener una lista de todas las imágenes existentes, ya sean gif, png o jpg.

Obviamente con este ejemplo tú vas a poder obtener la lista de archivos de cualquier extensión o que cumplan con determinado patrón. Para esto vamos a usar la función glob.

(más…)