sql >> Base de Datos >  >> RDS >> Mysql

Cómo guardar la firma en MySQL

Los sistemas de administración de bases de datos relacionales (RDBMS) son un servicio o software que se utiliza para crear y administrar bases de datos basadas en un esquema de modelo relacional. Se puede definir como un código abierto base de datos relacional sistema de gestión (RDBMS) con un modelo cliente-servidor .

Nota: Para ayudar a mejorar su comprensión de MySQL, se han definido algunos de los términos clave que se utilizan en todo el artículo. A continuación se muestra una explicación vívida de los términos clave con los que debe familiarizarse:

  • Una base de datos; Esta es una colección de datos organizados. Es un lugar donde se organizan y almacenan los datos. El término relacional significa que los datos almacenados se organizan en tablas que se relacionan entre sí de varias formas. Si el software no es compatible con el modelo de datos relacionales, se denomina Sistema de gestión de base de datos (DBMS) .
  • Código abierto: Se puede denominar en términos simples como algo gratuito, y no se puede pagar ni cobrar por adquirirlo. Además, en términos de software, código abierto significa que el usuario actual tiene la libertad de usarlo y modificarlo sin restricciones. En la mayoría de las ocasiones, el software de código abierto es fácil de instalar ya que no contiene instrucciones de instalación complejas. Además, los desarrolladores que usan código fuente de código abierto tienen espacio para personalizar el código original para que se ajuste a su uso y se adapte a sus necesidades y preferencias.
  • Modelo cliente-servidor: Las computadoras que pueden instalar y ejecutar software RDBMS se conocen como clientes. Acceden a los datos conectándose al servidor RDBMS. Con este tipo de computadora, un servidor central debe distribuir datos a varias estaciones de trabajo diferentes conectadas en red.

MySQL es uno de los sistemas de administración de bases de datos relacionales (RDBMS) más populares junto con MariaDB. Se utiliza para el almacenamiento de datos por parte de aplicaciones web como Twitter, YouTube, Facebook, Google y Yahoo. MySQL es compatible con Linux, macOS, Microsoft Windows y Ubuntu.

Nota: MySQL fue escrito en lenguajes de programación C y C++.

Cómo funciona MySQL

Una o varias computadoras (clientes) se conectan a un servidor usando la misma red. Cada cliente realiza una solicitud desde la interfaz gráfica de usuario (GUI) en sus monitores, y el servidor luego distribuye el resultado deseado solo si ambos extremos se entienden. A continuación se detallan los principales procesos realizados en el entorno Mysql:

  1. Crear bases de datos que se utilizan para almacenar y controlar datos. También define la relación de cada tabla contenida en la base de datos.
  2. Los clientes pueden realizar solicitudes escribiendo sentencias SQL particulares en el servidor MySQL.
  3. La aplicación del servidor luego responde proporcionando los datos solicitados en el lado del cliente.

Guardar firmas con MySQL

El tutorial de este artículo se basa en un pad de firma. Un pad de firma es un complemento de jQuery que ayuda en la creación de un pad basado en lienzo HTML5. Luego guarda la firma dibujada en JSON para futuras regeneraciones.

Inicio rápido

1. Incluya jquery.signaturepad.css, flashcanvas.js, jquery.js, jquery.signaturepad.js, json2.js en el archivo HTML que tiene, como el que se proporciona en el ejemplo proporcionado.

2. Cree el HTML siguiendo el ejemplo dado (haga clic en "el ejemplo")

3. ('.sigPad').signaturePad();

4. Recuerda que la mayoría de los elementos se pueden configurar.

El complemento jQuery del panel de firmas cambiará un formulario HTML en un panel de firmas con dos modos:DrawIt y TypeIt. En el modo TypeIt, la firma del usuario se genera automáticamente como texto HTML. Tiene un estilo con @font-face, desde el campo de entrada donde se escribe su nombre. En el modo DrawIt, uno puede dibujar su firma en el elemento del lienzo.

La firma que se dibujó luego se escribe en un campo de entrada oculto como una matriz JSON usando JSON.stringify(). Dado que la firma se guarda como JSON, puede enviarse como parte del formulario y mantenerse en el archivo. Luego, la firma se puede regenerar en el elemento de lienzo para que se muestre mediante la matriz JSON. El panel de firmas funcionará con un mouse o un dispositivo táctil.

Puede encontrar más información sobre el pad de firma haciendo clic en Documentación del pad de firma.

Obtener la firma

El panel de firmas enviará la firma y el resto del envío del formulario dentro de un campo de entrada oculto:

La forma más sencilla de obtener la firma usando PHP es con $_POST superglobal.

