O zi buna prieteni! Să aruncăm o privire la înregistrarea utilizatorilor în PHP. Mai întâi, să definim condițiile pentru înregistrarea utilizatorului nostru:

  • Parola este criptată folosind un algoritm MD5
  • Parola va fi „sare”
  • Verificare autentificare ocupată
  • Activare utilizator prin scrisoare.
  • Înregistrarea și stocarea datelor în DBMS MySQL

Pentru a scrie acest script, trebuie să înțelegem ce este înregistrarea utilizatorului. Înregistrarea utilizatorilor este achiziția de date reale de utilizator, prelucrarea și stocarea datelor.

Cu cuvinte simple, înregistrarea este doar o înregistrare și stocare a anumitor date prin care putem autoriza utilizatorul în cazul nostru - acesta este Login și Parola.

Autorizare - acordarea unei anumite persoane sau unui grup de persoane a drepturilor de a efectua anumite acțiuni, precum și procesul de verificare a acestor drepturi atunci când se încearcă efectuarea acestor acțiuni. Mai simplu spus, cu ajutorul autorizației, putem restricționa accesul la un anumit conținut de pe site-ul nostru.

Să aruncăm o privire la structura directorului de script pentru a implementa autentificarea noastră cu autorizare. Trebuie să împărțim scripturile în părți logice. Am plasat modulele de înregistrare și autorizare într-un director separat. De asemenea, vom plasa conexiunea la baza de date în directoare separate. MySQL, fișier cu funcții personalizate, fișier de stil cssși șablonul nostru HTML. Această structură vă permite să navigați rapid prin scripturi. Imaginați-vă că aveți un site mare cu o grămadă de module și așa mai departe. iar dacă nu există ordine, va fi foarte greu să găsești ceva într-o asemenea mizerie.

Deoarece vom stoca toate datele în DBMS MySQL, apoi să creăm un mic tabel în care vom stoca datele de înregistrare.

Mai întâi trebuie să creați un tabel în baza de date. Să sunăm la masă bez_reg Unde bez este prefixul tabelului și reg numele tabelului.

Structura tabelului: bez_reg

-- -- Structura tabelului `bez_reg` -- CREATE TABLE IF NU EXISTIS `bez_reg` (`id` int(11) NOT NULL AUTO_INCREMENT, `login` varchar(200) NOT NULL, `pass` varchar(32) NOT NULL , `salt` varchar(32) NOT NULL, `active_hex` varchar(32) NOT NULL, `status` int(1) NOT NULL, PRIMARY KEY (`id`)) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

Acum să creăm scripturile principale pentru lucrări ulterioare.

FIȘIER INDEX.PHP

FIȘIER CONFIG.PHP

"); ?>

Fișierul 404.HTML

Eroare 404

Eroare 404

A apărut o eroare 404 pe pagină

A se intoarce

Fișier BD.PHP

FIȘIER INDEX.HTML

Înregistrarea utilizatorului PHP MySQL cu e-mail de activare

