sql >> Database teknologi >  >> RDS >> Mysql

Sådan gemmer man signatur i MySQL

Relational Database Management Systems (RDBMS) er en tjeneste eller software, der bruges til at oprette og administrere databaser baseret på et relationelt modelskema. Det kan defineres som en open source relationel database ledelsessystem (RDBMS) med en klient-server-model .

Bemærk: For at hjælpe med at forbedre din forståelse af MySQL er nogle af de nøglebegreber, der bruges i artiklen, blevet defineret. Nedenfor er en levende forklaring af de vigtigste begreber, som du skal gøre dig bekendt med:

  • En database; Dette er en samling af organiserede data. Det er et sted, hvor data organiseres og opbevares. Begrebet relationel betyder, at de lagrede data er organiseret i tabeller, der relaterer til hinanden på flere måder. Hvis softwaren ikke understøtter den relationelle datamodel, omtales den som et Database Management System (DBMS) .
  • Åben kildekode: Det kan i enkle vendinger betegnes som noget gratis, og du kan ikke betale eller blive opkrævet for at erhverve det. Også med hensyn til software betyder open source, at den nuværende bruger har friheden til at bruge og ændre den uden begrænsninger. I de fleste tilfælde er open source-software nem at installere, da den ikke indeholder komplekse installationsinstruktioner. Derudover har udviklere, der bruger open source-kildekode, plads til at tilpasse den originale kode, så den passer til deres brug og imødekommer deres behov og præferencer.
  • Klient-servermodel: Computere, der kan installere og køre RDBMS-software, er kendt som klienter. De får adgang til data ved at oprette forbindelse til RDBMS-serveren. Med denne type computer skal en central server distribuere data til flere forskellige arbejdsstationer, der er forbundet i netværk.

MySQL er et af de mest populære Relational Database Management Systems (RDBMS) sammen med MariaDB. Det bruges til datalagring af webapplikationer som Twitter, YouTube, Facebook, Google og Yahoo. MySQL er kompatibel med Linux, macOS, Microsoft Windows og Ubuntu.

Bemærk: MySQL blev skrevet i programmeringssprogene C og C++.

Sådan fungerer MySQL

En eller et par computere (klienter) opretter forbindelse til en server ved hjælp af det samme netværk. Hver klient laver en anmodning fra den grafiske brugergrænseflade (GUI) på deres skærme, og serveren uddeler derefter det ønskede output, hvis begge ender forstår hinanden. Nedenfor er de vigtigste processer, der udføres i Mysql-miljøet:

  1. Oprettelse af databaser, der bruges til at lagre og kontrollere data. Den definerer også relationen mellem hver tabel indeholdt i databasen.
  2. Kunder kan fremsætte anmodninger ved at skrive bestemte SQL-sætninger på MySQL-serveren.
  3. Serverapplikationen svarer derefter ved at levere de anmodede data på klientens side.

Gemmer signaturer med MySQL

Denne artikeltutorial er afhængig af en signaturblok. En signaturblok er et jQuery-plugin, der hjælper med at skabe en HTML5-lærredsbaseret pad. Den gemmer derefter den tegnede signatur i JSON til fremtidig regenerering.

Hurtig start

1. Inkluder jquery.signaturepad.css, flashcanvas.js, jquery.js, jquery.signaturepad.js, json2.js i HTML-filen, som du har, som den, der er givet i eksemplet.

2. Opret HTML'en ved at følge eksemplet (klik på "eksemplet")

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

4. Husk, at de fleste elementer kan konfigureres.

Signatur pad jQuery plugin vil ændre en HTML-formular til en signatur pad med to tilstande:DrawIt og TypeIt. I TypeIt-tilstand genereres brugerens signatur automatisk som HTML-tekst. Den er stylet med @font-face, fra inputfeltet, hvor deres navn er indtastet. I DrawIt-tilstand kan man tegne deres signatur på lærredselementet.

Signaturen, der er blevet tegnet, skrives derefter ud til et skjult inputfelt som et JSON-array ved hjælp af JSON.stringify(). Da signaturen er gemt som JSON, kan den sendes som en del af formularen og opbevares i filen. Signaturen kan derefter genskabes i lærredselementet for at blive vist ved hjælp af JSON-arrayet. Signaturpuden fungerer med enten en mus eller berøringsenhed.

Du kan finde mere om signaturblokken ved at klikke på Signature Pad Documentation.

Få signaturen

Signaturfeltet indsender signaturen og resten af ​​formularen i et skjult inputfelt:

Den nemmeste måde at få signaturen ved hjælp af PHP er med $_POST superglobal.

I PHP er den bedste måde at få information fra en formular på at bruge PHPs filterfunktioner (du kan finde mere om filterfunktionerne ved at besøge det medfølgende link). De tilbyder en sikrere måde at få fat i brugerinput og slippe af med uønsket information. Det er dog ikke sikkert at bruge $_POST-arrayet, og det kan yderligere føre til valideringsfejl. For at toppe det, fører PHP ikke til nogen fejl, hvis du forsøger at få adgang til brugerinput uden at indsende formularen.

