Mysql
 sql >> Datenbank >  >> RDS >> Mysql

So speichern Sie Signaturen in MySQL

Relationale Datenbankverwaltungssysteme (RDBMS) sind ein Dienst oder eine Software zum Erstellen und Verwalten von Datenbanken auf der Grundlage eines relationalen Modellschemas. Es kann als Open Source definiert werden relationale Datenbank Verwaltungssystem (RDBMS) mit einem Client-Server-Modell .

Hinweis: Um Ihr Verständnis von MySQL zu verbessern, wurden einige der Schlüsselbegriffe definiert, die im gesamten Artikel verwendet werden. Nachfolgend finden Sie eine anschauliche Erklärung der Schlüsselbegriffe, mit denen Sie sich vertraut machen müssen:

  • Eine Datenbank; Dies ist eine Sammlung organisierter Daten. Es ist ein Ort, an dem Daten organisiert und gespeichert werden. Der Begriff relational bedeutet, dass die gespeicherten Daten in Tabellen organisiert sind, die auf verschiedene Weise miteinander in Beziehung stehen. Wenn die Software das relationale Datenmodell nicht unterstützt, wird sie als Datenbankmanagementsystem (DBMS) bezeichnet .
  • Open-Source: Es kann in einfachen Worten als etwas Kostenlos bezeichnet werden, und Sie können es nicht bezahlen oder bezahlen, um es zu erwerben. Auch in Bezug auf Software bedeutet Open Source, dass der aktuelle Benutzer die Freiheit hat, sie ohne Einschränkungen zu verwenden und zu modifizieren. In den meisten Fällen ist Open-Source-Software einfach zu installieren, da sie keine komplexen Installationsanweisungen enthält. Darüber hinaus haben Entwickler, die Open-Source-Code verwenden, die Möglichkeit, den Originalcode an ihre Verwendung anzupassen und ihre Bedürfnisse und Vorlieben zu berücksichtigen.
  • Client-Server-Modell: Computer, die RDBMS-Software installieren und ausführen können, werden als Clients bezeichnet. Sie greifen auf Daten zu, indem sie sich mit dem RDBMS-Server verbinden. Bei dieser Art von Rechnern muss ein zentraler Server Daten an mehrere miteinander vernetzte Arbeitsstationen verteilen.

MySQL ist neben MariaDB eines der beliebtesten relationalen Datenbankmanagementsysteme (RDBMS). Es wird zur Datenspeicherung von Webanwendungen wie Twitter, YouTube, Facebook, Google und Yahoo verwendet. MySQL ist mit Linux, macOS, Microsoft Windows und Ubuntu kompatibel.

Hinweis: MySQL wurde in den Programmiersprachen C und C++ geschrieben.

So funktioniert MySQL

Ein oder mehrere Computer (Clients) verbinden sich über dasselbe Netzwerk mit einem Server. Jeder Client stellt eine Anfrage von der grafischen Benutzeroberfläche (GUI) auf seinen Monitoren, und der Server verteilt dann die gewünschte Ausgabe nur, wenn beide Seiten einander verstehen. Nachfolgend sind die Hauptprozesse aufgeführt, die in der Mysql-Umgebung ausgeführt werden:

  1. Erstellen von Datenbanken, die zum Speichern und Kontrollieren von Daten verwendet werden. Es definiert auch die Beziehung jeder Tabelle, die in der Datenbank enthalten ist.
  2. Clients können Anfragen stellen, indem sie bestimmte SQL-Anweisungen auf dem MySQL-Server eingeben.
  3. Die Serveranwendung antwortet dann, indem sie die angeforderten Daten auf der Seite des Clients bereitstellt.

Speichern von Signaturen mit MySQL

Dieses Artikel-Tutorial basiert auf einem Unterschriften-Pad. Ein Signaturpad ist ein jQuery-Plug-in, das bei der Erstellung eines HTML5-Canvas-basierten Pads hilft. Anschließend wird die gezeichnete Signatur in JSON für die zukünftige Neugenerierung gespeichert.

Schnellstart

