Yksinkertaisen käyttäjärekisteröintijärjestelmän luominen PHP:ssä ja MySQL:ssä. Uskomattoman yksinkertaisen PHP- ja MySQL-rekisteröintijärjestelmän rakentaminen PHP-rekisteröintisivulle

Reg.ru: verkkotunnukset ja hosting

Venäjän suurin rekisterinpitäjä ja hosting-palvelujen tarjoaja.

Yli 2 miljoonaa verkkotunnusta käytössä.

Mainoskampanja, sähköposti verkkotunnukselle, ratkaisut yrityksille.

Yli 700 tuhatta asiakasta ympäri maailmaa on jo tehnyt valintansa.

*Voit keskeyttää vierityksen.

Takaisin eteenpäin

Yksinkertaisen käyttäjärekisteröintijärjestelmän luominen PHP:ssä ja MySQL:ssä

Rekisteröintijärjestelmän luominen on paljon työtä. Sinun on kirjoitettava koodi, joka vahvistaa sähköpostiosoitteet, lähettää rekisteröintivahvistussähköpostin, vahvistaa loput lomakekentät ja paljon muuta.

Ja vaikka olet kirjoittanut kaiken tämän, käyttäjät ovat haluttomia rekisteröitymään, koska. se vaatii heiltä vaivaa.

Tässä opetusohjelmassa luomme hyvin yksinkertaisen kirjautumisjärjestelmän, joka ei vaadi tai tallenna salasanoja ollenkaan! Tulosta on helppo muokata ja lisätä jo olemassa olevaan PHP-sivustoon. Haluatko tietää, miten se toimii? Lue alla.



Super yksinkertainen järjestelmämme toimisi seuraavasti:

Yhdistämme valtuutuslomakkeen ja ilmoittautumisen. Tässä lomakkeessa on kenttä sähköpostiosoitteen ja rekisteröintipainikkeen syöttämistä varten;
- Kun täytät kenttää sähköpostiosoitteella, rekisteröidy-painiketta painamalla luodaan tietue uudesta käyttäjästä, mutta vain, jos syötettyä sähköpostiosoitetta ei löydy tietokannasta.

Sen jälkeen luodaan tietty satunnainen yksilöllinen merkkijoukko (token), joka lähetetään käyttäjän määrittelemään sähköpostiin linkin muodossa, joka on merkityksellinen 10 minuuttia;
- Klikkaamalla linkkiä käyttäjä siirtyy verkkosivuillemme. Järjestelmä määrittää tunnuksen olemassaolon ja valtuuttaa käyttäjän;

Tämän lähestymistavan edut:

Ei tarvitse tallentaa salasanoja ja vahvistaa kenttiä;
- Ei tarvetta salasanan palautukseen, salaisia ​​kysymyksiä jne.;
- Siitä hetkestä lähtien, kun käyttäjä on rekisteröitynyt/kirjautunut sisään, voit aina olla varma, että tämä käyttäjä on pääsyvyöhykkeelläsi (että sähköpostiosoite on oikea);
- Uskomattoman yksinkertainen rekisteröintiprosessi;

Virheet:

Käyttäjätilin suojaus. Jos jollakin on pääsy käyttäjän sähköpostiin, hän voi kirjautua sisään.
- Sähköposti ei ole suojattu ja se voidaan siepata. Muista, että tämä kysymys on tärkeä myös silloin, kun salasana on unohtunut ja se on palautettava, tai missä tahansa valtuutusjärjestelmässä, joka ei käytä HTTPS:ää tiedonsiirtoon (sisäänkirjautuminen / salasana);
- Niin kauan kuin määrität sähköpostipalvelimen tarpeen mukaan, on mahdollista, että valtuutuslinkkejä sisältävät viestit päätyvät roskapostiin;

Vertaamalla järjestelmämme etuja ja haittoja voidaan todeta, että järjestelmällä on korkea käytettävyys (maksimaalinen käyttömukavuus loppukäyttäjälle) ja samalla alhainen turvallisuusindikaattori.