En PHP, la mejor manera de obtener información de un formulario es usando las funciones de filtro de PHP (puede encontrar más información sobre las funciones de filtro visitando el enlace proporcionado). Ofrecen una forma más segura de captar la entrada del usuario y deshacerse de la información no deseada. Sin embargo, el uso de la matriz $_POST no es seguro y puede generar errores de validación. Para colmo, PHP no genera ningún error si intenta acceder a la entrada del usuario sin enviar el formulario.

Desde lib/save-signature.php:podemos usar el filtro FILTER_UNSAFE_RAW para la firma en particular porque queremos mantener toda la información provista en la firma. Para que seas más específico, puedes usar FILTER_VALIDATE_REGEX.

Validación de la firma

La forma altamente probable de validar la firma incluiría ejecutarla a través de json_decode() y esperar para determinar si se puede decodificar.

Desde lib/save-signature.php:

Nota: Debe validar el nombre para asegurarse de que se ingresó el correcto.

Configuración de la base de datos

Necesita algunos datos en la base de datos para almacenar la firma. Ese es el nombre del firmante y la firma. Sería prudente almacenar bastante información en la firma; como mínimo, un hash de la firma, la dirección IP del firmante y la hora en que se escribió la firma. Esto es principalmente para fines legales.

Guardando en la base de datos

Después de que todo haya sido validado, ahora podemos guardar la firma en la base de datos. La forma más sencilla es almacenar la representación JSON de la firma en la base de datos. Si desea crear un archivo que contenga una fotografía, haga clic en ver cómo convertir la firma en una imagen.

El mejor método es usar el PDO de PHP (haga clic en él para obtener más información al respecto) para conectarse a las bases de datos. Al optar por PDO:prepare(), esto lo ayudará a obtener cierta protección contra los ataques de inyección SQL.

Desde lib/save-signature.php:

Regenerando la firma

Uno de los métodos más simples para regenerar la firma es usar PHP para escribir algo de JavaScript en cualquiera de sus páginas. Cuando se cargue la página, contendrá una variable nativa de JavaScript con la información completa de la firma y podrá usar Signature Pad para regenerar la imagen.

No obstante, MySQL no es el único (R) DBMS en el mercado, pero sin duda es popular. Obtiene la preferencia alta debido a las siguientes razones:

  1. Flexibilidad y facilidad de uso: Le da a uno el margen de maniobra para modificar el código fuente y satisfacer sus expectativas, y la mejor parte es que este nivel de libertad es gratuito. Esto también incluye la opción de actualizar a la versión comercial avanzada. Además, el proceso de instalación es relativamente fácil y no lleva más de treinta (30) minutos.
  2. Ofrece un rendimiento excelente: MySQL está respaldado por muchos servidores de clúster, lo que esencialmente significa que ya sea que almacene grandes cantidades de datos de comercio electrónico o lleve a cabo tareas pesadas de inteligencia empresarial, MySQL le ofrecerá una velocidad óptima.
  3. Es estándar de la industria: A lo largo de los años, las industrias han estado usando MySQL, que esencialmente muestra muchos recursos para desarrolladores expertos.
  4. Es seguro: Al elegir el software RDBMS correcto, sus datos deben ser su principal preocupación. MySQL tiene un Sistema de Privilegios de Acceso y Gestión de Cuentas de Usuario que pone su listón de seguridad muy alto. También ofrece verificación basada en host y encriptación de contraseñas.
  5. Escalabilidad bajo demanda: MySQL brinda espacio para establecer aplicaciones profundamente integradas utilizando un espacio mínimo, incluidas aquellas en almacenes masivos que albergan terabytes de datos.
  6. Completo soporte transaccional: MySQL tiene los mejores ingenieros robustos del mercado. Es la resolución de referencia para la integridad completa de los datos. Tiene características tales como compatibilidad con transacciones de múltiples versiones, compatibilidad con transacciones a largo plazo y bloqueo de nivel de fila sin restricciones.
  7. Tiempo de actividad las 24 horas: MySQL proporciona un tiempo de actividad las 24 horas del día, los 7 días de la semana, así como una amplia gama de soluciones de alta disponibilidad, como configuraciones de replicación maestro/esclavo.

Conclusión

En resumen, este artículo le brinda una explicación detallada de MySQL. Además, proporciona enlaces a través de los cuales puede obtener más información sobre el tema mencionado, y todo lo que necesita hacer es hacer clic en los enlaces proporcionados. Además de todo eso, este artículo le ofrece un procedimiento sencillo a través del cual puede guardar una firma en MySQL.

Este artículo proporciona además un enlace que explica cómo se puede convertir la firma en una imagen. Contiene subtítulos que lo guían para comprender el flujo de eventos paso a paso. Además, puede encontrar una breve explicación de cómo funciona MySQL, así como las razones por las que MySQL es una excelente opción en caso de que esté pensando en deshacerse de él (juego de palabras).