Ditën e mirë miq! Le të hedhim një vështrim në regjistrimin e përdoruesve në PHP. Së pari, le të përcaktojmë kushtet për regjistrimin e përdoruesit tonë:

  • Fjalëkalimi është i koduar duke përdorur një algoritëm MD5
  • Fjalëkalimi do të jetë "kripë"
  • Kontrolli i identifikimit i zënë
  • Aktivizimi i përdoruesit me letër.
  • Regjistrimi dhe ruajtja e të dhënave në DBMS MySQL

Për të shkruar këtë skript, duhet të kuptojmë se çfarë është regjistrimi i përdoruesit. Regjistrimi i përdoruesit është marrja e të dhënave reale të përdoruesit, përpunimi dhe ruajtja e të dhënave.

Me fjalë të thjeshta, regjistrimi është vetëm një regjistrim dhe ruajtje e të dhënave të caktuara me të cilat ne mund të autorizojmë përdoruesin në rastin tonë - ky është identifikimi dhe fjalëkalimi.

Autorizim - dhënia e të drejtave të një personi ose grupi të caktuar personash për të kryer veprime të caktuara, si dhe procesi i verifikimit të këtyre të drejtave gjatë përpjekjes për kryerjen e këtyre veprimeve. E thënë thjesht, me ndihmën e autorizimit, ne mund të kufizojmë aksesin në një përmbajtje të caktuar në faqen tonë.

Le të hedhim një vështrim në strukturën e drejtorisë së skriptit për të zbatuar hyrjen tonë me autorizim. Ne duhet t'i ndajmë skriptet në pjesë logjike. Ne vendosëm modulet e regjistrimit dhe autorizimit në një drejtori të veçantë. Ne gjithashtu do të vendosim lidhjen e bazës së të dhënave në drejtori të veçanta. MySQL, skedar me funksione të personalizuara, skedar stili css dhe shabllonin tonë HTML. Kjo strukturë ju lejon të lundroni shpejt nëpër skriptet. Imagjinoni që keni një faqe të madhe me një mori modulesh e kështu me radhë. dhe nëse nuk ka rregull, do të jetë shumë e vështirë të gjesh diçka në një rrëmujë të tillë.

Meqenëse do t'i ruajmë të gjitha të dhënat në DBMS MySQL, atëherë le të krijojmë një tabelë të vogël në të cilën do të ruajmë të dhënat e regjistrimit.

Së pari ju duhet të krijoni një tabelë në bazën e të dhënave. Le të thërrasim tryezën bez_reg ku bezështë parashtesa e tabelës, dhe reg emri i tabelës.

Struktura e tabelës: bez_reg

-- -- Struktura e tabelës `bez_reg` -- KRIJO TABELA NËSE NUK EKZISTON `bez_reg` (`id` int(11) NOT NULL AUTO_INCREMENT, `login` varchar(200) NOT NULL, `kalon` varchar(32) JO NULL , `kripë` varchar(32) NOT NULL, `aktiv_hex` varchar(32) NOT NULL, `status` int(1) NOT NULL, ÇELËSI PRIMARY (`id`)) ENGINE=MyISAM PARAKTUAR KARSET=utf8 AUTO_INCREMENT=1 ;

Tani le të krijojmë skriptet kryesore për punë të mëtejshme.

SKIDA INDEX.PHP

FILE CONFIG.PHP

"); ?>

Skedari 404.HTML

Gabim 404

Gabim 404

Kishte një gabim 404 në faqe

Për t'u kthyer

Skedari BD.PHP

SKIDA INDEX.HTML

Regjistrimi i përdoruesit të PHP MySQL me email aktivizimi

SKIDA FUNCT.PHP