FIȘIER FUNCT.PHP

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

  • ".$val."
  • "."\n"; ) else $err .= "
  • ".$date."
  • "."\n"; $err .= ""."\n"; return $err; ) /**Wrapper de interogare MySQL simplu * @param șir $sql */ function mysqlQuery($sql) ( $res = mysql_query($sql); /* Verificați rezultatul Acesta este afișat interogarea efectivă trimisă către MySQL, precum și eroarea.*/ if(!$res) ( $message = "Interogare greșită: " . mysql_error() . "\n"; $message .= "Întreaga interogare: " . $ sql; die($mesaj); ) return $res; ) /**Generator simplu de sare * @param șir $sql */ function salt() ( $salt = substr(md5(uniqid()), - 8); return $sare;)

    Să începem să scriem înregistrarea. Pentru început, va trebui să facem un șablon de formular de înregistrare, astfel încât utilizatorul să-și poată introduce datele pentru prelucrare. În continuare, va trebui să scriem propriul handler de formular, care va verifica corectitudinea datelor introduse de utilizator. După ce datele sunt verificate cu succes, le scriem în baza noastră de date și trimitem un e-mail utilizatorului pentru a-și activa contul.

    FIȘIER REG.PHP

    Te-ai înregistrat cu succes! Vă rugăm să vă activați contul!!"; //Activează contul if(isset($_GET["key"])) ( //Verifică cheia $sql = "SELECT * FROM `". BEZ_DBPREFIX ."reg` WHERE `active_hex` = "". escape_str ( $_GET["cheie"]) ."""; $res = mysqlQuery($sql); if(mysql_num_rows($res) == 0) $err = "Cheia de activare este nevalidă!"; //Verificați erori și afișați utilizatorului if(count($err) > 0) echo showErrorMessage($err); else ( //Obțineți adresa utilizatorului $row = mysql_fetch_assoc($res); $email = $row["login"]; //Activează utilizatorul contului $sql = "UPDATE `".BEZ_DBPREFIX ."reg` SET `status` = 1 WHERE `login` = "".$email ."""; $res = mysqlQuery($sql); / /Trimite e-mail de activare $title = "(!LANG:Contul tau de la http://site-ul web a fost activat cu succes"; $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 protected](+\.)+(2,6)$/i", $_POST["email"])) $err = "E-mail introdus incorect"."\n"; ) if(empty($_POST[ "trece") ])) $err = "Câmpul pentru parola nu poate fi gol"; if(empty($_POST["pass2"])) $err = "Câmpul de confirmare a parolei nu poate fi gol"; //Verificați erorile și afișați utilizatorului dacă (count($err) > 0) echo showErrorMessage($err); else ( /*Continuați să verificați datele introduse Verificați parolele care se potrivesc*/ if($_POST["pass"] != $_POST["pass2" ] ) $err = „Parolele nu se potrivesc”; //Verificați erorile și afișați utilizatorului if(count($err) > 0) echo showErrorMessage($err); else ( /*Verificați dacă avem un astfel de utilizator în baza de date* / $sql = "SELECT `login` FROM `".BEZ_DBPREFIX ."reg` WHERE `login` = "".escape_str($_POST["email"]) ."""; $res = mysqlQuery($ sql); if(mysql_num_rows($res) > 0) $err = "Ne pare rău de autentificare: ". $_POST["e-mail"] ." ocupat!"; //Verificați erorile și afișați utilizatorului if(count($err) > 0) echo showErrorMessage($err); else ( //Obțineți HASH-ul sării $salt = salt(); // Salt parola $pass = md5(md5($_POST["pass"]).$salt); /*Dacă totul merge bine, scrieți datele în baza de date*/ $sql = "INSERT INTO `". BEZ_DBPREFIX ."reg ` VALUES("", "" .escape_str($_POST["email"]) ."", "". $trece ."", "". $sare ."", "". md5($sare) . "", 0)"; $ res = mysqlQuery($sql); //Trimite e-mail de activare $url = BEZ_HOST ."less/reg/?mode=reg&key=". md5($salt); $title = "(! LANG:Înregistrare pe http://site-ul web"; $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

    Înregistrarea utilizatorului PHP MySQL cu e-mail de activare

    E-mail *:
    Parola *:
    Confirmarea parolei *:

    Câmpuri cu o pictogramă * necesar

    Deoarece înregistrarea noastră de utilizator este gata, este timpul să scrieți autorizarea. Vom crea un formular pentru autorizarea utilizatorului, apoi vom scrie un handler de formular de autorizare și, în final, vom face un script arată.php care ne va arăta dacă suntem sau nu autorizați în sistem.

    FIȘIER AUTH.PHP

    0) echo showErrorMessage($err); else ( /*Creează o interogare de preluare a bazei de date pentru a autentifica utilizatorul*/ $sql = "SELECT * FROM `". BEZ_DBPREFIX ."reg` WHERE `login` = "". escape_str($_POST["email"]) ." " AND `status` = 1"; $res = mysqlQuery($sql); //Dacă autentificarea se potrivește, verificați parola if(mysql_num_rows($res) > 0) ( //Obțineți date din tabel $row = mysql_fetch_assoc( $res ); if(md5(md5($_POST["pass"]).$row["salt"]) == $row["pass"]) ( $_SESSION["user"] = true; // Resetați parametrii header("Locație:". BEZ_HOST .."less/reg/?mode=auth"); ieșire; ) else echo showErrorMessage ("Parolă greșită!"); ) else echo showErrorMessage ("Autentificare ". $_POST["e-mail"] ." nu a fost găsit!"); ) ) ?>

    Pentru cei care au cea mai recentă versiune de PHP, postez acest script folosind DOP deoarece extensie MySQL este depreciat și a fost eliminat din noua versiune de PHP. Descărcați înregistrarea și autorizarea php mysql pdo

    Arhiva a fost actualizată la 24 februarie 2015.

    Atenţie: Dacă utilizați acest script pe un server local, cum ar fi DENWER,XAMPP, atunci nu ar trebui să așteptați scrisorile către căsuța poștală. Scrisorile sunt în ciot sendmail. LA Denver le poți găsi pe parcurs Z:\tmp\!sendmail\ Puteți deschide aceste fișiere în orice client de e-mail.

    În acest articol, vei învăța cum se creează un formular de înregistrare și autorizare folosind HTML, JavaScript, PHP și MySql. Astfel de formulare sunt folosite pe aproape fiecare site, indiferent de tipul acestuia. Sunt create pentru forum, și pentru magazinul online și pentru rețelele sociale (cum ar fi Facebook, Twiter, Odnoklassniki) și pentru multe alte tipuri de site-uri.

    Dacă aveți un site pe computerul local, atunci sper că aveți deja . Nimic nu va funcționa fără el.

    Crearea unui tabel în baza de date

    Pentru a implementa înregistrarea utilizatorilor, avem nevoie mai întâi de o bază de date. Dacă îl aveți deja, atunci grozav, în caz contrar, trebuie să îl creați. În articol, explic în detaliu cum să faci asta.

    Și așa, avem o bază de date (abreviat DB), acum trebuie să creăm un tabel utilizatoriiîn care vom adăuga utilizatorii noștri înregistrați.

    Cum se creează un tabel în baza de date, am explicat și în articol. Înainte de a crea un tabel, trebuie să definim ce câmpuri va conține. Aceste câmpuri se vor potrivi cu câmpurile din formularul de înregistrare.

    Deci, ne-am gândit, ne-am imaginat ce câmpuri va avea formularul nostru și creăm un tabel utilizatorii cu aceste câmpuri:

    • id- Identificator. Camp id ar trebui să fie în fiecare tabel din baza de date.
    • Nume- Pentru a salva numele.
    • numele de familie- Pentru a salva numele de familie.
    • e-mail- Pentru a salva adresa poștală. Vom folosi e-mailul ca logare, deci acest câmp trebuie să fie unic, adică să aibă un index UNIC.
    • email_status- Un câmp pentru a indica dacă e-mailul este confirmat sau nu. Dacă e-mailul este confirmat, atunci acesta va avea valoarea 1, în caz contrar valoarea 0.
    • parola- Pentru a salva parola.


    Dacă doriți ca formularul de înregistrare să aibă mai multe câmpuri, le puteți adăuga și aici.

    Asta e, masa noastră utilizatorii gata. Să trecem la pasul următor.

    Conexiune la baza de date

    Am creat baza de date, acum trebuie să ne conectăm la ea. Ne vom conecta folosind extensia PHP MySQLi.

    În folderul site-ului nostru, creați un fișier cu numele dbconnect.php, iar în el scriem următorul script:

    Eroare de conectare la baza de date. Descrierea erorii: „.mysqli_connect_error().”

    "; exit(); ) // Setați codificarea conexiunii $mysqli->set_charset("utf8"); //Pentru comoditate, adăugați aici o variabilă care va conține numele site-ului nostru $address_site = "http://testsite .local" ; ?>

    Acest fișier dbconnect.php va trebui conectat la manevrele de formulare.

    Acordați atenție variabilei $address_site, aici am indicat numele site-ului meu de testare, la care voi lucra. În consecință, indicați numele site-ului dvs.

    Structura site-ului

    Acum să aruncăm o privire asupra structurii HTML a site-ului nostru.

    Mutați antetul și subsolul site-ului în fișiere separate, header.phpși footer.php. Le vom conecta pe toate paginile. Și anume, pe principal (fișier index.php), la pagina cu formularul de înregistrare (file form_register.php) și pe pagina cu formularul de autorizare (dosar form_auth.php).

    Blocați cu link-urile noastre, înregistrareși autorizare, adăugați la antetul site-ului astfel încât acestea să fie afișate pe toate paginile. Un link va intra pe pagina formular de înregistrare(fişier form_register.php) iar celălalt la pagina cu formular de autorizare(fişier form_auth.php).

    Conținutul fișierului header.php:

    Numele site-ului nostru

    Ca rezultat, pagina noastră principală arată astfel:


    Desigur, site-ul dvs. poate avea o structură complet diferită, dar acest lucru nu este important pentru noi acum. Principalul lucru este că există link-uri (butoane) pentru înregistrare și autorizare.

    Acum să trecem la formularul de înregistrare. După cum ați înțeles deja, îl avem în dosar form_register.php.

    Mergem la baza de date (în phpMyAdmin), deschidem structura tabelului utilizatoriiși vedem de ce câmpuri avem nevoie. Deci, avem nevoie de câmpuri pentru introducerea unui prenume și prenume, un câmp pentru introducerea unei adrese poștale (E-mail) și un câmp pentru introducerea unei parole. Și din motive de securitate, vom adăuga un câmp de intrare captcha.

    Pe server, ca urmare a procesării formularului de înregistrare, pot apărea diverse erori din cauza cărora utilizatorul nu se va putea înregistra. Prin urmare, pentru ca utilizatorul să înțeleagă de ce înregistrarea eșuează, este necesar să îi afișeze mesaje despre aceste erori.

    Înainte de afișarea formularului, adăugăm un bloc pentru afișarea mesajelor de eroare din sesiune.

    Și încă un moment, dacă utilizatorul este deja autorizat, și de dragul interesului, intră direct pe pagina de înregistrare scriind în bara de adrese a browserului website_url/form_register.php, atunci în acest caz, în locul formularului de înregistrare, vom afișa un titlu pentru acesta că este deja înregistrat.

    În general, codul fișierului form_register.php am prins asa:

    Esti deja inregistrat

    În browser, pagina de înregistrare arată astfel:


    Prin intermediul atribut necesar, am făcut toate câmpurile obligatorii.

    Atenție la codul formularului de înregistrare unde este afișat captcha:


    Noi, în valoarea atributului src pentru imagine, am specificat calea către fișier captcha.php, care generează acest captcha.

    Să ne uităm la codul fișierului captcha.php:

    Codul este bine comentat, așa că mă voi concentra doar pe un punct.

    În interiorul unei funcții imagineTtfText(), este specificată calea către font verdana.ttf. Deci, pentru ca captcha să funcționeze corect, trebuie să creăm un folder fonturi, și puneți fișierul font acolo verdana.ttf. Îl puteți găsi și descărca de pe Internet, sau îl puteți lua din arhiva cu materialele acestui articol.

    Am terminat cu structura HTML, este timpul să trecem mai departe.

    Validarea e-mailului cu jQuery

    Orice formular necesită validarea datelor introduse, atât pe partea client (folosind JavaScript, jQuery), cât și pe partea serverului.

    Trebuie să acordăm o atenție deosebită câmpului E-mail. Este foarte important ca adresa de e-mail introdusă să fie validă.

    Pentru acest câmp de introducere, am setat tipul de e-mail (type="email"), acesta ne avertizează puțin împotriva formatelor incorecte. Dar, acest lucru nu este suficient, deoarece prin inspectorul de cod pe care ni-l pune la dispoziție browser-ul, puteți modifica cu ușurință valoarea atributului tip cu e-mail pe text, și atât, cecul nostru nu va mai fi valabil.


    Și în acest caz, trebuie să facem o verificare mai fiabilă. Pentru a face acest lucru, vom folosi biblioteca jQuery din JavaScript.

    Pentru a conecta biblioteca jQuery, în fișier header.phpîntre etichete , înainte de eticheta de închidere , adăugați această linie:

    Imediat după această linie, adăugați codul de verificare de validare a e-mailului. Aici adăugăm codul pentru verificarea lungimii parolei introduse. Trebuie să aibă cel puțin 6 caractere.

    Cu ajutorul acestui script, verificăm valabilitatea adresei de e-mail introduse. Dacă utilizatorul a introdus un e-mail greșit, atunci afișăm o eroare despre acesta și dezactivăm butonul de trimitere al formularului. Dacă totul este în regulă, atunci eliminăm eroarea și activăm butonul de trimitere al formularului.

    Și așa, cu validarea formularului din partea clientului, am terminat. Acum îl putem trimite la server, unde vom face și câteva verificări și vom adăuga date în baza de date.

    Înregistrare utilizator

    Trimitem formularul pentru procesare la dosar înregistrare.php, prin metoda POST. Numele acestui fișier de gestionare, specificat în valoarea atributului acțiune. Și metoda de trimitere este specificată în valoarea atributului metodă.

    Deschideți acest fișier înregistrare.phpși primul lucru pe care trebuie să-l facem este să scriem o funcție de lansare a sesiunii și să includem fișierul pe care l-am creat mai devreme dbconnect.php(În acest fișier, am făcut o conexiune la baza de date). Și totuși, declară imediat celulele mesaje de eroareși mesaje_succesîn matricea globală a sesiunii. LA mesaje_eroare vom înregistra toate mesajele de eroare care apar în timpul procesării formularelor și în mesaje_succes Să scriem mesaje fericite.

    Înainte de a continua, trebuie să verificăm dacă formularul a fost depus. Un atacator poate privi valoarea unui atribut acțiune din formular și aflați ce fișier procesează acest formular. Și poate veni cu ideea de a merge direct la acest fișier introducând următoarea adresă în bara de adrese a browserului: http://site_site/register.php

    Deci trebuie să verificăm dacă există o celulă în matricea globală POST al cărei nume se potrivește cu numele butonului nostru „Înregistrare” din formular. Astfel, verificăm dacă butonul „Înregistrare” a fost apăsat sau nu.

    Dacă un atacator încearcă să meargă direct la acest fișier, va primi un mesaj de eroare. Vă reamintesc că variabila $address_site conține numele site-ului și a fost declarată în fișier dbconnect.php.

    Greşeală! Pagina principală .

    "); } ?>

    Valoarea captcha din sesiune a fost adăugată în timpul generării acesteia, în fișier captcha.php. Ca o reamintire, voi arăta încă o dată această bucată de cod din fișier captcha.php, unde valoarea captcha este adăugată la sesiune:

    Acum să trecem la testul în sine. În dosar înregistrare.php, în interiorul blocului if, unde verificăm dacă butonul „Înregistrare” a fost apăsat, sau mai degrabă, unde comentariul „ // (1) Loc pentru următoarea bucată de cod"noi scriem:

    //Verificați captcha primită //Tăiați spațiile de la început și de la sfârșitul șirului $captcha = trim($_POST["captcha"]); if(isset($_POST["captcha"]) && !empty($captcha))( //Compară valoarea primită cu valoarea din sesiune. if(($_SESSION["rand"] != $captcha) && ($_SESSION ["rand"] != ""))( // Dacă captcha-ul nu este corect, întoarceți utilizatorul la pagina de înregistrare și acolo vom afișa un mesaj de eroare că a introdus captcha greșit. $error_message. = "

    Greşeală! Ai introdus captcha greșit

    "; // Salvați mesajul de eroare în sesiune. $_SESSION["error_messages"] = $error_message; // Reveniți utilizatorul la antetul paginii de înregistrare ("HTTP/1.1 301 Mutat permanent"); header("Locație: " .$address_site ."/form_register.php"); //Opriți ieșirea din script(); ) // (2) Loc pentru următoarea bucată de cod )else( //Dacă captcha nu este trecut sau este ieșire gol ("

    Greşeală! Nu există cod de verificare, adică codul captcha. Puteți merge la pagina principală.

    "); }

    În continuare, trebuie să procesăm datele primite din matricea POST. În primul rând, trebuie să verificăm conținutul matricei globale POST, adică dacă există celule acolo ale căror nume se potrivesc cu numele câmpurilor de intrare din formularul nostru.

    Dacă celula există, atunci tăiem spațiile de la început și de la sfârșitul șirului din această celulă, în caz contrar, redirecționăm utilizatorul înapoi la pagina cu formularul de înregistrare.

    Mai departe, după ce spațiile au fost tăiate, adăugăm un șir la variabilă și verificăm această variabilă pentru golire, dacă nu este goală, apoi trecem mai departe, altfel redirecționăm utilizatorul înapoi la pagina cu formularul de înregistrare.

    Lipiți acest cod în locația specificată // (2) Loc pentru următoarea bucată de cod".

    /* Verificați dacă matricea globală $_POST conține date trimise din formular și includeți datele trimise în variabile obișnuite.*/ if(isset($_POST["first_name"]))( // Decupați spațiile de la începutul și sfârșitul lui șirul $first_name = trim($_POST["first_name"]); //Verificați dacă variabila este goală if(!empty($first_name))( // Pentru siguranță, convertiți caracterele speciale în entități HTML $first_name = htmlspecialchars( $first_name, ENT_QUOTES) ; )else( // Salvează mesajul de eroare în sesiune. $_SESSION["error_messages"] .= "

    Introdu numele tau

    Câmp de nume lipsește

    "; //Readuceți utilizatorul la antetul paginii de înregistrare ("HTTP/1.1 301 Mutat permanent"); header("Locație: ".$address_site."/form_register.php"); //Opriți ieșirea din script(); ) if( isset($_POST["last_name"]))( // Tăiați spațiile de la începutul și sfârșitul șirului $last_name = trim($_POST["last_name"]); if(!empty($last_name)) ( // Pentru siguranță, convertiți caracterele speciale în entități HTML $last_name = htmlspecialchars($last_name, ENT_QUOTES); )else( // Salvați mesajul de eroare în sesiune. $_SESSION["error_messages"] .= "

    Introduceți numele dvs. de familie

    "; //Readuceți utilizatorul la antetul paginii de înregistrare ("HTTP/1.1 301 Mutat permanent"); header("Locație: ".$address_site."/form_register.php"); //Opriți ieșirea din script(); ) )else ( // Salvează mesajul de eroare în sesiune. $_SESSION["error_messages"] .= "

    Câmp de nume lipsește

    "; //Readuceți utilizatorul la antetul paginii de înregistrare ("HTTP/1.1 301 Mutat permanent"); header("Locație: ".$address_site."/form_register.php"); //Opriți ieșirea din script(); ) if( isset($_POST["email"]))( // Tăiați spațiile de la începutul și sfârșitul șirului $email = trim($_POST["email"]); if(!empty($email)) ( $email = htmlspecialchars ($email, ENT_QUOTES); // (3) Locul codului pentru a verifica formatul adresei de e-mail și unicitatea acesteia )else( // Salvați mesajul de eroare în sesiune. $_SESSION["error_messages" ] .= "

    Introduceți adresa dvs. de email

    "; //Readuceți utilizatorul la antetul paginii de înregistrare ("HTTP/1.1 301 Mutat permanent"); header("Locație: ".$address_site."/form_register.php"); //Opriți ieșirea din script(); ) )else ( // Salvează mesajul de eroare în sesiune. $_SESSION["error_messages"] .= "

    "; //Readuceți utilizatorul la antetul paginii de înregistrare ("HTTP/1.1 301 Mutat permanent"); header("Locație: ".$address_site."/form_register.php"); //Opriți ieșirea din script(); ) if( isset($_POST["parolă"]))( // Tăiați spațiile de la începutul și sfârșitul șirului $parolă = trim($_POST["parolă"]); if(!empty($parolă)) ( $parolă = htmlcaractere speciale ($parolă, ENT_QUOTES); //Criptați parola $parolă = md5($parolă."top_secret"); )else( // Salvați mesajul de eroare în sesiune. $_SESSION["messaje_de_eroare"] .= "

    Introduceți parola

    "; //Readuceți utilizatorul la antetul paginii de înregistrare ("HTTP/1.1 301 Mutat permanent"); header("Locație: ".$address_site."/form_register.php"); //Opriți ieșirea din script(); ) )else ( // Salvează mesajul de eroare în sesiune. $_SESSION["error_messages"] .= "

    "; //Readuceți utilizatorul la antetul paginii de înregistrare ("HTTP/1.1 301 Mutat permanent"); header("Locație: ".$address_site."/form_register.php"); //Opriți ieșirea din script(); ) // (4) Locul pentru codul pentru adăugarea unui utilizator la baza de date

    Domeniul are o importanță deosebită. e-mail. Trebuie să verificăm formatul adresei poștale primite și unicitatea acesteia în baza de date. Adică dacă un utilizator cu aceeași adresă de e-mail este deja înregistrat.

    La locatia specificata" // (3) Locul codului pentru verificarea formatului adresei poștale și unicitatea acesteia" adăugați următorul cod:

    //Verificați formatul adresei de e-mail primite folosind expresia regulată $reg_email = "/^**@(+(*+)*\.)++/i"; //Dacă formatul adresei de e-mail primite nu se potrivește cu expresia regulată if(!preg_match($reg_email, $email))( // Salvează mesajul de eroare în sesiune. $_SESSION["error_messages"] .= "

    Ați introdus un e-mail nevalid

    "; //Readuceți utilizatorul la antetul paginii de înregistrare ("HTTP/1.1 301 Mutat permanent"); header("Locație: ".$address_site."/form_register.php"); //Opriți ieșirea din script(); ) // Verificați dacă există deja o astfel de adresă în baza de date $result_query = $mysqli->query("SELECT `email` FROM `users` WHERE `email`="".$email."""); Dacă există sunt exact un rând, atunci utilizatorul cu această adresă de e-mail este deja înregistrat if($result_query->num_rows == 1)( //Dacă rezultatul nu este fals if(($row = $result_query->fetch_assoc())! = fals) ( // Salvează mesajul de eroare în sesiune. $_SESSION["error_messages"] .= "

    Utilizatorul cu această adresă de e-mail este deja înregistrat

    "; //Readuceți utilizatorul la antetul paginii de înregistrare ("HTTP/1.1 301 Mutat permanent"); header("Locație: ".$address_site."/form_register.php"); )else( //Salvați mesajul de eroare la sesiune .$_SESSION["error_messages"] .= "

    Eroare la interogarea bazei de date

    "; //Readuceți utilizatorul la antetul paginii de înregistrare ("HTTP/1.1 301 Mutat permanent"); header("Locație: ".$address_site."/form_register.php"); ) /* închideți selecția */ $ result_query-> close(); //Oprește scriptul exit(); ) /* închide selecția */ $result_query->close();

    Și așa, am terminat cu toate verificările, este timpul să adăugăm utilizatorul în baza de date. La locatia specificata" // (4) Locul pentru codul pentru adăugarea unui utilizator la baza de date" adăugați următorul cod:

    //Interogare pentru a adăuga un utilizator la baza de date $result_query_insert = $mysqli->query("INSERT INTO `users` (prenume, prenume, e-mail, parolă) VALUES ("".$prenume."", "".$nume ." ", "".$email."", "".$parola."")"); if(!$result_query_insert)( // Salvează mesajul de eroare în sesiune. $_SESSION["error_messages"] .= "

    Eroare solicitarea de a adăuga un utilizator la baza de date

    "; //Readuceți utilizatorul la antetul paginii de înregistrare ("HTTP/1.1 301 Mutat permanent"); header("Locație: ".$address_site."/form_register.php"); //Opriți ieșirea din script(); )else( $_SESSION["success_messages"] = "

    Înregistrarea s-a încheiat cu succes!!!
    Acum vă puteți autentifica folosind numele de utilizator și parola.

    "; //Trimiteți utilizatorul la antetul paginii de autentificare ("HTTP/1.1 301 Mutat permanent"); header("Locație: ".$address_site."/form_auth.php"); ) /* Finalizați solicitarea */ $ result_query_insert-> close(); //Închide conexiunea la baza de date $mysqli->close();

    Dacă apare o eroare în cererea de adăugare a unui utilizator la baza de date, adăugăm în sesiune un mesaj despre această eroare și returnăm utilizatorul la pagina de înregistrare.

    În rest, dacă totul a mers bine, adăugăm și un mesaj la sesiune, dar deja este mai plăcut și anume îi spunem utilizatorului că înregistrarea a avut succes. Și îl redirecționăm către pagina cu formularul de autorizare.

    Scriptul pentru verificarea formatului adresei de e-mail și a lungimii parolei se află în fișier header.php, deci va afecta și câmpurile din formularul respectiv.

    Sesiunea este începută și în fișier header.php, deci în dosar form_auth.php sesiunea nu trebuie pornită, deoarece primim o eroare.


    După cum am spus, aici funcționează și scriptul pentru verificarea formatului adresei de e-mail și a lungimii parolei. Prin urmare, dacă utilizatorul introduce o adresă de e-mail greșită sau o parolă scurtă, va primi imediat un mesaj de eroare. Un buton a intra va deveni inactiv.

    După remedierea erorilor, butonul a intra devine activ și utilizatorul poate trimite formularul la serverul unde va fi procesat.

    Autorizarea utilizatorului

    Pentru a atribui valoare acțiune formularul de autorizare are un dosar auth.php, ceea ce înseamnă că formularul va fi procesat în acest fișier.

    Deci haideți să deschidem fișierul auth.phpși scrieți codul pentru a procesa formularul de autorizare. Primul lucru de făcut este să porniți sesiunea și să includeți fișierul dbconnect.php pentru a se conecta la baza de date.

    //Declară o celulă pentru a adăuga erori care pot apărea în timpul procesării formularelor. $_SESSION["error_messages"] = ""; //Declară o celulă pentru a adăuga mesaje de succes $_SESSION["success_messages"] = "";

    /* Verificați dacă formularul a fost trimis, adică dacă s-a făcut clic pe butonul Autentificare. Daca da, atunci mergem mai departe, daca nu, atunci vom afisa utilizatorului un mesaj de eroare, in care sa se precizeze ca a mers direct pe aceasta pagina. */ if(isset($_POST["btn_submit_auth"]) && !empty($_POST["btn_submit_auth"]))( //(1) Loc pentru următoarea bucată de cod )else( exit("

    Greşeală! Ați accesat direct această pagină, deci nu există date de prelucrat. Puteți merge la pagina principală.

    "); }

    //Verificați captcha primit if(isset($_POST["captcha"]))( //Tăiați spațiile de la începutul și sfârșitul șirului $captcha = trim($_POST["captcha"]); if(!empty ($captcha ))( //Comparați valoarea primită cu valoarea din sesiune. if(($_SESSION["rand"] != $captcha) && ($_SESSION["rand"] != ""))( // Dacă captcha-ul este invalid, atunci returnăm utilizatorul la pagina de autorizare și acolo vom afișa un mesaj de eroare că a introdus captcha greșit. $error_message = "

    Greşeală! Ai introdus captcha greșit

    "; // Salvați mesajul de eroare în sesiune. $_SESSION["error_messages"] = $error_message; // Readuceți utilizatorul la antetul paginii de autorizare ("HTTP/1.1 301 Mutat permanent"); header("Locație: " .$address_site ."/form_auth.php"); //Opriți scriptul exit(); ) )else( $error_message = "

    Greşeală! Câmpul de introducere captcha nu trebuie să fie gol.

    "; // Salvați mesajul de eroare în sesiune. $_SESSION["error_messages"] = $error_message; // Readuceți utilizatorul la antetul paginii de autorizare ("HTTP/1.1 301 Mutat permanent"); header("Locație: " .$address_site ."/form_auth.php"); //Opriți ieșirea din script(); ) //(2) Loc pentru procesarea adresei de e-mail //(3) Loc pentru procesarea parolei //(4) Loc pentru efectuarea unei interogări la baza de date )else ( //Dacă captcha nu este trecut exit("

    Greşeală! Nu există cod de verificare, adică codul captcha. Puteți merge la pagina principală.

    "); }

    Dacă utilizatorul a introdus corect codul de verificare, atunci mergem mai departe, altfel îl întoarcem pe pagina de autorizare.

    Verificarea adresei de e-mail

    // Tăiați spațiile de la începutul și sfârșitul șirului $email = trim($_POST["email"]); if(isset($_POST["email"]))( if(!empty($email))( $email = htmlspecialchars($email, ENT_QUOTES); //Verificați formatul adresei de e-mail primite folosind expresia obișnuită $ reg_email = " /^**@(+(*+)*\.)++/i"; //Dacă formatul adresei de e-mail primite nu se potrivește cu expresia regulată if(!preg_match($reg_email, $email ))( // Salvați mesajul de eroare în sesiune.$_SESSION["error_messages"] .= "

    Ați introdus un e-mail nevalid

    "; //Readuceți utilizatorul la antetul paginii de autorizare ("HTTP/1.1 301 Mutat permanent"); header("Locație: ".$address_site."/form_auth.php"); //Opriți ieșirea din script(); ) )else ( // Salvează mesajul de eroare în sesiune. $_SESSION["error_messages"] .= "

    Câmpul pentru introducerea adresei poștale (e-mail) nu trebuie să fie gol.

    "; //Readuceți utilizatorul la antetul paginii de înregistrare ("HTTP/1.1 301 Mutat permanent"); header("Locație: ".$address_site."/form_register.php"); //Opriți ieșirea din script(); ) )else ( // Salvează mesajul de eroare în sesiune. $_SESSION["error_messages"] .= "

    Nu există câmp pentru introducerea e-mailului

    "; //Readuceți utilizatorul la antetul paginii de autorizare ("HTTP/1.1 301 Mutat permanent"); header("Locație: ".$address_site."/form_auth.php"); //Opriți ieșirea din script(); ) // (3) Loc pentru procesarea parolei

    Dacă utilizatorul a introdus o adresă de e-mail în format greșit sau valoarea câmpului adresei de e-mail este goală, atunci îl întoarcem la pagina de autorizare, unde afișăm un mesaj despre aceasta.

    Verificarea parolei

    Următorul câmp de procesat este câmpul pentru parolă. la locul desemnat" //(3) Loc pentru procesarea parolei", noi scriem:

    If(isset($_POST["parolă"]))( // Decupați spațiile de la începutul și sfârșitul șirului $parolă = trim($_POST["parolă"]); if(!empty($parolă))( $parolă = htmlspecialchars($parolă, ENT_QUOTES); // Criptați parola $parolă = md5($parolă."top_secret"); )else( // Salvați mesajul de eroare în sesiune. $_SESSION["messaje_de_eroare"] . = "

    Introduceți parola

    "; //Readuceți utilizatorul la antetul paginii de înregistrare ("HTTP/1.1 301 Mutat permanent"); header("Locație: ".$address_site."/form_auth.php"); //Opriți ieșirea din script(); ) )else ( // Salvează mesajul de eroare în sesiune. $_SESSION["error_messages"] .= "

    Nu există câmp pentru introducerea unei parole

    "; //Readuceți utilizatorul la antetul paginii de înregistrare ("HTTP/1.1 301 Mutat permanent"); header("Locație: ".$address_site."/form_auth.php"); //Opriți ieșirea din script(); )

    Aici, folosind funcția md5 (), criptăm parola primită, deoarece în baza de date avem parole în formă criptată. Cuvânt secret suplimentar în criptare, în cazul nostru " top_secret" trebuie să fie cea care a fost folosită la înregistrarea utilizatorului.

    Acum trebuie să faceți o interogare la baza de date pe o selecție de utilizator a cărei adresă de e-mail este egală cu adresa de e-mail primită și parola este egală cu parola primită.

    //Interogare la baza de date la selecția utilizatorului. $result_query_select = $mysqli->query("SELECT * FROM `users` WHERE email = "".$email."" AND parola = "".$parola."""); if(!$result_query_select)( // Salvează mesajul de eroare în sesiune. $_SESSION["error_messages"] .= "

    Eroare de interogare la selectarea utilizatorului din baza de date

    "; //Readuceți utilizatorul la antetul paginii de înregistrare ("HTTP/1.1 301 Mutat permanent"); header("Locație: ".$address_site."/form_auth.php"); //Opriți ieșirea din script(); )else( //Verificați dacă nu există niciun utilizator cu astfel de date în baza de date, apoi afișați un mesaj de eroare if($result_query_select->num_rows == 1)( // Dacă datele introduse se potrivesc cu datele din baza de date, apoi salvați login și parola la matricea sesiunii. $_SESSION["email"] = $email; $_SESSION["parola"] = $parolă; //Readuce utilizatorul la antetul paginii principale ("HTTP/1.1 301 Mutat permanent" ); header("Locație: ".$address_site ."/index.php"); )else( // Salvează mesajul de eroare în sesiune. $_SESSION["error_messages"] .= "

    Nume de utilizator și/sau parolă greșite

    "; //Readuceți utilizatorul la antetul paginii de autorizare ("HTTP/1.1 301 Mutat permanent"); header("Locație: ".$address_site."/form_auth.php"); //Opriți ieșirea din script(); ) )

    Ieșirea din site

    Și ultimul lucru pe care îl punem în aplicare este procedura de iesire. Momentan, în antet afișăm link-uri către pagina de autorizare și pagina de înregistrare.

    În antetul site-ului (fișier header.php), folosind sesiunea, verificăm dacă utilizatorul este deja autentificat. Dacă nu, atunci afișăm link-urile de înregistrare și autorizare, în caz contrar (dacă este autorizat), atunci în loc de link-urile de înregistrare și autorizare afișăm linkul Ieșire.

    O bucată de cod modificată din fișier header.php:

    Înregistrare

    Ieșire

    Când faceți clic pe linkul de ieșire de pe site, intrăm în fișier logout.php, unde pur și simplu distrugem celulele cu adresa de e-mail și parola din sesiune. După aceea, returnăm utilizatorul înapoi la pagina pe care a fost făcut clic pe link Ieșire.

    Cod fișier logout.php:

    Asta e tot. Acum știi cum implementează și procesează formulare de înregistrare și autorizare utilizator pe site-ul dvs. Aceste formulare se găsesc pe aproape fiecare site, așa că fiecare programator ar trebui să știe cum să le creeze.

    De asemenea, am învățat cum să validăm datele de intrare, atât pe partea client (în browser, folosind JavaScript, jQuery), cât și pe partea server (folosind limbajul PHP). Am învățat și noi implementați procedura de deconectare.

    Toate scripturile sunt testate și funcționează. Puteți descărca arhiva cu fișierele acestui mic site de pe acest link.

    Pe viitor voi scrie un articol unde voi descrie. Și mai am de gând să scriu un articol în care să explic (fără a reîncărca pagina). Deci, pentru a fi la curent cu lansarea de noi articole, vă puteți abona la site-ul meu.

    Dacă aveți întrebări, vă rugăm să contactați, de asemenea, dacă observați vreo greșeală în articol, vă rog să-mi spuneți.

    Planul de lecție (Partea 5):

    1. Crearea unei structuri HTML pentru formularul de autorizare
    2. Prelucrăm datele primite
    3. Afișăm salutul utilizatorului în antetul site-ului

    Ți-a plăcut articolul?

    Laravel cere Composer să gestioneze dependențele proiectului. Deci, înainte de a instala Laravel, asigurați-vă că aveți Composer instalat pe sistemul dvs. În cazul în care auziți despre Composer pentru prima dată, este un instrument de gestionare a dependențelor pentru php similar cu npm-ul nodului.

    Pentru a instala Composer pe computer, verificați această postare:

    Instalarea Laravel pe Windows:

    Urmați pașii de mai jos pentru a instala laravel pe mașina Windows. Indiferent dacă aveți stiva xampp/wamp, funcționează pentru ambele. Pe WAMP, asigurați-vă că instalați laravel în folderul „www” și pe XAMPP, evident „htdocs”.

    PASUL-1) Deschideți folderul „htdocs” pe XAMPP, țineți apăsată tasta SHIFT și faceți clic dreapta pe folder și alegeți „deschideți fereastra de comandă aici”. Alternativ, puteți deschide fereastra de comandă și puteți schimba directorul în „xampp/htdocs”.

    PASUL-2) Introduceți următoarea comandă.

    Composer create-project laravel/laravel my_laravel_site --prefer-dist

    Aici „my_laravel_site” este numele folderului în care vor fi instalate fișierele laravel. Schimbați asta după bunul plac.

    PASUL-3) Acum este timpul să aveți răbdare, deoarece instalarea laravel va dura ceva timp.

    PASUL-4) Odată instalat, schimbați directorul la „my_laravel_site” (cd „my_laravel_site”) în promptul de comandă și introduceți comanda de mai jos.

    php artisan serve

    PASUL-5) Acesta va afișa un mesaj de genul „Serverul de dezvoltare Laravel a început:” împreună cu o adresă URL.

    PASUL-6) Copiați și lipiți adresa URL în browser. Dacă lucrurile merg bine, veți vedea ecranul de bun venit laravel.

    PASUL-7) Gata! Ați instalat cu succes laravel pe mașina Windows și gata de lucru.

    Setarea cheii aplicației:

    Laravel necesită puțină configurare după instalare. Este necesar să setați cheia aplicației. Acesta este un șir aleatoriu de 32 de caractere folosit pentru criptarea sesiunii și a altor date sensibile. De obicei, acest lucru va fi setat automat când instalați laravel prin intermediul compozitorului sau al programului de instalare laravel.

    În cazul în care nu este setat, trebuie să o faceți manual. Mai întâi asigurați-vă că redenumiți fișierul „.env.example” în „.env” de pe rădăcina aplicației. Apoi deschideți promptul de comandă și treceți la folderul proiectului laravel. Acum rulați comanda de mai jos pentru a genera cheia.

    php artisan key:generate

    Copiați această cheie generată în variabila APP_KEY din fișierul „.env”. Salvează și ai terminat.

    Instalarea unei versiuni specifice Laravel:

    Metoda de mai sus va face compozitorul să descarce și să instaleze cea mai recentă versiune de laravel. Dacă doriți să instalați versiuni anterioare de laravel pe mașina dvs., asigurați-vă că includeți numărul versiunii respective în comanda create-project.

    Composer create-project laravel/laravel=5.4 your-project-name --prefer-dist Citeste si:

    La fel poți instalați cu ușurință laravel folosind compozitor pe Windows. Sper că veți găsi acest tutorial util. Vă rugăm să o distribuiți pe cercul dvs. de socializare dacă vă place.

    În acest tutorial, vă ghidez prin procesul complet de creare a unui sistem de înregistrare a utilizatorilor în care utilizatorii își pot crea un cont furnizând nume de utilizator, e-mail și parolă, autentificare și deconectare folosind PHP și MySQL. De asemenea, vă voi arăta cum puteți face unele pagini accesibile numai utilizatorilor conectați. Orice alt utilizator care nu este autentificat nu va putea accesa pagina.

    Dacă preferați un videoclip, îl puteți viziona pe canalul meu de YouTube

    Primul lucru pe care trebuie să-l facem este să ne configurați baza de date.

    Creați o bază de date numită înregistrare. În înregistrare baza de date, adăugați un tabel numit utilizatorii. Tabelul utilizatorilor va avea următoarele patru câmpuri.

    • nume de utilizator - varchar(100)
    • e-mail - varchar(100)
    • parola - varchar(100)

    Puteți crea acest lucru folosind un client MySQL precum PHPMyAdmin.

    Sau îl puteți crea în promptul MySQL folosind următorul script SQL:

    CREATE TABLE `users` (`id` int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, `username` varchar(100) NOT NULL, `email` varchar(100) NOT NULL, `parola` varchar(100) NOT NULL) MOTOR =InnoDB DEFAULT CHARSET=latin1;

    Și asta este cu baza de date.

    Acum creați un folder numit înregistrareîntr-un director accesibil serverului nostru. adică creați folderul în interiorul htdocs (dacă utilizați serverul XAMPP) sau în interior www(dacă utilizați serverul wampp).

    în interiorul folderului înregistrare, creați următoarele fișiere:

    Deschideți aceste fișiere într-un editor de text la alegere. Al meu este Sublim Textul 3.

    Înregistrarea unui utilizator

    Deschideți fișierul register.php și inserați următorul cod în el:

    register.php:

    Inregistreaza-te

    Deja un membru? conectare

    Nimic complicat până acum, nu?

    Câteva lucruri de remarcat aici:

    Primul este că formularul nostru acțiune atributul este setat la register.php. Aceasta înseamnă că atunci când se face clic pe butonul de trimitere a formularului, toate datele din formular vor fi trimise pe aceeași pagină (register.php). Partea de cod care primește aceste date din formular este scrisă în fișierul server.php și de aceea o includem în partea de sus a fișierului register.php.

    Observați, de asemenea, că includem fișierul errors.php pentru a afișa erorile de formular. Vom ajunge la asta în curând.

    După cum puteți vedea în secțiunea de cap, ne conectăm la un fișier style.css. Deschideți fișierul style.css și inserați următorul CSS în el:

    * ( margine: 0px; umplutură: 0px; ) body ( dimensiunea fontului: 120%; fundal: #F8F8FF; ) .header ( lățime: 30%; marjă: 50px automat 0px; culoare: alb; fundal: #5F9EA0; text -align: center; chenar: 1px solid #B0C4DE; chenar-bottom: niciunul; chenar-radius: 10px 10px 0px 0px; padding: 20px; ) form, .content ( lățime: 30%; margine: 0px automat; padding: 20px ; chenar: 1px solid #B0C4DE; fundal: alb; chenar-radius: 0px 0px 10px 10px; ) .input-group (marja: 10px 0px 10px 0px; ) .input-group etichetă (afișare: bloc; text-align: stânga ; margine: 3px; ) .input-group input (înălțime: 30px; lățime: 93%; padding: 5px 10px; font-size: 16px; chenar-radius: 5px; chenar: 1px solid gri; ) .btn (padding: 10px; dimensiune font: 15px; culoare: alb; fundal: #5F9EA0; chenar: niciunul; chenar-radius: 5px; ) .error ( lățime: 92%; margine: 0px automat; umplutură: 10px; chenar: 1px solid # a94442; culoare: #a94442; fundal: #f2dede; chenar-rază: 5px; text-align: stânga; ) .succes (culoare: #3c7 63d; fundal: #dff0d8; chenar: 1px solid #3c763d; margine-jos: 20px )

    Acum forma arată frumos.

    Să scriem acum codul care va primi informațiile trimise din formular și să stocăm (înregistrăm) informațiile în baza de date. După cum am promis mai devreme, facem acest lucru în fișierul server.php.

    Deschide server.php și inserează acest cod în el:

    server.php

    Sesiunile sunt folosite pentru a urmări utilizatorii autentificați și astfel includem un session_start() în partea de sus a fișierului.

    Comentariile din cod explică aproape totul, dar voi evidenția câteva lucruri aici.

    Declarația if determină dacă se face clic pe butonul reg_user de pe formularul de înregistrare. Amintiți-vă, în formularul nostru, butonul de trimitere are un atribut de nume setat la reg_user și la asta ne referim în instrucțiunea if.

    Toate datele sunt primite din formular și verificate pentru a vă asigura că utilizatorul a completat corect formularul. Parolele sunt, de asemenea, comparate pentru a vă asigura că se potrivesc.

    Dacă nu au fost întâlnite erori, utilizatorul este înregistrat în utilizatorii tabel din baza de date cu o parolă codificată. Parola codificată este din motive de securitate. Acesta asigură că, chiar dacă un hacker reușește să obțină acces la baza ta de date, nu ar putea să-ți citească parola.

    Dar mesajele de eroare nu se afișează acum, deoarece fișierul nostru errors.php este încă gol. Pentru a afișa erorile, lipiți acest cod în fișierul errors.php.

    0) : ?>

    Când un utilizator este înregistrat în baza de date, acesta este imediat conectat și redirecționat către pagina index.php.

    Și asta este pentru înregistrare. Să ne uităm la autentificarea utilizatorului.

    autentificare utilizator

    Conectarea unui utilizator este un lucru și mai ușor de făcut. Doar deschideți pagina de autentificare și introduceți acest cod în ea:

    Sistem de înregistrare PHP și MySQL

    Autentificare

    Nu sunteți încă membru? Inscrie-te

    Totul de pe această pagină este destul de asemănător cu pagina register.php.

    Acum codul care conectează utilizatorul urmează să fie scris în același fișier server.php. Deci deschideți fișierul server.php și adăugați acest cod la sfârșitul fișierului:

    // ... // LOGIN UTILIZATOR if (isset($_POST["login_user"])) ( $nume utilizator = mysqli_real_escape_string($db, $_POST["nume utilizator"]); $parolă = mysqli_real_escape_string($db, $_POST [„parolă”]); if (gol ($nume utilizator)) ( array_push($erori, „Numele de utilizator este necesar”); ) if (gol ($parolă)) ( array_push($erori, „Este necesară parola”); ) if (număr($erori) == 0) ( $parolă = md5($parolă); $query = "SELECT * FROM users WHERE nume utilizator="$nume utilizator" AND parolă="$parolă""; $rezultate = mysqli_query ($db, $query); if (mysqli_num_rows($results) == 1) ( $_SESSION["username"] = $username; $_SESSION["success"] = "Acum sunteți conectat"; header(" locație: index.php"); )else ( array_push($errors, "Combinație greșită nume utilizator/parolă"); ) ) ) ?>

    Din nou, tot ceea ce face este să verifice dacă utilizatorul a completat corect formularul, verifică dacă acreditările lor se potrivesc cu o înregistrare din baza de date și le conectează dacă o face. După conectare, utilizatorul este redirecționat către fișierul index.php cu un mesaj de succes.

    Acum să vedem ce se întâmplă în fișierul index.php. Deschideți-l și inserați următorul cod în el:

    Acasă

    Pagina principala

    Bine ati venit

    deconectare

    Prima declarație if verifică dacă utilizatorul este deja conectat. Dacă nu sunt autentificați, vor fi redirecționați către pagina de conectare. Prin urmare, această pagină este accesibilă numai utilizatorilor autentificați. Dacă doriți să faceți orice pagină accesibilă numai utilizatorilor conectați, tot ce trebuie să faceți este să plasați această declarație if în partea de sus a fișierului.

    A doua declarație if verifică dacă utilizatorul a făcut clic pe butonul de deconectare. Dacă da, sistemul le deconectează și le redirecționează înapoi la pagina de conectare.

    Acum mergeți mai departe, personalizați-l pentru a se potrivi nevoilor dvs. și construiți un site minunat. Dacă aveți griji sau orice trebuie să clarificați, lăsați-l în comentariile de mai jos și va veni ajutor.

    Puteți susține oricând distribuirea pe rețelele sociale sau recomandând blogul meu prietenilor și colegilor.