1. Fügen Sie jquery.signaturepad.css, flashcanvas.js, jquery.js, jquery.signaturepad.js, json2.js in die HTML-Datei ein, die Sie haben, wie im bereitgestellten Beispiel.

2. Erstellen Sie den HTML-Code gemäß dem angegebenen Beispiel (klicken Sie auf „das Beispiel“)

3. (‘.sigPad’).signaturePad();

4. Denken Sie daran, dass die meisten Elemente konfiguriert werden können.

Das Signaturpad-jQuery-Plugin verwandelt ein HTML-Formular in ein Signaturpad mit zwei Modi:DrawIt und TypeIt. Im TypeIt-Modus wird die Signatur des Benutzers automatisch als HTML-Text generiert. Es wird mit @font-face gestylt, aus dem Eingabefeld, in das ihr Name eingegeben wird. Im DrawIt-Modus kann man ihre Signatur auf das Canvas-Element zeichnen.

Die gezeichnete Signatur wird dann mittels JSON.stringify() als JSON-Array in ein verstecktes Eingabefeld geschrieben. Da die Signatur als JSON gespeichert wird, kann sie als Teil des Formulars gesendet und gespeichert werden. Die Signatur kann dann mithilfe des JSON-Arrays in das anzuzeigende Canvas-Element neu generiert werden. Das Unterschriftenpad funktioniert entweder mit einer Maus oder einem Touch-Gerät.

Weitere Informationen zum Unterschriftenpad finden Sie unter Dokumentation zum Unterschriftenpad.

Signatur erhalten

Das Unterschriftenpad übermittelt die Unterschrift und den Rest der Formularübermittlung in einem versteckten Eingabefeld:

Der einfachste Weg, die Signatur mit PHP zu erhalten, ist mit dem superglobalen $_POST.

In PHP ist der beste Weg, Informationen aus einem Formular zu erhalten, die Filterfunktionen von PHP zu verwenden (mehr über die Filterfunktionen finden Sie unter dem angegebenen Link). Sie bieten eine sicherere Möglichkeit, Benutzereingaben zu erfassen und unerwünschte Informationen loszuwerden. Die Verwendung des Arrays $_POST ist jedoch nicht sicher und kann außerdem zu Validierungsfehlern führen. Um das Ganze abzurunden, führt PHP zu keinen Fehlern, wenn Sie versuchen, auf die Benutzereingabe zuzugreifen, ohne das Formular abzusenden.

Aus lib/save-signature.php:Wir können den Filter FILTER_UNSAFE_RAW für die jeweilige Signatur verwenden, da wir alle in der Signatur enthaltenen Informationen beibehalten möchten. Um genauer zu sein, können Sie FILTER_VALIDATE_REGEX verwenden.

Validieren der Signatur

Der höchstwahrscheinliche Weg, die Signatur zu validieren, würde darin bestehen, sie durch json_decode() laufen zu lassen und abzuwarten, ob sie decodiert werden kann.

Von lib/save-signature.php:

Hinweis: Sie müssen den Namen validieren, um sicherzustellen, dass der richtige eingegeben wurde.

Datenbank einrichten

Zum Speichern der Signatur benötigen Sie einige Angaben auf der Datenbank. Das ist der Name des Unterzeichners und die Unterschrift. Es wäre ratsam, ziemlich viele Informationen in der Signatur zu speichern; zumindest ein Hash der Unterschrift, die IP-Adresse des Unterzeichners und die Zeit, zu der die Unterschrift geschrieben wurde. Dies dient hauptsächlich rechtlichen Zwecken.

Speichern in der Datenbank

Nachdem alles validiert wurde, können wir nun die Signatur in der Datenbank speichern. Am einfachsten ist es, die JSON-Darstellung der Signatur in der Datenbank zu hinterlegen. Wenn Sie eine Datei erstellen möchten, die ein Foto enthält, klicken Sie auf Sehen Sie sich an, wie man die Signatur in ein Bild umwandelt.