"."\n"; if(is_array($data)) ( foreach($data si $val) $err .= "

  • ".$val."
  • "."\n"; ) else $err .= "
  • ".$data."
  • "."\n"; $err .= ""."\n"; kthe $err; ) /**Mbulesa e thjeshtë e pyetjeve të MySQL * @param string $sql */ funksioni mysqlQuery($sql) ( $res = mysql_query($sql); /* Kontrollo rezultatin Kjo tregon pyetja aktuale e dërguar në MySQL si dhe gabimi.*/ if(!$res) ( $message = "Kërkesë e keqe: " . mysql_error() . "\n"; $message .= "E gjithë pyetja : " . $ sql; die($mesazh); ) return $res; ) /**Gjenerator i thjeshtë kripë * @param string $sql */ funksion salt() ( $salt = substr(md5(uniqid()), - 8); kthim $kripë;)

    Le të fillojmë të shkruajmë regjistrimin. Për të filluar, do të na duhet të bëjmë një model formulari regjistrimi në mënyrë që përdoruesi të mund të fusë të dhënat e tij për përpunim. Më pas, do të duhet të shkruajmë vetë mbajtësin e formularit, i cili do të kontrollojë saktësinë e të dhënave të futura të përdoruesit. Pasi të dhënat të verifikohen me sukses, ne i shkruajmë ato në bazën tonë të të dhënave dhe i dërgojmë një email përdoruesit për të aktivizuar llogarinë e tij.

    SKIDA REG.PHP

    Ju jeni regjistruar me sukses! Ju lutemi aktivizoni llogarinë tuaj!!"; //Aktivizo llogarinë if(isset($_GET["key"])) ( //Kontrollo çelësin $sql = "SELECT * FROM `". BEZ_DBPREFIX ."reg` WHERE `active_hex` = "". escape_str ( $_GET["çelësi"]) ."""; $res = mysqlQuery($sql); if(mysql_num_rows($res) == 0) $err = "Çelësi i aktivizimit është i pavlefshëm!"; //Kontrollo për gabime dhe shfaqni te përdoruesi if(count($err) > 0) echo showErrorMessage($err); else ( //Merr adresën e përdoruesit $row = mysql_fetch_assoc($res); $email = $row["login"]; //Aktivizo përdoruesin e llogarisë $sql = "UPDATE `".BEZ_DBPREFIX ."reg` SET `status` = 1 WHERE `login` = "".$email ."""; $res = mysqlQuery($sql); / /Dërgo emailin e aktivizimit $title = "(!LANG:Llogaria juaj në http://website është aktivizuar me sukses"; $message = "Поздравляю Вас, Ваш аккаунт на http://сайт успешно активирован"; sendMessageMail($email, BEZ_MAIL_AUTOR, $title, $message); /*Перенаправляем пользователя на нужную нам страницу*/ header("Location:". BEZ_HOST ."less/reg/?mode=reg&active=ok"); exit; } } /*Если нажата кнопка на регистрацию, начинаем проверку*/ if(isset($_POST["submit"])) { //Утюжим пришедшие данные if(empty($_POST["email"])) $err = "Поле Email не может быть пустым!"; else { if(!preg_match("/^!} [email i mbrojtur](+\.)+(2,6)$/i", $_POST["email"])) $err = "Email i futur gabimisht"."\n"; ) if(empty($_POST[ "kalim" ])) $err = "Fusha e fjalëkalimit nuk mund të jetë bosh"; if(empty($_POST["pass2"])) $err = "Fusha e konfirmimit të fjalëkalimit nuk mund të jetë bosh"; //Kontrollo për gabime dhe shfaq te përdoruesi nëse (count($err) > 0) echo showErrorMessage($err); tjetër ( /*Vazhdo të kontrollosh të dhënat e futura Kontrollo për fjalëkalime që përputhen*/ if($_POST["pass"] != $_POST["pass2" ] ) $err = "Fjalëkalimet nuk përputhen"; //Kontrollo për gabime dhe shfaq te përdoruesi if(count($err) > 0) echo showErrorMessage($err); else ( /*Kontrollo nëse kemi një përdorues të tillë në baza e të dhënave* / $sql = "SELECT `login` FROM `".BEZ_DBPREFIX ."reg` WHERE `login` = "".escape_str($_POST["email"]) ."""; $res = mysqlQuery($ sql); if(mysql_num_rows($res) > 0) $err = "Na falni hyrje: ". $_POST["email"] ." i zënë!"; //Kontrollo për gabime dhe shfaq te përdoruesi if(count($err) > 0) echo showErrorMessage($err); tjetër ( //Merr HASH-in e kripës $salt = salt(); // Shtoni fjalëkalimin $pass = md5(md5($_POST["pass"]).$salt); /*Nëse gjithçka shkon mirë, shkruani të dhënat në bazën e të dhënave*/ $sql = "INSERT INTO `". BEZ_DBPREFIX ."reg ` VALUES("", "" .escape_str($_POST["email"]) ."", "". $pass ."", "". $salt ."", "". md5($salt) . "", 0)"; $ res = mysqlQuery($sql); //Dërgo email aktivizimi $url = BEZ_HOST ."less/reg/?mode=reg&key=". md5($salt); $title = "(! GJUHËN: Regjistrimi në http:///website"; $message = "Для активации Вашего акаунта пройдите по ссылке ". $url .""; sendMessageMail($_POST["email"], BEZ_MAIL_AUTOR, $title, $message); //Сбрасываем параметры header("Location:". BEZ_HOST ."less/reg/?mode=reg&status=ok"); exit; } } } } ?>!}

    REG_FORM.HTML FILE

    Regjistrimi i përdoruesit të PHP MySQL me email aktivizimi

    Email *:
    Fjalëkalimi *:
    konfirmimi i fjalëkalimit *:

    Fushat me një ikonë * kërkohet

    Meqenëse regjistrimi ynë i përdoruesit është gati, është koha për të shkruar autorizimin. Ne do të krijojmë një formular për autorizimin e përdoruesit, më pas do të shkruajmë një mbajtës të formularit të autorizimit dhe, në fund, do të bëjmë një skenar tregojnë.php e cila do të na tregojë nëse jemi të autorizuar në sistem apo jo.

    SKIDA AUTH.PHP

    0) echo showErrorMessage($err); else ( /*Krijoni një kërkesë për marrjen e bazës së të dhënave për të vërtetuar përdoruesin*/ $sql = "SELECT * FROM `". BEZ_DBPREFIX ."reg` WHERE `login` = "". escape_str($_POST["email"]) ." " DHE `statusi` = 1"; $res = mysqlQuery($sql); //Nëse identifikimi përputhet, kontrolloni fjalëkalimin if(mysql_num_rows($res) > 0) ( //Merrni të dhëna nga tabela $row = mysql_fetch_assoc( $res ); if(md5(md5($_POST["pass"]).$row["salt"]) == $row["pass"]) ($_SESSION["user"] = e vërtetë; // Rivendos parametrat header ("Vendndodhja:". BEZ_HOST ."less/reg/?mode=auth"); dalje; ) else echo showErrorMessage ("Fjalëkalimi i gabuar!"); ) else echo showErrorMessage ("Hyrja ". $_POST["email"] ." nuk u gjet!"); )) ?>

    Për ata që kanë versionin më të fundit të PHP, unë e postoj këtë skript duke përdorur PDO sepse zgjerim MySQLështë i vjetëruar dhe është hequr nga versioni i ri i PHP. Shkarko regjistrimin dhe autorizimin php mysql pdo

    Arkivi u përditësua më 24 shkurt 2015.

    Kujdes: Nëse po përdorni këtë skript në një server lokal si DENWER,XAMPP, atëherë nuk duhet të prisni letra në kutinë tuaj postare. Letrat janë në cung Dërgo postë. AT Denverin mund t'i gjeni gjatë rrugës Z:\tmp\!sendmail\ Ju mund t'i hapni këto skedarë në çdo klient email.

    Në këtë artikull do të mësoni si të krijoni një formular regjistrimi dhe autorizimi duke përdorur HTML, JavaScript, PHP dhe MySql. Forma të tilla përdoren pothuajse në çdo faqe, pavarësisht nga lloji i saj. Ato janë krijuar për forumin, për dyqanin online dhe për rrjetet sociale (si Facebook, Twiter, Odnoklassniki) dhe për shumë lloje të tjera faqesh.

    Nëse keni një sajt në kompjuterin tuaj lokal, atëherë shpresoj ta keni tashmë. Asgjë nuk do të funksionojë pa të.

    Krijimi i një tabele në bazën e të dhënave

    Për të zbatuar regjistrimin e përdoruesit, së pari na duhet një bazë të dhënash. Nëse e keni tashmë, atëherë shkëlqyeshëm, përndryshe, ju duhet ta krijoni atë. Në artikull, unë shpjegoj në detaje se si ta bëj këtë.

    Dhe kështu, ne kemi një bazë të dhënash (shkurtuar DB), tani duhet të krijojmë një tabelë përdoruesit në të cilin do të shtojmë përdoruesit tanë të regjistruar.

    Si të krijoni një tabelë në bazën e të dhënave, shpjegova gjithashtu në artikull. Para se të krijojmë një tabelë, duhet të përcaktojmë se cilat fusha do të përmbajë. Këto fusha do të përputhen me fushat nga formulari i regjistrimit.

    Pra, menduam, imagjinuam se çfarë fushash do të ketë forma jonë dhe krijojmë një tabelë përdoruesit me këto fusha:

    • id- Identifikues. Fusha id duhet të jetë në çdo tabelë nga baza e të dhënave.
    • Emri- Për të ruajtur emrin.
    • mbiemri- Për të ruajtur mbiemrin.
    • email- Për të ruajtur adresën postare. Ne do të përdorim e-mail si hyrje, kështu që kjo fushë duhet të jetë unike, domethënë të ketë një indeks UNIK.
    • statusi_email- Një fushë për të treguar nëse posta është konfirmuar apo jo. Nëse posta konfirmohet, atëherë ajo do të ketë vlerën 1, përndryshe vlerën 0.
    • fjalëkalimin- Për të ruajtur fjalëkalimin.


    Nëse dëshironi që formulari juaj i regjistrimit të ketë disa fusha të tjera, mund t'i shtoni edhe këtu.

    Kjo është ajo, tavolina jonë përdoruesit gati. Le të kalojmë në hapin tjetër.

    Lidhja me bazën e të dhënave

    Ne kemi krijuar bazën e të dhënave, tani duhet të lidhemi me të. Ne do të lidhemi duke përdorur shtesën MySQLi PHP.

    Në dosjen e faqes sonë, krijoni një skedar me emrin dbconnect.php, dhe në të shkruajmë skriptin e mëposhtëm:

    Gabim i lidhjes së bazës së të dhënave. Përshkrimi i gabimit: ".mysqli_connect_error()."

    "; exit(); ) // Vendosni kodimin e lidhjes $mysqli->set_charset("utf8"); //Për lehtësi, shtoni këtu një variabël që do të përmbajë emrin e faqes sonë $address_site = "http://testsite .lokale" ; ?>

    Ky skedar dbconnect.php do të duhet të lidhen për mbajtësit e formave.

    Kushtojini vëmendje variablit $adresa_site, këtu kam treguar emrin e faqes sime të testimit, në të cilën do të punoj. Në përputhje me rrethanat, ju tregoni emrin e faqes tuaj.

    Struktura e sitit

    Tani le të hedhim një vështrim në strukturën HTML të faqes sonë të internetit.

    Zhvendosni kokën dhe fundin e faqes në skedarë të veçantë, header.php dhe footer.php. Ne do t'i lidhim ato në të gjitha faqet. Gjegjësisht, në skedarin kryesor (skedar indeks.php), në faqen me formularin e regjistrimit (skedar form_regjistrim.php) dhe në faqen me formularin e autorizimit (skedar form_auth.php).

    Blloko me lidhjet tona, regjistrimin dhe autorizimi, shtoni në kokën e sajtit në mënyrë që ato të shfaqen në të gjitha faqet. Një lidhje do të hyjë faqja e formularit të regjistrimit(skedar form_regjistrim.php) dhe tjetra në faqen me formulari i autorizimit(skedar form_auth.php).

    Përmbajtja e skedarit header.php:

    Emri i faqes sonë

    Si rezultat, faqja jonë kryesore duket si kjo:


    Sigurisht, faqja juaj mund të ketë një strukturë krejtësisht të ndryshme, por kjo nuk është e rëndësishme për ne tani. Gjëja kryesore është se ka lidhje (butona) për regjistrim dhe autorizim.

    Tani le të kalojmë te formulari i regjistrimit. Siç e keni kuptuar tashmë, e kemi në dosje form_regjistrim.php.

    Shkojmë në bazën e të dhënave (në phpMyAdmin), hapim strukturën e tabelës përdoruesit dhe shikoni se cilat fusha na duhen. Pra, na duhen fusha për futjen e emrit dhe mbiemrit, një fushë për futjen e një adrese postare (Email) dhe një fushë për futjen e një fjalëkalimi. Dhe për qëllime sigurie, ne do të shtojmë një fushë të hyrjes captcha.

    Në server, si rezultat i përpunimit të formularit të regjistrimit, mund të ndodhin gabime të ndryshme për shkak të të cilave përdoruesi nuk do të jetë në gjendje të regjistrohet. Prandaj, në mënyrë që përdoruesi të kuptojë pse regjistrimi dështon, është e nevojshme t'i shfaqni atij mesazhe në lidhje me këto gabime.

    Përpara shfaqjes së formularit, ne shtojmë një bllok për të shfaqur mesazhet e gabimit nga sesioni.

    Dhe një moment tjetër, nëse përdoruesi është tashmë i autorizuar, dhe për hir të interesit, ai hyn direkt në faqen e regjistrimit duke shkruar në shiritin e adresave të shfletuesit website_url/form_register.php, atëherë në këtë rast, në vend të formularit të regjistrimit, do të shfaqim një titull për të që ai tashmë është i regjistruar.

    Në përgjithësi, kodi i skedarit form_regjistrim.php e kemi marrë kështu:

    Ju jeni regjistruar tashmë

    Në shfletues, faqja e regjistrimit duket si kjo:


    Nëpërmjet atributi i kërkuar, i kemi bërë të detyrueshme të gjitha fushat.

    Kushtojini vëmendje kodit të formularit të regjistrimit ku shfaqet captcha:


    Ne në vlerën e atributit src për imazhin, specifikuam shtegun për në skedar captcha.php, e cila gjeneron këtë captcha.

    Le të shohim kodin e skedarit captcha.php:

    Kodi është komentuar mirë, kështu që unë do të fokusohem vetëm në një pikë.

    Brenda një funksioni imageTtfText(), shtegu për në font është specifikuar verdana.ttf. Pra, që captcha të funksionojë siç duhet, duhet të krijojmë një dosje fontet, dhe vendosni skedarin e shkronjave atje verdana.ttf. Mund ta gjeni dhe ta shkarkoni nga Interneti, ose ta merrni nga arkivi me materialet e këtij artikulli.

    Ne kemi mbaruar me strukturën HTML, është koha për të ecur përpara.

    Validimi i emailit me jQuery

    Çdo formë ka nevojë për vërtetim të të dhënave të futura, si në anën e klientit (duke përdorur JavaScript, jQuery) dhe në anën e serverit.

    Ne duhet t'i kushtojmë vëmendje të veçantë fushës Email. Është shumë e rëndësishme që adresa e postës elektronike të jetë e vlefshme.

    Për këtë fushë hyrëse, ne vendosëm llojin e emailit (type="email"), kjo na paralajmëron pak nga formatet e pasakta. Por, kjo nuk mjafton, sepse përmes inspektorit të kodit që na ofron shfletuesi, mund të ndryshoni lehtësisht vlerën e atributit lloji me emailteksti, dhe kaq, çeku ynë nuk do të jetë më i vlefshëm.


    Dhe në këtë rast, ne duhet të bëjmë një kontroll më të besueshëm. Për ta bërë këtë, ne do të përdorim bibliotekën jQuery nga JavaScript.

    Për të lidhur bibliotekën jQuery, në skedar header.php midis etiketave , përpara etiketës mbyllëse , shtoni këtë rresht:

    Menjëherë pas kësaj rreshti, shtoni kodin e kontrollit të vërtetimit të emailit. Këtu shtojmë kodin për të kontrolluar gjatësinë e fjalëkalimit të futur. Duhet të jetë së paku 6 karaktere të gjatë.

    Me ndihmën e këtij skripti, ne kontrollojmë adresën e postës elektronike të futur për vlefshmëri. Nëse përdoruesi ka futur emailin e gabuar, atëherë ne shfaqim një gabim në lidhje me të dhe çaktivizojmë butonin e paraqitjes së formularit. Nëse gjithçka është në rregull, atëherë ne heqim gabimin dhe aktivizojmë butonin e paraqitjes së formularit.

    Dhe kështu, me vërtetimin e formularit në anën e klientit, ne kemi mbaruar. Tani mund ta dërgojmë në server, ku do të bëjmë edhe disa kontrolle dhe do të shtojmë të dhëna në bazën e të dhënave.

    Regjistrimi i përdoruesit

    Ne dërgojmë formularin për përpunim në dosje regjistrohen.php, me metodën POST. Emri i këtij skedari mbajtës, i specifikuar në vlerën e atributit veprim. Dhe metoda e dërgimit specifikohet në vlerën e atributit metodë.

    Hapeni këtë skedar regjistrohen.php dhe gjëja e parë që duhet të bëjmë është të shkruajmë një funksion të nisjes së sesionit dhe të përfshijmë skedarin që kemi krijuar më parë dbconnect.php(Në këtë skedar kemi bërë një lidhje me bazën e të dhënave). E megjithatë, menjëherë deklaroni qelizat mesazhet_error dhe mesazhet_sukses në grupin global të sesionit. AT mesazhet_error ne do të regjistrojmë të gjitha mesazhet e gabimit që ndodhin gjatë përpunimit të formularit, dhe në mesazhet_sukses Le të shkruajmë mesazhe të lumtura.

    Para se të vazhdojmë, duhet të kontrollojmë nëse formulari është dorëzuar fare. Një sulmues mund të shikojë vlerën e një atributi veprim nga formulari dhe zbuloni se cili skedar po përpunon këtë formular. Dhe ai mund të vijë me idenë për të shkuar direkt në këtë skedar duke shtypur adresën e mëposhtme në shiritin e adresave të shfletuesit: http://site_site/register.php

    Pra, ne duhet të kontrollojmë nëse ka një qelizë në grupin global POST, emri i së cilës përputhet me emrin e butonit tonë "Regjistrohu" nga formulari. Kështu, ne kontrollojmë nëse butoni "Regjistrohu" është shtypur apo jo.

    Nëse një sulmues përpiqet të shkojë drejtpërdrejt në këtë skedar, ai do të marrë një mesazh gabimi. Ju kujtoj se ndryshorja $address_site përmban emrin e faqes dhe është deklaruar në skedar dbconnect.php.

    Gabim! Faqja Kryesore .

    "); } ?>

    Vlera captcha në seancë u shtua gjatë gjenerimit të saj, në skedar captcha.php. Si kujtesë, unë do të tregoj edhe një herë këtë pjesë të kodit nga skedari captcha.php, ku vlera captcha i shtohet seancës:

    Tani le të kalojmë në vetë testin. Në dosje regjistrohen.php, brenda bllokut if, ku kontrollojmë nëse është shtypur butoni "Regjistrohu", ose më mirë, ku është komenti " // (1) Vendi për pjesën tjetër të kodit"ne shkruajmë:

    //Kontrollo kaptchën e marrë //Trim hapësirat nga fillimi dhe nga fundi i vargut $captcha = trim($_POST["captcha"]); if(isset($_POST["captcha"]) && !empty($captcha))( //Krahaso vlerën e marrë me vlerën nga sesioni. if(($_SESSION["rand"] != $captcha) && ($_SESSION ["rand"] != ""))( // Nëse captcha nuk është e saktë, atëherë kthejeni përdoruesin në faqen e regjistrimit dhe atje do të shfaqim një mesazh gabimi se ai ka futur captcha të gabuar. $error_message = "

    Gabim! Ke futur captcha të gabuar

    "; // Ruani mesazhin e gabimit në seancë. $_SESSION["error_messages"] = $error_message; // Kthejeni përdoruesin në kokën e faqes së regjistrimit ("HTTP/1.1 301 Moved Permanently"); header("Vendndodhja: " .$address_site ."/form_register.php"); //Ndalo daljen e skriptit(); ) // (2) Vendi për pjesën tjetër të kodit )else( //Nëse captcha nuk kalohet ose është bosh dilni ("

    Gabim! Nuk ka asnjë kod verifikimi, domethënë kodin captcha. Mund të shkoni në faqen kryesore.

    "); }

    Më pas, duhet të përpunojmë të dhënat e marra nga grupi POST. Para së gjithash, ne duhet të kontrollojmë përmbajtjen e grupit global POST, domethënë nëse ka qeliza atje, emrat e të cilëve përputhen me emrat e fushave hyrëse nga forma jonë.

    Nëse qeliza ekziston, atëherë shkurtojmë hapësirat nga fillimi dhe nga fundi i vargut nga kjo qelizë, përndryshe, e ridrejtojmë përdoruesin përsëri në faqen me formularin e regjistrimit.

    Më tej, pasi të jenë shkurtuar hapësirat, i shtojmë një varg variablit dhe e kontrollojmë këtë variabël për zbrazëti, nëse nuk është bosh, atëherë vazhdojmë, përndryshe e ridrejtojmë përdoruesin përsëri në faqen me formularin e regjistrimit.

    Ngjitni këtë kod në vendndodhjen e specifikuar // (2) Vendi për pjesën tjetër të kodit".

    /* Kontrolloni nëse grupi global $_POST përmban të dhëna të dorëzuara nga formulari dhe bashkojini të dhënat e paraqitura në variabla të rregullt.*/ if(isset($_POST["first_name"]))( // Shkurtoni hapësirat nga fillimi dhe fundi i vargu $first_name = trim($_POST["first_name"]); //Kontrollo nëse ndryshorja është bosh if(!empty($first_name))( // Për siguri, konverto karakteret speciale në entitete HTML $first_name = htmlspecialchars( $first_name, ENT_QUOTES) ; )else( // Ruaje mesazhin e gabimit në seancë. $_SESSION["error_messages"] .= "

    Shkruaj emrin tend

    Mungon fusha e emrit

    "; //Kthejeni përdoruesin në kokën e faqes së regjistrimit ("HTTP/1.1 301 Lëvizur përgjithmonë"); header("Vendndodhja: ".$address_site."/form_register.php"); //Ndalo daljen e skriptit(); ) if( isset($_POST["last_name"]))( // Pritini hapësirat nga fillimi dhe fundi i vargut $last_name = shkurtoj($_POST["last_name"]); if(!empty($last_name)) ( // Për siguri, konvertoni karaktere speciale në entitete HTML $last_name = htmlspecialchars($last_name, ENT_QUOTES); )else( // Ruani mesazhin e gabimit në seancë. $_SESSION["error_messages"] .= "

    Shkruani mbiemrin tuaj

    "; //Kthejeni përdoruesin në kokën e faqes së regjistrimit ("HTTP/1.1 301 Lëvizur përgjithmonë"); header("Vendndodhja: ".$address_site."/form_register.php"); //Ndalo daljen e skriptit(); ) )else ( // Ruani mesazhin e gabimit në seancë. $_SESSION["error_messages"] .= "

    Mungon fusha e emrit

    "; //Kthejeni përdoruesin në kokën e faqes së regjistrimit ("HTTP/1.1 301 Lëvizur përgjithmonë"); header("Vendndodhja: ".$address_site."/form_register.php"); //Ndalo daljen e skriptit(); ) if( isset($_POST["email"]))( // Pritini hapësirat nga fillimi dhe fundi i vargut $email = trim($_POST["email"]); if(!empty($email)) ( $email = htmlspecialchars ($email, ENT_QUOTES); // (3) Vendi i kodit për të kontrolluar formatin e adresës së postës elektronike dhe veçantinë e saj )else( // Ruani mesazhin e gabimit në seancë. $_SESSION["error_messages" ] . = "

    Shkruani emailin tuaj

    "; //Kthejeni përdoruesin në kokën e faqes së regjistrimit ("HTTP/1.1 301 Lëvizur përgjithmonë"); header("Vendndodhja: ".$address_site."/form_register.php"); //Ndalo daljen e skriptit(); ) )else ( // Ruani mesazhin e gabimit në seancë. $_SESSION["error_messages"] .= "

    "; //Kthejeni përdoruesin në kokën e faqes së regjistrimit ("HTTP/1.1 301 Lëvizur përgjithmonë"); header("Vendndodhja: ".$address_site."/form_register.php"); //Ndalo daljen e skriptit(); ) if( isset($_POST["fjalëkalimi"]))( // Prisni hapësirat nga fillimi dhe fundi i vargut $password = trim($_POST["fjalëkalimi"]); if(!empty($password)) ( $password = htmlspecialchars ($password, ENT_QUOTES); //Enkriptoni fjalëkalimin $password = md5($password."top_secret"); )else( // Ruani mesazhin e gabimit në seancë. $_SESSION["error_messages"] . = "

    Futni fjalëkalimin tuaj

    "; //Kthejeni përdoruesin në kokën e faqes së regjistrimit ("HTTP/1.1 301 Lëvizur përgjithmonë"); header("Vendndodhja: ".$address_site."/form_register.php"); //Ndalo daljen e skriptit(); ) )else ( // Ruani mesazhin e gabimit në seancë. $_SESSION["error_messages"] .= "

    "; //Kthejeni përdoruesin në kokën e faqes së regjistrimit ("HTTP/1.1 301 Lëvizur përgjithmonë"); header("Vendndodhja: ".$address_site."/form_register.php"); //Ndalo daljen e skriptit(); ) // (4) Vendi për kodin për shtimin e një përdoruesi në bazën e të dhënave

    Fusha ka një rëndësi të veçantë. email. Duhet të kontrollojmë formatin e adresës postare të marrë dhe uniken e saj në bazën e të dhënave. Kjo do të thotë, nëse një përdorues me të njëjtën adresë emaili është regjistruar tashmë.

    në vendin e caktuar" // (3) Vendi i kodit për të kontrolluar formatin e adresës postare dhe veçantinë e saj" shtoni kodin e mëposhtëm:

    //Kontrollo formatin e adresës së emailit të marrë duke përdorur shprehjen e rregullt $reg_email = "/^**@(+(*+)*\.)++/i"; //Nëse formati i adresës së emailit të marrë nuk përputhet me shprehjen e rregullt if(!preg_match($reg_email, $email))( // Ruani mesazhin e gabimit në seancë. $_SESSION["error_messages"] .= "

    Ke futur një email të pavlefshëm

    "; //Kthejeni përdoruesin në kokën e faqes së regjistrimit ("HTTP/1.1 301 Lëvizur përgjithmonë"); header("Vendndodhja: ".$address_site."/form_register.php"); //Ndalo daljen e skriptit(); ) // Kontrolloni nëse ekziston tashmë një adresë e tillë në bazën e të dhënave $result_query = $mysqli->query("SELECT `email` FROM `users` WHERE `email`="".$email."""); Nëse ka janë saktësisht një rresht, atëherë përdoruesi me këtë adresë emaili është tashmë i regjistruar nëse($result_query->num_rows == 1)( //Nëse rezultati nuk është false if(($row = $result_query->fetch_assoc()) ! = false) ( // Ruaje mesazhin e gabimit në seancë. $_SESSION["error_messages"] .= "

    Përdoruesi me këtë adresë emaili është tashmë i regjistruar

    "; //Kthejeni përdoruesin në kokën e faqes së regjistrimit ("HTTP/1.1 301 Lëvizur përgjithmonë"); header("Vendndodhja: ".$address_site."/form_register.php"); )else( //Ruaj mesazhin e gabimit në seancën .$_SESSION["error_messages"] .= "

    Gabim në pyetjen e bazës së të dhënave

    "; //Kthejeni përdoruesin në kokën e faqes së regjistrimit ("HTTP/1.1 301 Moved Permanently"); header("Vendndodhja: ".$address_site."/form_register.php"); ) /* mbyllni përzgjedhjen */ $ result_query-> mbyll (); //Ndalo daljen e skriptit(); ) /* mbyll përzgjedhjen */ $result_query->mbyll();

    Dhe kështu, ne kemi mbaruar me të gjitha kontrollet, është koha për të shtuar përdoruesin në bazën e të dhënave. në vendin e caktuar" // (4) Vendi për kodin për shtimin e një përdoruesi në bazën e të dhënave" shtoni kodin e mëposhtëm:

    //Pyetje për të shtuar një përdorues në bazën e të dhënave $result_query_insert = $mysqli->query("INSERT INTO `users` (first_name, last_name, email, password) VALUES ("".$first_name."", "".$last_name ." ", "".$email."", "".$password."")"); if(!$result_query_insert)( // Ruani mesazhin e gabimit në seancë. $_SESSION["error_messages"] .= "

    Kërkesë gabimi për të shtuar një përdorues në bazën e të dhënave

    "; //Kthejeni përdoruesin në kokën e faqes së regjistrimit ("HTTP/1.1 301 Lëvizur përgjithmonë"); header("Vendndodhja: ".$address_site."/form_register.php"); //Ndalo daljen e skriptit(); )else( $_SESSION["success_messages"] = "

    Regjistrimi përfundoi me sukses!!!
    Tani mund të identifikoheni duke përdorur emrin e përdoruesit dhe fjalëkalimin tuaj.

    "; //Dërgo përdoruesin në kokën e faqes së hyrjes ("HTTP/1.1 301 Lëvizur përgjithmonë"); header("Vendndodhja: ".$address_site."/form_auth.php"); ) /* Plotëso kërkesën */ $ result_query_insert-> close();//Mbyll lidhjen e bazës së të dhënave $mysqli->close();

    Nëse ndodh një gabim në kërkesën për të shtuar një përdorues në bazën e të dhënave, ne shtojmë një mesazh në lidhje me këtë gabim në seancë dhe e kthejmë përdoruesin në faqen e regjistrimit.

    Përndryshe, nëse gjithçka shkoi mirë, ne i shtojmë edhe një mesazh seancës, por tashmë është më e këndshme, domethënë, i tregojmë përdoruesit se regjistrimi ishte i suksesshëm. Dhe ne e ridrejtojmë atë në faqen me formularin e autorizimit.

    Skripti për të kontrolluar formatin e adresës së emailit dhe gjatësinë e fjalëkalimit është në skedar header.php, kështu që do të ndikojë edhe në fushat nga ajo formë.

    Fillohet edhe seanca në dosje header.php, pra në dosje form_auth.php seanca nuk ka nevojë të fillohet, sepse kemi një gabim.


    Siç thashë, skripti për të kontrolluar formatin e adresës së postës dhe gjatësinë e fjalëkalimit gjithashtu funksionon këtu. Prandaj, nëse përdoruesi fut adresën e gabuar të emailit ose fjalëkalimin e shkurtër, ai menjëherë do të marrë një mesazh gabimi. Një buton për të hyrë do të bëhet joaktive.

    Pas rregullimit të gabimeve, butoni për të hyrë bëhet aktiv dhe përdoruesi mund ta dorëzojë formularin në serverin ku do të përpunohet.

    Autorizimi i përdoruesit

    Për të atribuar vlerën veprim formulari i autorizimit ka një dosje auth.php, që do të thotë se formulari do të përpunohet në këtë skedar.

    Pra, le të hapim skedarin auth.php dhe shkruani kodin për të përpunuar formularin e autorizimit. Gjëja e parë që duhet të bëni është të filloni seancën dhe të përfshini skedarin dbconnect.php për t'u lidhur me bazën e të dhënave.

    //Deklaroni një qelizë për të shtuar gabime që mund të ndodhin gjatë përpunimit të formularit. $_SESSION["error_messages"] = ""; //Deklaroni një qelizë për të shtuar mesazhe të suksesshme $_SESSION["success_messages"] = "";

    /* Kontrolloni nëse formulari është dorëzuar, domethënë nëse është klikuar butoni Login. Nëse po, atëherë shkojmë më tej, nëse jo, atëherë do t'i shfaqim përdoruesit një mesazh gabimi, duke thënë se ai shkoi drejtpërdrejt në këtë faqe. */ if(isset($_POST["btn_submit_auth"]) && !empty($_POST["btn_submit_auth"]))( //(1) Vendi për pjesën tjetër të kodit )else( dalje ("

    Gabim! Ju keni hyrë drejtpërdrejt në këtë faqe, kështu që nuk ka të dhëna për t'u përpunuar. Mund të shkoni në faqen kryesore.

    "); }

    //Kontrollo captcha-në e marrë if(isset($_POST["captcha"]))( //Të shkurtosh hapësirat nga fillimi dhe fundi i vargut $captcha = trim($_POST["captcha"]); if(!bosh ($captcha ))( //Krahaso vlerën e marrë me vlerën nga seanca. if(($_SESSION["rand"] != $captcha) && ($_SESSION["rand"] != ""))( // Nëse captcha është e pavlefshme, atëherë ne e kthejmë përdoruesin në faqen e autorizimit dhe aty do të shfaqim një mesazh gabimi se ai ka futur captcha të gabuar. $error_message = "

    Gabim! Ke futur captcha të gabuar

    "; // Ruani mesazhin e gabimit në seancë. $_SESSION["error_messages"] = $error_message; // Kthejeni përdoruesin në kokën e faqes së autorizimit ("HTTP/1.1 301 Moved Permanently"); header("Vendndodhja: " .$address_site ."/form_auth.php"); //Ndalo daljen e skriptit(); ) )else( $error_message = "

    Gabim! Fusha e hyrjes captcha nuk duhet të jetë bosh.

    "; // Ruani mesazhin e gabimit në seancë. $_SESSION["error_messages"] = $error_message; // Kthejeni përdoruesin në kokën e faqes së autorizimit ("HTTP/1.1 301 Moved Permanently"); header("Vendndodhja: " .$address_site ."/form_auth.php"); //Ndalo daljen e skriptit(); ) //(2) Vendi për përpunimin e adresës së postës //(3) Vendi për përpunimin e fjalëkalimit //(4) Vendi për duke bërë një pyetje në bazën e të dhënave )else ( //Nëse captcha nuk kalohet, dilni ("

    Gabim! Nuk ka asnjë kod verifikimi, domethënë kodin captcha. Mund të shkoni në faqen kryesore.

    "); }

    Nëse përdoruesi e ka futur saktë kodin e verifikimit, atëherë ne vazhdojmë, në të kundërt e kthejmë atë në faqen e autorizimit.

    Verifikimi i adresës së emailit

    // Pritini hapësirat nga fillimi dhe fundi i vargut $email = trim($_POST["email"]); if(isset($_POST["email"]))( if(!empty($email))($email = htmlspecialchars($email, ENT_QUOTES); //Kontrollo formatin e adreses se emailit te marre duke perdorur shprehjen e rregullt $ reg_email = " /^**@(+(*+)*\.)++/i"; //Nëse formati i adresës së emailit të marrë nuk përputhet me shprehjen e rregullt if(!preg_match($reg_email, $email ))( // Ruaje në mesazhin e gabimit të sesionit.$_SESSION["error_messages"] .= "

    Ke futur një email të pavlefshëm

    "; //Kthejeni përdoruesin në kokën e faqes së autorizimit ("HTTP/1.1 301 Lëvizur përgjithmonë"); header ("Vendndodhja: ".$address_site."/form_auth.php"); //Ndalo daljen e skriptit(); ) )else ( // Ruani mesazhin e gabimit në seancë. $_SESSION["error_messages"] .= "

    Fusha për futjen e adresës postare (email) nuk duhet të jetë bosh.

    "; //Kthejeni përdoruesin në kokën e faqes së regjistrimit ("HTTP/1.1 301 Lëvizur përgjithmonë"); header("Vendndodhja: ".$address_site."/form_register.php"); //Ndalo daljen e skriptit(); ) )else ( // Ruani mesazhin e gabimit në seancë. $_SESSION["error_messages"] .= "

    Nuk ka fushë për të futur Email

    "; //Kthejeni përdoruesin në kokën e faqes së autorizimit ("HTTP/1.1 301 Lëvizur përgjithmonë"); header ("Vendndodhja: ".$address_site."/form_auth.php"); //Ndalo daljen e skriptit(); ) // (3) Vendi për përpunimin e fjalëkalimit

    Nëse përdoruesi ka futur një adresë emaili në format të gabuar ose vlera e fushës së adresës së emailit është bosh, atëherë e kthejmë atë në faqen e autorizimit, ku shfaqim një mesazh për këtë.

    Kontrolli i fjalëkalimit

    Fusha tjetër për t'u përpunuar është fusha e fjalëkalimit. në vendin e caktuar" //(3) Vendi për përpunimin e fjalëkalimit", ne shkruajmë:

    If(isset($_POST["fjalëkalimi"]))( // Pritni hapësirat nga fillimi dhe fundi i vargut $password = trim($_POST["password"]); if(!empty($password))( $password = htmlspecialchars($password, ENT_QUOTES); // Enkriptoni fjalëkalimin $password = md5($password."top_secret"); )else( // Ruani mesazhin e gabimit në seancë. $_SESSION["error_messages"] . = "

    Futni fjalëkalimin tuaj

    "; //Kthejeni përdoruesin në kokën e faqes së regjistrimit ("HTTP/1.1 301 Lëvizur përgjithmonë"); header("Vendndodhja: ".$address_site."/form_auth.php"); //Ndalo daljen e skriptit(); ) )else ( // Ruani mesazhin e gabimit në seancë. $_SESSION["error_messages"] .= "

    Nuk ka asnjë fushë për të futur një fjalëkalim

    "; //Kthejeni përdoruesin në kokën e faqes së regjistrimit ("HTTP/1.1 301 Lëvizur përgjithmonë"); header("Vendndodhja: ".$address_site."/form_auth.php"); //Ndalo daljen e skriptit(); )

    Këtu, duke përdorur funksionin md5 (), kodojmë fjalëkalimin e marrë, pasi në bazën e të dhënave kemi fjalëkalime në formë të koduar. Fjalë sekrete shtesë në enkriptim, në rastin tonë " top_sekret" duhet të jetë ai që është përdorur gjatë regjistrimit të përdoruesit.

    Tani ju duhet të bëni një pyetje në bazën e të dhënave në një përzgjedhje përdoruesi, adresa e postës së të cilit është e barabartë me adresën e postës së marrë dhe fjalëkalimi është i barabartë me fjalëkalimin e marrë.

    //Pyetje në bazën e të dhënave për zgjedhjen e përdoruesit. $result_query_select = $mysqli->query("SELECT * FROM `users` WHERE email = "".$email."" AND password = "".$fjalëkalim."""); if(!$result_query_select)( // Ruani mesazhin e gabimit në seancë. $_SESSION["error_messages"] .= "

    Gabim në pyetje në zgjedhjen e përdoruesit nga baza e të dhënave

    "; //Kthejeni përdoruesin në kokën e faqes së regjistrimit ("HTTP/1.1 301 Lëvizur përgjithmonë"); header("Vendndodhja: ".$address_site."/form_auth.php"); //Ndalo daljen e skriptit(); )else( //Kontrollo nëse nuk ka asnjë përdorues me të dhëna të tilla në bazën e të dhënave, pastaj shfaq një mesazh gabimi nëse($result_query_select->num_rows == 1)( // Nëse të dhënat e futura përputhen me të dhënat nga baza e të dhënave, atëherë ruajeni hyrjen dhe fjalëkalimin në grupin e sesionit. $_SESSION["email"] = $email; $_SESSION["password"] = $password; //Kthejeni përdoruesin në kokën e faqes kryesore("HTTP/1.1 301 Moved Permanently" header("Vendndodhja: ".$address_site."/index.php"); )else( // Ruaje mesazhin e gabimit në seancë. $_SESSION["error_messages"] .= "

    Emri i përdoruesit dhe/ose fjalëkalimi i gabuar

    "; //Kthejeni përdoruesin në kokën e faqes së autorizimit ("HTTP/1.1 301 Lëvizur përgjithmonë"); header ("Vendndodhja: ".$address_site."/form_auth.php"); //Ndalo daljen e skriptit(); ) )

    Dalja e faqes

    Dhe gjëja e fundit që ne zbatojmë është procedura e daljes. Për momentin, në kokë ne shfaqim lidhje me faqen e autorizimit dhe faqen e regjistrimit.

    Në kokën e faqes (skedar header.php), duke përdorur seancën, ne kontrollojmë nëse përdoruesi është tashmë i identifikuar. Nëse jo, atëherë shfaqim lidhjet e regjistrimit dhe autorizimit, përndryshe (nëse është i autorizuar), atëherë në vend të lidhjeve të regjistrimit dhe autorizimit shfaqim lidhjen Dilni.

    Një pjesë e modifikuar e kodit nga skedari header.php:

    Regjistrimi

    Dilni

    Kur klikoni në lidhjen e daljes nga faqja, ne futemi në skedar dalje.php, ku thjesht shkatërrojmë qelizat me adresën e emailit dhe fjalëkalimin nga sesioni. Pas kësaj, ne e kthejmë përdoruesin në faqen në të cilën është klikuar lidhja dalje.

    Kodi i skedarit logout.php:

    Kjo eshte e gjitha. Tani e dini se si zbatojnë dhe përpunojnë formularët e regjistrimit dhe të autorizimit përdorues në faqen tuaj. Këto forma gjenden pothuajse në çdo faqe, kështu që çdo programues duhet të dijë se si t'i krijojë ato.

    Mësuam gjithashtu se si të vërtetojmë të dhënat hyrëse, si në anën e klientit (në shfletues, duke përdorur JavaScript, jQuery) dhe në anën e serverit (duke përdorur gjuhën PHP). Ne gjithashtu mësuam zbatoni procedurën e daljes.

    Të gjitha skriptet janë testuar dhe funksionojnë. Nga kjo lidhje mund ta shkarkoni arkivin me skedarët e kësaj faqeje të vogël.

    Në të ardhmen do të shkruaj një artikull ku do të përshkruaj. Dhe gjithashtu planifikoj të shkruaj një artikull ku do të shpjegoj (pa ringarkuar faqen). Pra, në mënyrë që të jeni të vetëdijshëm për publikimin e artikujve të rinj, mund të regjistroheni në faqen time.

    Nëse keni ndonjë pyetje, ju lutemi kontaktoni, gjithashtu, nëse vëreni ndonjë gabim në artikull, ju lutem më njoftoni.

    Plani i mësimit (Pjesa 5):

    1. Krijimi i një strukture HTML për formularin e autorizimit
    2. Ne përpunojmë të dhënat e marra
    3. Ne shfaqim përshëndetjen e përdoruesit në kokën e faqes

    Ju pëlqeu artikulli?

    Laravel kërkon që Kompozitori të menaxhojë varësitë e projektit. Pra, përpara se të instaloni Laravel, sigurohuni që të keni të instaluar Composer në sistemin tuaj. Në rast se po dëgjoni për Kompozitorin për herë të parë, është një mjet i menaxhimit të varësisë për php i ngjashëm me npm të nyjes.

    Për të instaluar Composer në kompjuterin tuaj, kontrolloni këtë postim:

    Instalimi i Laravel në Windows:

    Ndiqni hapat e mëposhtëm për të instaluar laravel në makinën Windows. Pavarësisht se keni rafte xampp/wamp, ai funksionon për të dyja. Në WAMP, sigurohuni që të instaloni laravel në dosjen "www" dhe në XAMPP, padyshim "htdocs".

    HAPI-1) Hapni dosjen "htdocs" në XAMPP, mbani tastin SHIFT dhe klikoni me të djathtën mbi dosje dhe zgjidhni "hap dritaren e komandës këtu". Përndryshe, mund të hapni dritaren e komandës dhe të ndryshoni drejtorinë në "xampp/htdocs".

    HAPI-2) Futni komandën e mëposhtme.

    Kompozitori krijo-projekt laravel/laravel my_laravel_site --prefer-dist

    Këtu "my_laravel_site" është emri i dosjes ku do të instalohen skedarët laravel. Ndryshojeni këtë sipas dëshirës tuaj.

    HAPI-3) Tani është koha për të qenë të durueshëm pasi instalimi i laravel do të marrë pak kohë.

    HAPI-4) Pasi të instalohet, ndryshoni drejtorinë në "my_laravel_site" (cd "my_laravel_site") në vijën e komandës dhe futni komandën e mëposhtme.

    php artisan shërbejë

    HAPI-5) Kjo do të tregojë një mesazh diçka si, "Serveri i zhvillimit Laravel filloi:" së bashku me një url.

    HAPI-6) Kopjoni dhe ngjisni url-në në shfletues. Nëse gjërat shkojnë mirë, do të shihni ekranin e mirëseardhjes së Laravel.

    HAPI-7) U krye! Ju keni instaluar me sukses laravel në kompjuterin Windows dhe jeni gati për ta përdorur.

    Vendosja e çelësit të aplikacionit:

    Laravel kërkon pak konfigurim pas instalimit. Kërkon që ju të vendosni çelësin e aplikacionit. Ky është një varg i rastësishëm prej 32 karakteresh i përdorur për të kriptuar sesionet dhe të dhëna të tjera të ndjeshme. Zakonisht kjo do të vendoset automatikisht kur instaloni laravel nëpërmjet kompozitorit ose instaluesit laravel.

    Në rast se nuk është caktuar, duhet ta bëni manualisht. Fillimisht sigurohuni që të riemërtoni skedarin ".env.example" në ".env" në rrënjën e aplikacionit tuaj. Më pas hapni komandën dhe kaloni në dosjen e projektit laravel. Tani ekzekutoni komandën e mëposhtme për të gjeneruar çelësin.

    php artisan key:generate

    Kopjojeni këtë çelës të krijuar në variablin APP_KEY në skedarin ".env". Ruani dhe keni mbaruar.

    Instalimi i një versioni specifik Laravel:

    Metoda e mësipërme do ta bëjë kompozitorin të shkarkojë dhe instalojë versionin më të fundit të laravel. Nëse dëshironi të instaloni versione të mëparshme të laravel në kompjuterin tuaj, sigurohuni që të përfshini numrin përkatës të versionit në komandën e krijimit të projektit.

    Kompozitori create-project laravel/laravel=5.4 your-project-name --prefer-dist Lexoni gjithashtu:

    Po ashtu edhe ju mundeni instaloni lehtësisht laravel duke përdorur kompozitorin në Windows. Shpresoj që ta gjeni të dobishëm këtë tutorial. Ju lutemi shpërndajeni në rrethin tuaj social nëse ju pëlqen.

    Në këtë tutorial, unë ju udhëzoj në procesin e plotë të krijimit të një sistemi regjistrimi të përdoruesve ku përdoruesit mund të krijojnë një llogari duke ofruar emrin e përdoruesit, emailin dhe fjalëkalimin, hyrjen dhe daljen duke përdorur PHP dhe MySQL. Unë do t'ju tregoj gjithashtu se si mund t'i bëni disa faqe të aksesueshme vetëm për përdoruesit e regjistruar. Çdo përdorues tjetër që nuk është identifikuar nuk do të jetë në gjendje të hyjë në faqe.

    Nëse preferoni një video, mund ta shikoni në kanalin tim në YouTube

    Gjëja e parë që do të duhet të bëjmë është të konfigurojmë bazën e të dhënave tona.

    Krijo një bazë të dhënash të quajtur regjistrimin. Në regjistrimin Baza e të dhënave, shtoni një tabelë të quajtur përdoruesit. Tabela e përdoruesve do të marrë katër fushat e mëposhtme.

    • emri i përdoruesit - varchar(100)
    • email - varchar(100)
    • fjalëkalimi - varchar (100)

    Ju mund ta krijoni këtë duke përdorur një klient MySQL si PHPMyAdmin.

    Ose mund ta krijoni atë në kërkesën MySQL duke përdorur skriptin e mëposhtëm SQL:

    KRIJO TABELA `përdorues` (`id` int(11) NOT NULL AUTO_INCREMENT ÇELËSI PRIMAR, `emri i përdoruesit` varchar(100) NOT NULL, `email` varchar(100) NOT NULL, `fjalëkalimi` varchar(100) NOT NULL) ENGINE =SETIMI I PARAKTUAR I KARAKTERISTIKËSISË InnoDB=latin1;

    Dhe kjo është ajo me bazën e të dhënave.

    Tani krijoni një dosje të quajtur regjistrimin në një direktori të aksesueshme për serverin tonë. dmth krijoni dosjen brenda htdocs (nëse jeni duke përdorur serverin XAMPP) ose brenda www(nëse jeni duke përdorur serverin wampp).

    brenda dosjes regjistrimi, krijoni skedarët e mëposhtëm:

    Hapni këto skedarë në një redaktues teksti sipas zgjedhjes suaj. I imi është Teksti Sublime 3.

    Regjistrimi i një përdoruesi

    Hapni skedarin register.php dhe ngjisni kodin e mëposhtëm në të:

    register.php:

    Regjistrohu

    Tashmë një anëtar? Hyni

    Asgjë e komplikuar deri tani apo jo?

    Disa gjëra për t'u shënuar këtu:

    E para është se forma jonë veprim atributi është vendosur të regjistrohet.php. Kjo do të thotë që kur klikohet butoni për dërgimin e formularit, të gjitha të dhënat në formular do të dërgohen në të njëjtën faqe (register.php). Pjesa e kodit që merr të dhënat e formularit është e shkruar në skedarin server.php dhe për këtë arsye ne po e përfshijmë atë në krye të skedarit register.php.

    Vini re gjithashtu se ne po përfshijmë skedarin errors.php për të shfaqur gabimet e formularit. Ne do të arrijmë në atë së shpejti.

    Siç mund ta shihni në seksionin e kokës, ne po lidhemi me një skedar style.css. Hapni skedarin style.css dhe ngjisni CSS-në e mëposhtme në të:

    * ( margjina: 0 px; mbushja: 0 px; ) trupi (madhësia e shkronjave: 120%; sfondi: #F8F8FF; ) .header ( gjerësia: 30%; diferenca: 50 px automatike 0px; ngjyra: e bardhë; sfondi: #5F9EA0; teksti -rreshtoj: qendër; kufiri: 1px solid #B0C4DE; kufiri-fund: asnjë; rreze-kufi: 10px 10px 0px 0px; mbushje: 20px; ) forma, .përmbajtja ( gjerësia: 30%; margjina: 0px automatike; mbushja: 20px ; kufiri: 1px solid #B0C4DE; sfondi: i bardhë; rreze-kufi: 0px 0px 10px 10px;) ; margjina: 3px; ) .hyrja e grupit të hyrjes (lartësia: 30px; gjerësia: 93%; mbushja: 5px 10px; madhësia e shkronjave: 16px; rreze e kufirit: 5px; kufiri: 1px gri e fortë; ) .btn ( mbushje: 10 px; madhësia e shkronjave: 15 pikselë; ngjyra: e bardhë; sfondi: #5F9EA0; kufiri: asnjë; rreze-kufi: 5 px;) a94442; ngjyra: #a94442; sfondi: #f2dede; rreze-kufi: 5 px; rreshtimi i tekstit: majtas; ) .sukses ( ngjyra: #3c7 63d; sfond: #dff0d8; kufiri: 1px solid #3c763d; margjina e poshtme: 20 px )

    Tani forma duket e bukur.

    Le të shkruajmë tani kodin që do të marrë informacionin e dorëzuar nga formulari dhe të ruajmë (regjistrojmë) informacionin në bazën e të dhënave. Siç u premtuam më parë, ne e bëjmë këtë në skedarin server.php.

    Hapni server.php dhe ngjisni këtë kod në të:

    server.php

    Sesionet përdoren për të gjurmuar përdoruesit e regjistruar dhe kështu ne përfshijmë një session_start() në krye të skedarit.

    Komentet në kod shpjegojnë pothuajse gjithçka, por unë do të theksoj disa gjëra këtu.

    Deklarata if përcakton nëse klikohet butoni reg_user në formularin e regjistrimit. Mbani mend, në formën tonë, butoni dërgo ka një atribut emri të vendosur në reg_user dhe kjo është ajo që ne po i referohemi në deklaratën if.

    Të gjitha të dhënat merren nga formulari dhe kontrollohen për t'u siguruar që përdoruesi e ka plotësuar saktë formularin. Fjalëkalimet krahasohen gjithashtu për t'u siguruar që ato përputhen.

    Nëse nuk ka pasur gabime, përdoruesi regjistrohet në përdoruesit tabelë në bazën e të dhënave me një fjalëkalim të hash. Fjalëkalimi i hashuar është për arsye sigurie. Ai siguron që edhe nëse një haker arrin të fitojë akses në bazën e të dhënave tuaja, ata nuk do të jenë në gjendje të lexojnë fjalëkalimin tuaj.

    Por mesazhet e gabimit nuk po shfaqen tani sepse skedari ynë errors.php është ende bosh. Për të shfaqur gabimet, ngjisni këtë kod në skedarin errors.php.

    0) : ?>

    Kur një përdorues regjistrohet në bazën e të dhënave, ai menjëherë regjistrohet dhe ridrejtohet në faqen index.php.

    Dhe kjo "është për regjistrim. Le të shohim hyrjen e përdoruesit.

    përdorues i hyrjes

    Regjistrimi i një përdoruesi është një gjë edhe më e lehtë për t'u bërë. Thjesht hapni faqen e hyrjes dhe vendosni këtë kod brenda saj:

    Sistemi i regjistrimit PHP dhe MySQL

    Identifikohu

    Nuk jeni ende anëtar? regjistrohu

    Çdo gjë në këtë faqe është mjaft e ngjashme me faqen register.php.

    Tani kodi që regjistron përdoruesin duhet të shkruhet në të njëjtin skedar server.php. Pra, hapni skedarin server.php dhe shtoni këtë kod në fund të skedarit:

    // ... // LOGIN USER if (isset($_POST["login_user"])) ($username = mysqli_real_escape_string($db, $_POST["username"]); $password = mysqli_real_escape_string($db, $_POST ["fjalëkalimi"]); nëse (empty($username)) (array_push($errors, "Emri i përdoruesit kërkohet"); ) if (empty($password)) (array_push($errors, "Fjalëkalimi kërkohet"); ) if (count($errors) == 0) ( $password = md5($password); $query = "SELECT * FROM users WHERE username="$username" AND password="$password""; $results = mysqli_query ($db, $query); nëse (mysqli_num_rows($results) == 1) ( $_SESSION["username"] = $username; $_SESSION["success"] = "Tani jeni regjistruar"; header(" vendndodhja: index.php"); )else ( array_push($errors, "Kombim i gabuar i emrit të përdoruesit/fjalëkalimit"); ) ) ) ?>

    Përsëri gjithçka që bën është të kontrollojë nëse përdoruesi e ka plotësuar formularin në mënyrë korrekte, të verifikojë që kredencialet e tij përputhen me një rekord nga baza e të dhënave dhe t'i regjistrojë ato nëse po. Pas hyrjes, përdoruesi i ridrejtohet te skedari index.php me një mesazh suksesi.

    Tani le të shohim se çfarë ndodh në skedarin index.php. Hapeni atë dhe ngjisni kodin e mëposhtëm në të:

    Shtëpi

    Faqja kryesore

    Mirë se vini

    shkyç

    Deklarata e parë if kontrollon nëse përdoruesi është tashmë i identifikuar. Nëse ata nuk janë të regjistruar, ata do të ridrejtohen në faqen e hyrjes. Prandaj, kjo faqe është e aksesueshme vetëm për përdoruesit e regjistruar. Nëse dëshironi të bëni ndonjë faqe të aksesueshme vetëm për përdoruesit e regjistruar, gjithçka që duhet të bëni është ta vendosni këtë deklaratë if në krye të skedarit.

    Deklarata e dytë if kontrollon nëse përdoruesi ka klikuar butonin e daljes. Nëse po, sistemi i nxjerr ato dhe i ridrejton përsëri në faqen e hyrjes.

    Tani vazhdoni, personalizoni atë për t'iu përshtatur nevojave tuaja dhe ndërtoni një faqe të mrekullueshme. Nëse keni ndonjë shqetësim ose ndonjë gjë që duhet të sqaroni, lini në komentet më poshtë dhe ndihma do të vijë.

    Ju gjithmonë mund të mbështesni duke shpërndarë në mediat sociale ose duke rekomanduar blogun tim miqve dhe kolegëve tuaj.