Siksi sitä ehdotetaan käytettäväksi rekisteröitymiseen foorumeilla ja palveluissa, jotka eivät toimi tärkeiden tietojen kanssa.

Kuinka käyttää tätä järjestelmää

Jos sinun on vain käytettävä järjestelmää käyttäjien valtuuttamiseksi sivustollesi, etkä halua purkaa tätä oppituntia, sinun on tehtävä seuraava:

Sinun on ladattava oppitunnin liitteenä olevat lähdetiedostot
- Etsi arkistosta tables.sql-tiedosto, joka tuodaan tietokantaan phpMyAdminin tuontitoiminnolla. Vaihtoehtoinen tapa: avaa tämä tiedosto tekstieditorilla, kopioi SQL-kysely ja suorita se;
- Avaa include/main.php ja täytä tietokantaan yhdistämisen asetukset (määritä tietokantaan yhdistämisen käyttäjä ja salasana sekä tietokannan isäntä ja nimi). Samassa tiedostossa on myös määritettävä sähköpostiosoite, jota käytetään järjestelmän lähettämien viestien alkuperäisenä osoitteena. Jotkut isännät estävät lähtevät sähköpostit, kunnes lomake näyttää oikean sähköpostiosoitteen, joka on luotu isännän ohjauspaneelista, joten anna oikea osoite.
- Lataa kaikki index.php , Protected.php -tiedostot ja -resurssit sekä kansiot FTP:n kautta isäntään;
- Lisää alla oleva koodi jokaiselle PHP-sivulle, jolla haluat näyttää valtuutuslomakkeen;

Require_once "includes/main.php"; $käyttäjä = uusi käyttäjä(); if(!$user->loggedIn())( redirect("index.php"); )
- Valmiina!

Niille, jotka ovat kiinnostuneita kuinka se kaikki toimii, lue alla!

Ensimmäinen vaihe on HTM-koodin kirjoittaminen valtuutuslomakkeelle. Tämä koodi sijaitsee index.php-tiedostossa. Tämä tiedosto sisältää myös PHP-koodin, joka käsittelee lomaketietoja ja muita hyödyllisiä valtuutusjärjestelmän ominaisuuksia. Saat lisätietoja tästä alla olevasta PHP-koodin tarkistusosiosta.

index.php

Opetusohjelma: Super yksinkertainen rekisteröintijärjestelmä PHP- ja MySQL-kirjautumisella tai rekisteröinnillä

Kirjoita sähköpostiosoitteesi yllä niin lähetämme
kirjautumislinkkisi.

Kirjaudu / Rekisteröidy

Pääosaan (tunnisteiden ja väliin) sisällytin tärkeimmät tyylit (niitä ei käsitellä tässä opetusohjelmassa, joten voit nähdä ne itse.varat/css/style.css-kansio). Ennen sulkevaa tagia sisällytin jQuery-kirjaston ja script.js-tiedoston, jotka kirjoitamme ja analysoimme alla.


JavaScript

jQuery pitää kirjaa "Rekisteröidy/Kirjaudu" -painikkeen tilasta toiminnolla e.preventDefault() ja lähettää AJAX-pyyntöjä. Palvelimen vastauksesta riippuen näyttää tietyn viestin ja määrittää lisätoimenpiteet /

property/js/script.js