Die beste Methode ist die Verwendung von PHPs PDO (klicken Sie darauf, um mehr darüber zu erfahren), um eine Verbindung zu Datenbanken herzustellen. Indem Sie sich für PDO:prepare() entscheiden, hilft Ihnen dies dabei, einen gewissen Schutz vor SQL-Injection-Angriffen zu erlangen.

Von lib/save-signature.php:

Erneuerung der Signatur

Eine der einfachsten Methoden, um die Signatur neu zu generieren, besteht darin, PHP zu verwenden, um etwas JavaScript auf einer Ihrer Seiten zu schreiben. Wenn die Seite geladen wird, enthält sie eine native JavaScript-Variable mit den vollständigen Signaturinformationen und kann das Signaturpad verwenden, um das Bild neu zu generieren.

Nichtsdestotrotz ist MySQL nicht das einzige (R)DBMS auf dem Markt, aber es ist sehr beliebt. Es erhält aus folgenden Gründen die hohe Präferenz:

  1. Flexibilität und Benutzerfreundlichkeit: Es gibt einem den Spielraum, den Quellcode zu modifizieren und an Ihre Erwartungen anzupassen, und das Beste daran ist, dass diese Freiheit kostenlos ist. Dazu gehört auch die Option zum Upgrade auf die erweiterte kommerzielle Version. Darüber hinaus ist der Installationsprozess relativ einfach und dauert nicht länger als dreißig (30) Minuten.
  2. Er bietet hervorragende Leistung: MySQL wird von vielen Cluster-Servern gesichert, was im Wesentlichen bedeutet, dass MySQL Ihnen optimale Geschwindigkeit bietet, egal ob Sie große Mengen an E-Commerce-Daten speichern oder umfangreiche Business-Intelligence-Aufgaben ausführen.
  3. Es ist Industriestandard: Im Laufe der Jahre haben Branchen MySQL verwendet, was im Wesentlichen viele Ressourcen für erfahrene Entwickler zeigt.
  4. Es ist sicher: Bei der Auswahl der richtigen RDBMS-Software sollten Ihre Daten Ihr Hauptanliegen sein. MySQL verfügt über ein Zugriffsprivilegsystem und eine Benutzerkontenverwaltung, die seine Sicherheitsmesslatte hoch legt. Es bietet auch Host-basierte Verifizierung und Passwortverschlüsselung.
  5. Skalierbarkeit nach Bedarf: MySQL bietet Platz für tief eingebettete Anwendungen mit minimalem Platzbedarf, einschließlich solcher in riesigen Warenhäusern, die Terabytes an Daten beherbergen.
  6. Umfassende Transaktionsunterstützung: MySQL verfügt über die besten robusten Ingenieure auf dem Markt. Es ist die Lösung der Wahl für vollständige Datenintegrität. Es verfügt über Funktionen wie Multi-Versions-Transaktionsunterstützung, langfristige Transaktionsunterstützung sowie uneingeschränktes Sperren auf Zeilenebene.
  7. Betriebszeit rund um die Uhr: MySQL bietet eine 24/7-Betriebszeit sowie eine große Auswahl an Hochverfügbarkeitslösungen wie Master/Slave-Replikationskonfigurationen.

Schlussfolgerung

Zusammenfassend gibt Ihnen dieser Artikel eine ausführliche Erklärung von MySQL. Es enthält außerdem Links, über die Sie weitere Informationen zu dem genannten Thema erhalten können, und alles, was Sie tun müssen, ist auf die bereitgestellten Links zu klicken. Darüber hinaus bietet Ihnen dieser Artikel ein einfaches Verfahren, mit dem Sie eine Signatur in MySQL speichern können.

Dieser Artikel enthält außerdem einen Link, der erklärt, wie man die Signatur in ein Bild umwandeln kann. Es enthält Unterüberschriften, die Sie dabei unterstützen, den Ablauf der Ereignisse Schritt für Schritt zu verstehen. Darüber hinaus finden Sie eine kurze Erklärung, wie MySQL funktioniert, sowie die Gründe, warum MySQL eine gute Wahl ist, falls Sie daran denken, es fallen zu lassen (Wortspiel beabsichtigt).