Sistema web de pagos y cooperaciones open source con PHP

Hoy vengo a presentar un sistema gratuito y open source para el control de pagos y cooperaciones creado con PHP, MySQL, Twig, Bootstrap y Vue

Este sistema de pagos está creado con PHP para el lenguaje del servidor, utiliza Twig para renderizar las plantillas, mismas que tienen un diseño usando Bootstrap. La persistencia de datos es gracias a MySQL.

Del lado del cliente se utiliza Vue para consumir la API y traer los datos.

Entre sus características encontramos:

  • Software para el control de pagos de personas
  • Registro de personas
  • Posibilidad de registrar usuarios para iniciar sesión
  • Impresión de comprobantes de pago en impresora térmica
  • Reporte de totales abonados por personas
  • Responsivo y accesible desde teléfono, tableta o computadora

Con algunas modificaciones, este software podría controlar el sistema de abonos de ventas de productos, cooperaciones de personas, pagos, etcétera.

Puede servir para estudiar un proyecto de PHP o para usarlo directamente en producción (de hecho yo lo estoy usando)

A continuación voy a explicar cómo funciona, además de mostrar el código fuente y otras cosas más.

(más…)

Conexión Node.js y MySQL con Express

En este post te voy a mostrar cómo conectarte a una base de datos de MySQL usando el lenguaje de programación JavaScript del lado del servidor a través del entorno Node; también conocido como Node.Js.

Vamos a hacer las 4 operaciones básicas de la base de datos: obtener datos, insertar datos, actualizar datos y eliminar datos.

Para la interfaz del usuario vamos a usar Bootstrap y una estructura de aplicación web generada con express-generator.

(más…)

Cifrado de datos en MySQL con AES

AES (Advanced encryption standard) es un algoritmo bastante fuerte y seguro, utilizado ampliamente en el mundo de la seguridad informática.

MySQL permite cifrar y descifrar datos utilizando el algoritmo AES a través de las funciones aes_encrypt y aes_decrypt.

Cifrar y descifrar con AES en MySQL

De esta manera podemos proteger y asegurar datos utilizando AES.

En este post vamos a ver cómo cifrar y descifrar datos con AES en MySQL.

(más…)

Contraseña incorrecta con MySQL en Linux al entrar como root – Error 1698 (280000)

Hay un error (si se le puede llamar así) muy común en Linux, y es que al iniciar en MySQL con el usuario root se deniega el acceso aunque la contraseña esté bien.

Es decir, aunque las credenciales sean correctas, Linux no permite que entremos como usuario root en MySQL. Normalmente emite el siguiente error:

Error 1698 (280000): Access denied for user ‘root’@’localhost’

La razón es simple: no se permiten conexiones a MySQL como usuario root, pero en este post veremos cómo podemos solucionar eso de dos maneras.

(más…)

Longitud de una cadena en MySQL con length y char_length

En este post voy a explicar el uso y la sintaxis de las funciones length y char_length en MySQL, ambas permiten trabajar con cadenas pero devuelven un resultado distinto.

Además de ver las diferencias entre LENGTH y CHAR_LENGTH voy a explicar su sintaxis con ejemplos.

Cabe mencionar que estas funciones devuelven la longitud de una cadena pero de manera distinta debido a eso de los caracteres multibyte,

(más…)

Instalar LAMP y phpmyadmin en Ubuntu

En este post vamos a ver cómo instalar la pila de LAMP en Ubuntu; es decir, vamos a instalar Apache, MySQL y PHP en Ubuntu.

Adicional a ello veremos cómo instalar phpmyadmin para administrar MySQL desde el navegador web con una interfaz amigable.

También veremos cómo configurar MySQL, probar la instalación de PHP y probar phpmyadmin.

Nota: esto lo vamos a hacer con tasksel, un “gestor” de Ubuntu. Será algo sencillo.

Nota 2: si usas Windows mira este tutorial.

(más…)

MySQL y MariaDB - Chequeo de claves foráneas al truncar tabla

Truncar tabla de MySQL o MariaDB desactivando claves foráneas

En este post voy a explicar cómo truncar una tabla de MySQL o MariaDB sin que nos estorben las claves foráneas o foreign keys.

MySQL y MariaDB - Chequeo de claves foráneas al truncar tabla

MySQL y MariaDB – Chequeo de claves foráneas al truncar tabla

Al truncar una tabla con MySQL, si esta tiene referencias a otras tablas, saldrá un error que dice más o menos así:

ERROR 1701 (42000): Cannot truncate a table referenced in a foreign key constraint (base_de_datos.tabla, CONSTRAINT alguna_referencia FOREIGN KEY (alguna_clave) REFERENCES base_de_datos.otra_tabla (clave))

Esto es por seguridad, ya que al truncar se eliminarían si tuviéramos la opción de cascada al eliminar datos. En fin, veamos cómo truncar una tabla aunque tenga referencias a otras.

(más…)

Creación de tabla dentro de MySQL con migración de Laravel

CRUD de Laravel con MySQL: administrador de canciones

CRUD de Laravel con MySQL o MariaDB

Hoy toca el turno de Laravel (un framework de PHP) para conectarse a la base de datos más popular: MySQL.

Creación de tabla dentro de MySQL con migración de Laravel

Creación de tabla dentro de MySQL con migración de Laravel

En este post voy a explicar cómo conectar Laravel con MySQL o MariaDB, comenzando por configurar la base de datos, pasando a través de las rutas, repasando el motor de plantillas de Blade y tocando un poco el tema de los mensajes flash.

Al final vamos a tener un CRUD o ABC, en donde se verán las operaciones básicas de Laravel con MySQL: insert o insertar, update o actualizar, select o seleccionar y finalmente delete o eliminar.

(más…)

Conectar a servidor de MySQL sobre Android

Configurar servidor de MySQL o MariaDB en Android para permitir conexiones remotas

Ya estamos aquí con otro tutorial de MySQL con Android usando Termux. En este post veremos cómo permitir conexiones remotas a nuestro dispositivo Android, de esta manera podremos usarlo como servidor de base de datos.

No es nada difícil, solamente asegúrate de saber cómo instalar el servidor, así como iniciarlo y detenerlo; cosa que se explica detalladamente en: Instalar MariaDB en Android con Termux.

Una vez sabiendo eso, comencemos.

(más…)

Like de SQL con PHP y PDO

Búsqueda en MySQL con PHP y PDO: con like y coincidencia exacta

Esta es la tercera parte de los tutoriales sobre cómo consumir una base de datos de MySQL desde PHP usando PDO para ejecutar las consultas.

Puedes ver la primera parte aquí, y la segunda aquí. Lo que nos reúne en esta ocasión es la búsqueda en tablas desde PHP.

Para hacer una búsqueda usando comodines se usará la sentencia LIKE de MySQL, y para buscar de manera exacta un simple where.

(más…)