Fra lib/save-signature.php:Vi kan bruge filter FILTER_UNSAFE_RAW for den bestemte signatur, fordi vi ønsker at bevare alle oplysningerne i signaturen. For at være mere specifik kan du bruge FILTER_VALIDATE_REGEX.

Validerer signaturen

Den meget sandsynlige måde at validere signaturen på vil omfatte at køre den gennem json_decode() og vente på at fastslå, om den kan afkodes.

Fra lib/save-signature.php:

Bemærk: Du skal validere navnet for at sikre dig, at det korrekte blev indtastet.

Opsætning af databasen

Du skal bruge nogle få oplysninger i databasen for at gemme signaturen. Det er underskriverens navn og underskrift. Det ville være klogt at gemme ret mange oplysninger på signaturen; i det mindste en hash af signaturen, underskriverens IP-adresse og tidspunktet, hvor signaturen blev skrevet. Dette er primært til juridiske formål.

Gemmer i databasen

Efter at alt er blevet valideret, kan vi nu gemme signaturen i databasen. Den enkleste måde er at gemme JSON-repræsentationen af ​​signaturen i databasen. Hvis du vil oprette en fil, der indeholder et fotografi, skal du klikke på tjek, hvordan du konverterer signaturen til et billede.

Den bedste metode er at bruge PHP's PDO (klik på den for at lære mere om den) til at oprette forbindelse til databaser. Ved at vælge PDO:prepare(), vil dette hjælpe dig med at opnå en vis beskyttelse mod SQL-injektionsangreb.

Fra lib/save-signature.php:

Regenerering af signaturen

En af de enkleste metoder til at genskabe signaturen er at bruge PHP til at skrive noget JavaScript på en af ​​dine sider. Når siden indlæses, vil den indeholde en indbygget JavaScript-variabel med de komplette signaturoplysninger og kan bruge Signature Pad til at genskabe billedet.

Ikke desto mindre er MySQL ikke det eneste(R)DBMS på markedet, men det er helt sikkert populært. Det får den høje præference på grund af følgende årsager:

  1. Fleksibilitet og brugervenlighed: Det giver en spillerum til at ændre kildekoden og opfylde dine forventninger, og det bedste er, at dette niveau af frihed er gratis. Dette inkluderer også muligheden for at opgradere til den avancerede kommercielle version. Derudover er installationsprocessen relativt nem, og den tager ikke mere end tredive (30) minutter.
  2. Den tilbyder fremragende ydeevne: MySQL er sikkerhedskopieret af mange klyngeservere, hvilket i bund og grund betyder, at uanset om du gemmer store mængder af store e-handelsdata eller udfører tunge business intelligence-opgaver, vil MySQL tilbyde dig optimal hastighed.
  3. Det er industristandard: I årenes løb har industrier brugt MySQL, som i det væsentlige viser mange ressourcer til dygtige udviklere.
  4. Det er sikkert: Når du vælger den rigtige RDBMS-software, bør dine data være din primære bekymring. MySQL har et Access Privilege System og User Account Management, som sætter sikkerhedsniveauet højt. Det tilbyder også værtsbaseret bekræftelse og adgangskodekryptering.
  5. Skalerbarhed efter behov: MySQL giver plads til at etablere dybt indlejrede apps ved hjælp af et minimalt fodaftryk, inklusive dem i massive varehuse, der rummer terabytes af data.
  6. Omfattende transaktionssupport: MySQL har de førsteklasses robuste ingeniører på markedet. Det er den rigtige løsning for fuldstændig dataintegritet. Den har funktioner såsom multi-version transaktionssupport, langsigtet transaktionssupport samt ubegrænset rækkeniveaulåsning.
  7. Døgnet rundt oppetid: MySQL giver en 24/7 oppetid samt en bred vifte af løsninger med høj tilgængelighed som master/slave-replikeringskonfigurationer.

Konklusion

Sammenfattende giver denne artikel dig en udførlig forklaring af MySQL. Den indeholder yderligere links, hvorigennem du kan få yderligere information om det nævnte emne, og alt du skal gøre er at klikke på de angivne links. Ud over alt det, tilbyder denne artikel dig en nem procedure, hvorigennem du kan gemme en signatur i MySQL.

Denne artikel giver yderligere et link, der forklarer, hvordan man kan konvertere signaturen til et billede. Den indeholder underoverskrifter, der guider dig til at forstå begivenhedernes trin-for-trin flow. Desuden kan du finde en kort forklaring på, hvordan MySQL fungerer, samt årsagerne til, hvorfor MySQL er et godt valg, bare hvis du tænkte på at droppe det (pun intended).


  1. Sådan undgår du, at aktivitetsmonitor skader din SQL-servers ydeevne

  2. Generer et resultatsæt af stigende datoer i TSQL

  3. Sådan bestemmes MySQL-versionen

  4. [Video] Introduktion til JSON-datatyper i PostgreSQL