$(function()( var form = $("#login-register"); form.on("lähetä", function(e)( if(form.is(.loading, .loggedIn"))( return false ; ) var email = form.find("syöte").val(), messageHolder = form.find("span"); e.preventDefault(); $.post(this.action, (sähköposti: sähköposti), funktio (m)( if(m.error)( form.addClass("virhe"); messageHolder.text(m.message); ) else( form.removeClass("error").addClass("loggedIn"); messageHolder. text(m.message); ) )); )); $(dokumentti).ajaxStart(function()( form.addClass("lataus"); )); $(dokumentti).ajaxComplete(function()( muoto. removeClass("ladataan"); )); ));

lisättiin lomakkeeseen näyttämään AJAX-pyynnön nykyinen tila (tämä oli mahdollista menetelmien ansiosta ajaxStart()) Ja ajaxComplete(), jonka löydät tiedoston lopusta).

Tämä luokka näyttää pyörivän animoidun gif-tiedoston (ikään kuin vihjaisi meille, että pyyntöä käsitellään), ja se toimii myös lippuna, joka estää lomakkeen uudelleen lähettämisen (kun rekisteröintipainiketta on jo klikattu kerran). .loggedIn-luokka on toinen lippu - asetettu sähköpostin lähetyshetkellä. Tämä lippu estää välittömästi kaikki muut lomakkeen toiminnot.

Tietokantakaavio

Uskomattoman yksinkertainen lokijärjestelmämme käyttää kahta MySQL-taulukkoa (SQL-koodi on tables.sql-tiedostossa). Ensimmäinen tallentaa tietoja käyttäjätileistä. Toinen tallentaa tiedot kirjautumisyritysten määrästä.


Käyttäjätaulukkokaavio.

Järjestelmä ei käytä salasanoja, mikä näkyy kaaviossa. Siinä näet myös token-sarakkeen, jonka tunnukset ovat token_validity-sarakkeen vieressä. Tunnus asetetaan heti, kun käyttäjä muodostaa yhteyden järjestelmään, asettaa sähköpostinsa lähettämään viestin (hieman lisää tästä seuraavassa lohkossa). Token_validity-sarake asettaa ajan 10 minuuttia myöhemmäksi, jonka jälkeen token ei ole enää voimassa.


Taulukkoskeema, joka laskee valtuutusyritysten määrän.

Molemmissa taulukoissa IP-osoite on tallennettu käsitellyssä muodossa ip2long-funktion avulla kokonaislukukenttään.

Nyt voimme kirjoittaa PHP-koodia. Järjestelmän päätoiminnot on määritetty User.class.php-luokkaan, jonka näet alta.

Tämä luokka käyttää aktiivisesti idormia (docs), nämä kirjastot ovat vähimmäistyökaluja tietokantojen kanssa työskentelyyn. Se hoitaa tietokannan pääsyn, tunnuksen luomisen ja validoinnin. Se on yksinkertainen käyttöliittymä, jonka avulla rekisteröintijärjestelmän liittäminen sivustoosi on helppoa, jos se käyttää PHP:tä.

user.class.php

Luokan käyttäjä( // Private ORM case . Tämä on se jota etsit tunnisteella * @return User. Palauta User-funktion arvo */ julkinen staattinen funktio findByToken($token)( // etsi merkki tietokannasta ja varmista, että oikea aikaleima on asetettu $ tulos = ORM::for_table("reg_users") ->where ("tunnus", $tunnus) ->where_raw("token_validity > NOW()") ->find_one(); if(!$tulos)( return false; ) return new User($result); ) /** * Valtuuta tai rekisteröi käyttäjä * @param string $sähköposti.Käyttäjän sähköpostiosoite * @return User */ julkinen staattinen funktio loginOrRegister($email)( // Jos tällainen käyttäjä on jo olemassa, palauttaa User-funktion arvon määritetystä sähköpostiosoitteesta, joka on tallennettu tietokantaan if(User::exists($email))( return new User($email); ) // Muussa tapauksessa luo uusi käyttäjä tietokanta ja palauttaa User::create-funktion arvon määritetystä sähköpostista return User::create($email ); ) /** * Luo uusi käyttäjä ja tallenna tietokantaan * @param string $sähköposti. Käyttäjän sähköpostiosoite * @return User */ yksityinen staattinen funktio create($email)( // Rekisteröi uusi käyttäjä ja palauta User-funktion tulos näistä arvoista>$result = ORM::for_table("reg_users")- >luo(); $tulos->sähköposti = $sähköposti; $tulos->tallenna(); return new User($result); ) /** * Tarkista onko tietokannassa tällainen käyttäjä ja palauta looginen arvo muuttuja * @param merkkijono $sähköposti. Käyttäjän sähköpostiosoite * @return boolean */ julkinen staattinen funktio on olemassa($email)( // Onko käyttäjä olemassa tietokannassa? $result = ORM::for_table("reg_users") ->where("email", $email ) ->count(); return $result == 1; ) /** * Luo uusi käyttäjäobjekti * @param ilmentymä $param ORM , id, email or 0 * @return User */ julkinen funktio __construct($param = null) ( if($param instanceof ORM)( // ORM-tarkistus läpäissyt $this->orm = $param; ) else if(is_string($param))( // Sähköpostin tarkistus läpäissyt $this->orm = ORM:: for_table ("reg_users") ->where("email", $param) ->find_one(); ) else( $id = 0; if(on_numeric($param))( // $param-muuttujan arvo on välitetty käyttäjätunnukselle $id = $param; ) else if(isset($_SESSION["loginid"]))( // Muussa tapauksessa katso istunto $id = $_SESSION["loginid"]; ) $this->orm = ORM::for_table( "reg_users") ->where("id", $id) ->find_one(); ) ) /** * Luo uusi SHA1-valtuutustunnus, kirjoita se tietokantaan ja palauta sen arvo * @ return string */ public function generateToken( )( // Luo tunnus valtuutetulle käyttäjälle ja tallenna se tietokantaan $token = sha1($this->email.time().rand(0, 1000000)); // Tallenna merkki tietokantaan // Ja merkitse se voimassa olevaksi vain seuraavat 10 minuuttia $this->orm->set("token", $token); $this->orm->set_expr("token_validity", "ADDTIME(NOW(),"0:10")"); $this->orm->tallenna(); palauttaa $tunnus; ) /** * Valtuuta käyttäjä * @return void */ public function login()( // Merkitse käyttäjä kirjautuneeksi sisään $_SESSION["loginid"] = $this->orm->id; // Päivitä arvo last_login-tietokantakentästä $this->orm->set_expr("viimeinen_kirjautuminen", "NOW()"); $this->orm->save(); ) /** * Tuhoa istunto ja kirjaudu ulos käyttäjästä * @return void */ julkinen funktio uloskirjautuminen ()( $_SESSION = array(); unset($_SESSION); ) /** * Tarkista onko käyttäjä kirjautunut sisään * @return boolean */ public function loggedIn()( return isset($ this->orm->id) && $_SESSION["loginid"] == $this->orm->id; ) /** * Tarkista, onko käyttäjä järjestelmänvalvoja * @return boolean */ julkinen funktio isAdmin() ( return $this->rank() = = "järjestelmänvalvoja"; ) /** * Etsi käyttäjätyyppi, voi olla joko ylläpitäjä tai tavallinen * @return string */ julkinen funktio rank()( if($this->orm- >rank == 1)( return "administrator "; ) return "tavallinen"; ) /** * Menetelmä, jonka avulla voit saada käyttäjän yksityiset tiedot *Käyttäjäobjektin ominaisuuksina * @param string $key Nimi ominaisuus, joka saa käyttöoikeuden * @return sekoitettu */ julkinen funktio __get($key)( if(isset($this->orm->$key))( return $this->orm->$key; ) palauttaa null; ) )

Tokenit luodaan SHA1-algoritmilla ja tallennetaan tietokantaan. Käytän MySQL:n aikafunktioita asettaakseni 10 minuutin tunnuksen vanhentumisrajan.

Kun token läpäisee vahvistusprosessin, kerromme suoraan käsittelijälle, että harkitsemme vain token_validity-sarakkeeseen tallennettuja tokeneja, jotka eivät ole vielä vanhentuneet.

Huomaa, että käytän taikamenetelmää __saada docs-kirjasto tiedoston lopussa siepatakseen pääsyn User-objektin ominaisuuksiin.

Tämä mahdollistaa pääsyn tietokantaan tallennettuihin tietoihin käyttämällä $user->email-, $user->token- ja muita ominaisuuksia. Seuraavassa koodinpätkässä tarkastellaan näiden luokkien käyttöä esimerkkinä.


Suojattu sivu

Toinen tiedosto, joka tallentaa hyödyllisiä ja tarpeellisia toimintoja, on functions.php-tiedosto. Täällä on useita ns. auttajia - aputoimintoja, joiden avulla voit luoda puhtaampaa ja luettavampaa koodia muihin tiedostoihin.

Functions.php

Funktio send_email($lähettäjä, $vastaanottaja, $aihe, $viesti)( // Apulainen, joka lähettää sähköpostia $headers = "MIME-versio: 1.0" . "\r\n"; $headers .= "Sisältötyyppi: teksti /plain; charset=utf-8" . "\r\n"; $headers .= "Lähettäjä: ".$lähettäjä . "\r\n"; palauttaa posti($vastaanottaja, $aihe, $viesti, $otsikot ); )-funktio get_page_url()( // Hae PHP-tiedoston URL-osoite $url = "http".(tyhjä($_SERVER["HTTPS"])?"":"s")."://".$_SERVER [ "SERVER_NAME"]; if(isset($_SERVER["REQUEST_URI"]) && $_SERVER["REQUEST_URI"] != "")( $url.= $_SERVER["REQUEST_URI"]; ) else( $url. = $_SERVER["PATH_INFO"]; ) palauttaa $url:n :for_table("reg_login_attempt") ->where("ip", sprintf("%u", ip2long($ip))) ->where_raw("ts > SUBTIME(NOW(),"1:00")") ->count(); // Kirjautumisyritysten määrä viimeisen 10 minuutin aikana tässä IP-osoitteessa $count_10_min = ORM::for_table("reg_login_attempt") ->where("ip", sprintf("%u", ip2long( $ ip))) ->where_raw("ts > SUBTIME(NOW(),"0:10")") ->count(); if($count_hour > $limit_hour || $count_10_min > $limit_10_min)( throw new Exception("Liian monta kirjautumisyritystä!"); ) ) function rate_limit_tick($ip, $email)( // Luo uusi merkintä taulukkoon kirjautumisyritysten lukumäärä $login_attempt = ORM::for_table("reg_login_attempt")->create(); $login_attempt->email = $sähköposti; $login_attempt->ip = sprintf("%u", ip2long($ip) ); $login_attempt->save(); ) function redirect($url)( header("Sijainti: $url"); exit; )

Toiminnot rate_limit Ja rate_limit_tick valvoa valtuutusyritysten määrää ensimmäisestä yrityksestä kuluneen ajanjakson aikana. Kirjautumisyritys kirjataan tietokantaan reg_login_attempt-sarakkeeseen. Näitä toimintoja kutsutaan, kun lomaketietoja käsitellään ja lähetetään, kuten näet seuraavasta koodinpätkästä.

Alla oleva koodi on otettu index.php-tiedostosta ja se käsittelee lomakkeen lähettämisen. Se palauttaa JSON-vastauksen, jonka jQuery puolestaan ​​käsittelee aiemmin käsitellessämme materiaalissa/js/script.js-tiedostossa.

index.php

Try( if(!empty($_POST) && isset($_SERVER["HTTP_X_REQUESTED_WITH"]))( // Tulosta JSON-otsikon otsikko("Content-type: application/json"); // Onko tämä sähköpostiosoite kelvollinen, jos (!isset($_POST["sähköposti"]) || !filter_var($_POST["sähköposti"], FILTER_VALIDATE_EMAIL))( throw new Exception("Anna kelvollinen sähköpostiosoite."); ) // Tarkista. Onko käyttäjä saa kirjautua sisään, onko hän ylittänyt sallittujen yhteyksien määrän? (lisätietoja funktios.php-tiedostosta) rate_limit($_SERVER["REMOTE_ADDR"]); // Tallenna tämä kirjautumisyritys rate_limit_tick($_SERVER["REMOTE_ADDR"] , $ _POST["email"]); // Lähetä sähköposti käyttäjälle $message = ""; $sähköposti = $_POST["sähköposti"]; $subject = "Kirjautumislinkkisi"; if(!User:: olemassa($email) )( $subject = "Kiitos rekisteröitymisestä!"; $message = "Kiitos rekisteröitymisestäsi sivustollemme!\n\n"; ) // Yritä valtuuttaa tai rekisteröidä käyttäjä $user = Käyttäjä ::loginOrRegister($_POST[ "email"]); $message.= "Voit kirjautua sisään tästä URL-osoitteesta:\n"; $message.= get_page_url()."?tkn=".$user->generateToken()."\n\n"; $message.= "Linkki vanhenee automaattisesti 10 minuutin kuluttua."; $tulos = lähetä_sähköposti($sähköpostista, $_POST["sähköposti"], $aihe, $viesti); if(!$result)( throw new Exception("Sähköpostisi lähetyksessä tapahtui virhe. Yritä uudelleen."); ) die(json_encode(array("message" => "Kiitos! Olemme lähettäneet linkin Tarkista myös roskapostikansiosi.")))); ) ) catch(Poikkeus $e)( die(json_encode(array("error"=>1, "message" => $e->getMessage( )))))))

Onnistuneen valtuutuksen/rekisteröinnin jälkeen yllä oleva koodi lähettää käyttäjälle linkin valtuutusta varten. Tunnus tulee saataville, koska se välitetään muuttujana generoidussa linkissä menetelmällä $_GET tkn-merkillä

index.php

If(isset($_GET["tkn"]))( // Onko tämä token kelvollinen valtuutukseen? $user = User::findByToken($_GET["tkn"]); if($user)( // Kyllä , on. Ohjaa suojatulle sivulle $user->login(); redirect("protected.php"); ) // Ei, tunnus ei kelpaa. Ohjaa sivulle kirjautumis-/rekisteröintilomakkeella redirect("index. php");)

$user->login()

luo tarvittavat muuttujat istuntoa varten, jotta käyttäjä, joka katselee sivuston seuraavia sivuja, pysyy valtuutettuna koko ajan.

Samalla tavalla järjestetään toiminnon käsittely järjestelmästä poistumiseksi.

index.php

If(isset($_GET["logout"]))( $user = new User(); if($user->loggedIn())( $user->logout(); ) redirect("index.php") ;)

Koodin lopussa ohjasin uudelleen osoitteeseen index.php, joten parametri ?logout=1 URL-osoitteen kautta ei vaadita.

Index.php-tiedostomme vaatii lisää. suojaus - emme halua ihmisten, jotka ovat koskaan kirjautuneet järjestelmään, näkevän rekisteröintilomaketta uudelleen. Näihin tarkoituksiin käytämme menetelmää $user->loggedIn().

index.php

$käyttäjä = uusi käyttäjä(); if($user->loggedIn())( redirect("protected.php"); )

Lopuksi tässä on koodinpätkä, jonka avulla voit suojata sivustosi sivut ja asettaa ne saataville vasta valtuutuksen jälkeen.

suojattu.php

// Suojaa jokainen sivustosi sivu lisäämällä tiedosto // main.php ja luomalla uusi käyttäjäobjekti. Näin helppoa se on! request_once "includes/main.php"; $käyttäjä = uusi käyttäjä(); if(!$user->loggedIn())( redirect("index.php"); )

Tämän tarkistuksen jälkeen voit olla varma, että käyttäjän valtuutus onnistui. Voit myös käyttää tietokantaan tallennettuja tietoja objektin ominaisuuksien avulla $käyttäjä. Näytä käyttäjän sähköposti ja tila käyttämällä tätä koodia:

echo "Sähköpostisi: ".$user->email; echo "Sinun sijoitussi: ".$user->rank();

Menetelmä rank() käytetään tässä, koska numerot tallennetaan yleensä tietokantaan (0 normaalille käyttäjälle, 1 järjestelmänvalvojalle) ja meidän on muutettava nämä tiedot tiloihin, joihin ne kuuluvat, missä tämä menetelmä auttaa meitä.

Jos haluat tehdä tavallisesta käyttäjästä järjestelmänvalvojan, muokkaa käyttäjämerkintää phpMyAdminin (tai minkä tahansa muun ohjelman kautta, jonka avulla voit hallita tietokantoja) kautta. Järjestelmänvalvojan tila ei anna mitään oikeuksia, tässä esimerkissä sivu näyttää, että olet järjestelmänvalvoja - ja siinä kaikki.

Mutta mitä tehdä sen kanssa - se jää harkintasi mukaan, voit kirjoittaa ja säveltää itse koodin, joka asettaa tietyt oikeudet ja mahdollisuudet ylläpitäjille.

Olemme valmiit!

Tämän uskomattoman super lähes yksinkertaisen muodon kanssa olemme valmiita! Voit käyttää sitä PHP-sivustoissasi, se on melko yksinkertaista. Voit myös muokata sitä itse ja tehdä siitä haluamallasi tavalla.

Materiaalin on valmistellut Denis Malyshok erityisesti sivustoa varten

P.S. Haluatko edetä PHP:n ja OOP:n hallitsemisessa? Katso laadukkaat opetusohjelmat verkkosivustojen rakentamisen eri näkökohdista, mukaan lukien PHP-ohjelmointi, sekä ilmainen kurssi PHP CMS -järjestelmän rakentamisesta alusta alkaen OOP:n avulla:

Piditkö materiaalista ja haluatko kiittää?
Jaa vain ystäviesi ja kollegoidesi kanssa!


Vincy muokkasi viimeksi 23. heinäkuuta 2019.

Käyttäjän rekisteröinti tai rekisteröityminen on olennainen osa monia verkkosovelluksia, ja on tärkeää saada se oikein sovelluksen onnistumisen kannalta. Se on lähtökohta käyttäjien sitoutumiselle sovellukseesi.

Sen tulisi olla mahdollisimman yksinkertaista parhaalla käyttöliittymällä / UX:llä. Käyttäjien rekisteröintitoiminnon käyttöönotto PHP:llä on yksinkertainen tehtävä, ja opastan sinua tässä artikkelissa esimerkin avulla.

Mitä on sisällä? Miten tämä PHP-käyttäjän rekisteröintiesimerkki toimii?

Tämä esimerkkikoodi voidaan jakaa 3 osaan.

  • Käyttäjätietojen saaminen HTML-lomakkeella.
  • Tarkistetaan käyttäjän lähettämiä tietoja lomakkeen lähetyksessä.
  • Tietokannan käsittely rekisteröidyn käyttäjän tallentamiseksi tietokantaan validoinnin jälkeen.
  • Kolmas vaihe suoritetaan sen jälkeen, kun on varmistettu, ettei käyttäjää ole jo lisätty. Tämä tietojen ainutlaatuisuuden vahvistus suoritetaan heidän antamansa sähköpostiosoitteen ja käyttäjänimen perusteella.

    Rekisteröinnin aikana keräämme yleensä käyttäjätietoja, jotka ovat valmiita rekisteröitymään sovelluksellamme. Osa niistä on pakollisia ja osa valinnaisia.

    Tämä toiminto voi siis sisältää myös validointiosan, jolla varmistetaan käyttäjätietojen ei-tyhjyys ja muoto. Validointi voidaan tehdä joko asiakas- tai palvelinpuolella.

    Validointi palvelinpuolella on aina parempi. Voit valita sen asiakaspuolelle myös käyttäjien helpottamiseksi. Mutta palvelinpuolella oleminen ei ole valinnaista ja vähimmäisvaatimus.

    tiedostorakenne

    HTML-lomake, jonka avulla käyttäjä voi rekisteröityä

    Tässä esimerkissä rekisteröintilomake sisältää kentät Käyttäjätunnus, Nimi (Näyttönimi), Salasana ja Sähköposti. Siinä on myös Vahvista salasana -kenttä, jonka avulla käyttäjä voi syöttää salasanansa uudelleen vahvistusta varten. Näitä kahta salasanaa verrataan myöhemmin a .

    Lähettämällä tämän lomakkeen käyttäjän odotetaan hyväksyvän ehdot. Joten ennen Rekisteröidy-painiketta lisätään valintaruutu sen varmistamiseksi.

    PHP-käyttäjän rekisteröintilomake Rekisteröidy käyttäjänimi