Dobar dan prijatelji! Pogledajmo registraciju korisnika u PHP-u. Prvo, definirajmo uslove za registraciju našeg korisnika:

  • Lozinka je šifrirana pomoću algoritma MD5
  • Lozinka će biti "sol"
  • Prijava zauzeta provjera
  • Aktivacija korisnika pismom.
  • Snimanje i pohranjivanje podataka u DBMS MySQL

Da bismo napisali ovu skriptu, moramo razumjeti šta je registracija korisnika. Registracija korisnika je stjecanje stvarnih korisničkih podataka, obrada i pohrana podataka.

Jednostavnim riječima, registracija je samo evidencija i pohrana određenih podataka pomoću kojih možemo ovlastiti korisnika u našem slučaju - to su Login i Lozinka.

Ovlašćenje – davanje prava određenom licu ili grupi lica za vršenje određenih radnji, kao i postupak provjere ovih prava prilikom pokušaja izvršenja ovih radnji. Jednostavno rečeno, uz pomoć autorizacije možemo ograničiti pristup određenom sadržaju na našoj stranici.

Pogledajmo strukturu direktorija skripte za implementaciju naše prijave s autorizacijom. Moramo razbiti skripte na logičke dijelove. Module za registraciju i autorizaciju stavili smo u poseban direktorij. Također ćemo postaviti vezu baze podataka u zasebne direktorije. MySQL, datoteka s prilagođenim funkcijama, stilska datoteka css i naš šablon HTML. Ova struktura vam omogućava brzu navigaciju kroz skripte. Zamislite da imate veliki sajt sa gomilom modula i tako dalje. a ako nema reda, biće jako teško naći nešto u takvoj zbrci.

Pošto ćemo sve podatke pohraniti u DBMS MySQL, onda napravimo malu tabelu u kojoj ćemo pohraniti podatke o registraciji.

Prvo morate kreirati tabelu u bazi podataka. Pozovimo sto bez_reg gdje bez je prefiks tabele, i reg ime tabele.

Struktura tabele: bez_reg

-- -- `bez_reg` struktura tabele -- KREIRAJ TABELU AKO NE POSTOJI `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, PRIMARNI KLJUČ (`id`)) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

Sada kreirajmo glavne skripte za dalji rad.

INDEX.PHP DATOTEKA

CONFIG.PHP DATOTEKA

"); ?>

Datoteka 404.HTML

Greška 404

Greška 404

Došlo je do greške 404 na stranici

Vratiti

BD.PHP fajl

INDEX.HTML DATOTEKA

PHP MySQL registracija korisnika sa aktivacijskim emailom

FUNCT.PHP DATOTEKA

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

  • ".$val."
  • "."\n"; ) else $err .= "
  • ".$data."
  • "."\n"; $err .= ""."\n"; vrati $err; ) /**Jednostavan omotač MySQL upita * @param string $sql */ funkcija mysqlQuery($sql) ( $res = mysql_query($sql); /* Provjeri rezultat Ovo pokazuje stvarni upit poslan u MySQL kao i greška.*/ if(!$res) ( $message = "Loš upit: " . mysql_error() . "\n"; $message .= "Cijeli upit : " . $ sql; die($message); ) return $res; ) /**Jednostavan generator soli * @param string $sql */ funkcija salt() ( $salt = substr(md5(uniqid()), - 8); return $sol;)

    Počnimo pisati registraciju. Za početak ćemo morati napraviti obrazac obrasca za registraciju kako bi korisnik mogao unijeti svoje podatke za obradu. Zatim ćemo morati napisati sam rukovalac obrascima koji će provjeriti ispravnost unesenih podataka korisnika. Nakon što su podaci uspješno provjereni, upisujemo ih u našu bazu podataka i šaljemo e-mail korisniku da aktivira svoj račun.

    REG.PHP DATOTEKA

    Uspješno ste se registrovali! Molimo aktivirajte svoj račun!!"; //Aktivirajte račun if(isset($_GET["key"])) ( //Provjerite ključ $sql = "SELECT * FROM `". BEZ_DBPREFIX ."reg` WHERE `active_hex` = "". escape_str ( $_GET["key"]) """; $res = mysqlQuery($sql); if(mysql_num_rows($res) == 0) $err = "Ključ za aktivaciju je nevažeći!"; //Provjeri greške i prikazati korisniku if(count($err) > 0) echo showErrorMessage($err); else ( //Nabavite adresu korisnika $row = mysql_fetch_assoc($res); $email = $row["login"]; //Aktivirajte korisnika naloga $sql = "UPDATE `".BEZ_DBPREFIX ."reg` SET `status` = 1 WHERE `login` = "".$email ."""; $res = mysqlQuery($sql); / /Pošalji email za aktivaciju $title = "(!LANG:Vaš nalog na http://website je uspješno aktiviran"; $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-pošta je pogrešno uneta"."\n"; ) if(empty($_POST[ "pass") ])) $err = "Polje lozinke ne može biti prazno"; if(empty($_POST["pass2"])) $err = "Polje za potvrdu lozinke ne može biti prazno"; //Provjeri greške i prikaži korisniku ako (count($err) > 0) echo showErrorMessage($err); else ( /*Nastavite provjeravati unesene podatke Provjerite da li se podudaraju lozinke*/ if($_POST["pass"] != $_POST["pass2" ] ) $err = "Lozinke se ne poklapaju"; //Provjeriti greške i prikazati korisniku if(count($err) > 0) echo showErrorMessage($err); else ( /*Provjeri da li imamo takvog korisnika u baza podataka* / $sql = "SELECT `login` FROM `".BEZ_DBPREFIX ."reg` WHERE `login` = "".escape_str($_POST["email"]) """; $res = mysqlQuery($ sql); if(mysql_num_rows($res) > 0) $err = "Izvinite prijavu: ". $_POST["e-pošta"] ." zauzet!"; //Provjeri greške i prikaži korisniku if(count($err) > 0) echo showErrorMessage($err); else ( //Dobij HASH soli $salt = salt(); // Posolite lozinku $pass = md5(md5($_POST["pass"]).$salt); /*Ako sve prođe dobro, upišite podatke u bazu podataka*/ $sql = "INSERT INTO `". BEZ_DBPREFIX ."reg ` VALUES("", "" .escape_str($_POST["email"]) ."", "". $pass ."", "". $salt ."", "". md5($salt) . "", 0)"; $ res = mysqlQuery($sql); //Pošalji email za aktivaciju $url = BEZ_HOST ."less/reg/?mode=reg&key=". md5($salt); $title = "(! LANG:Registracija na 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

    PHP MySQL registracija korisnika sa aktivacijskim emailom

    Email *:
    Lozinka *:
    potvrda lozinke *:

    Polja sa ikonom * potrebno

    Pošto je naša registracija korisnika spremna, vrijeme je za pisanje autorizacije. Napravićemo obrazac za autorizaciju korisnika, zatim ćemo napisati rukovalac obrasca za autorizaciju i na kraju ćemo napraviti skriptu show.php koji će nam pokazati da li smo autorizovani u sistemu ili ne.

    AUTH.PHP DATOTEKA

    0) echo showErrorMessage($err); else ( /*Kreirajte upit za preuzimanje baze podataka za autentifikaciju korisnika*/ $sql = "SELECT * FROM `". BEZ_DBPREFIX ."reg` WHERE `login` = "". escape_str($_POST["email"]) ." " I `status` = 1"; $res = mysqlQuery($sql); //Ako se prijava poklapa, provjerite lozinku if(mysql_num_rows($res) > 0) ( //Preuzmite podatke iz tablice $row = mysql_fetch_assoc( $res ); if(md5(md5($_POST["pass"]).$row["salt"]) == $row["pass"]) ( $_SESSION["user"] = true; // Poništi parametre header("Lokacija:". BEZ_HOST ."less/reg/?mode=auth"); exit; ) else echo showErrorMessage("Pogrešna lozinka!"); ) else echo showErrorMessage("Prijava ". $_POST["e-pošta"] ." nije pronađeno!"); ) ) ?>

    Za one koji imaju najnoviju verziju PHP-a, postavljam ovu skriptu koristeći PDO jer proširenje MySQL je zastario i uklonjen je iz nove verzije PHP-a. Preuzmite registraciju i autorizaciju php mysql pdo

    Arhiva je ažurirana 24.02.2015.

    pažnja: Ako koristite ovu skriptu na lokalnom serveru kao što je DENWER,XAMPP, onda ne biste trebali čekati pisma u svoje poštansko sanduče. Pisma su u rubrici sendmail. AT Denver možete ih pronaći usput Z:\tmp\!sendmail\ Ove datoteke možete otvoriti u bilo kojem klijentu e-pošte.

    U ovom članku ćete naučiti kako kreirati obrazac za registraciju i autorizaciju koristeći HTML, JavaScript, PHP i MySql. Takvi oblici se koriste na gotovo svim stranicama, bez obzira na njihovu vrstu. Kreirani su za forum, i za online prodavnicu i za društvene mreže (kao što su Facebook, Twiter, Odnoklassniki) i za mnoge druge vrste stranica.

    Ako imate web lokaciju na svom lokalnom računalu, nadam se da već imate . Ništa neće raditi bez toga.

    Kreiranje tabele u bazi podataka

    Da bismo implementirali registraciju korisnika, najprije nam je potrebna Baza podataka. Ako ga već imate, onda odlično, inače, morate ga kreirati. U članku detaljno objašnjavam kako to učiniti.

    I tako, imamo bazu podataka (skraćeno DB), sada treba da kreiramo tabelu korisnika u koje ćemo dodati naše registrovane korisnike.

    Kako napraviti tablicu u bazi podataka, također sam objasnio u članku. Prije kreiranja tabele, moramo definirati koja će polja sadržavati. Ova polja će odgovarati poljima iz obrasca za registraciju.

    Dakle, pomislili smo, zamislili koja polja će imati naš obrazac i kreirali tabelu korisnika sa ovim poljima:

    • id- Identifikator. Polje id treba biti u svakoj tabeli iz baze podataka.
    • ime- Da sačuvam ime.
    • prezime- Da sačuvam prezime.
    • email- Da sačuvate poštansku adresu. Koristićemo e-mail kao login, tako da ovo polje mora biti jedinstveno, odnosno da ima JEDINSTVEN indeks.
    • email_status- Polje za označavanje da li je pošta potvrđena ili ne. Ako je pošta potvrđena, tada će imati vrijednost 1, u suprotnom vrijednost 0.
    • lozinka- Da sačuvate lozinku.


    Ako želite da vaš formular za registraciju ima još polja, možete ih dodati i ovdje.

    To je to, naš sto korisnika spreman. Idemo na sljedeći korak.

    Veza sa bazom podataka

    Napravili smo bazu podataka, sada se moramo povezati s njom. Povezićemo se pomoću MySQLi PHP ekstenzije.

    U folderu naše stranice kreirajte datoteku s imenom dbconnect.php, a u njemu pišemo sljedeću skriptu:

    Greška u vezi sa bazom podataka. Opis greške: ".mysqli_connect_error()."

    "; exit(); ) // Postavite kodiranje veze $mysqli->set_charset("utf8"); //Radi praktičnosti, dodajte varijablu ovdje koja će sadržavati ime naše stranice $address_site = "http://testsite .local" ; ?>

    Ovaj fajl dbconnect.php morat će biti spojen na rukovaoce obrascima.

    Obratite pažnju na varijablu $address_site, ovdje sam naznačio naziv moje test stranice na kojoj ću raditi. U skladu s tim naznačavate naziv svoje stranice.

    Struktura sajta

    Pogledajmo sada HTML strukturu našeg sajta.

    Premjestite zaglavlje i podnožje stranice u zasebne fajlove, header.php i footer.php. Povezat ćemo ih na svim stranicama. Naime, na glavnoj (fil index.php), na stranicu sa formularom za registraciju (fil form_register.php) i na stranici sa obrascem ovlaštenja (fil form_auth.php).

    Blokirajte našim linkovima, registracija i autorizacija, dodajte u zaglavlje stranice tako da se prikazuju na svim stranicama. Jedan link će ući stranica obrasca za registraciju(fajl form_register.php), a drugi na stranicu sa obrazac autorizacije(fajl form_auth.php).

    Sadržaj header.php fajla:

    Naziv naše stranice

    Kao rezultat, naša glavna stranica izgleda ovako:


    Naravno, vaša stranica može imati potpuno drugačiju strukturu, ali to nam sada nije važno. Glavna stvar je da postoje veze (dugmad) za registraciju i autorizaciju.

    Sada idemo na formular za registraciju. Kao što ste već shvatili, imamo to u dosijeu form_register.php.

    Idemo u bazu podataka (u phpMyAdmin), otvaramo strukturu tabele korisnika i vidimo koja polja su nam potrebna. Dakle, potrebna su nam polja za unos imena i prezimena, polje za unos poštanske adrese (Email) i polje za unos lozinke. I iz sigurnosnih razloga, dodaćemo polje za unos captcha.

    Na serveru, kao rezultat obrade obrasca za registraciju, mogu doći do raznih grešaka zbog kojih se korisnik neće moći registrovati. Stoga, kako bi korisnik razumio zašto registracija nije uspjela, potrebno mu je prikazati poruke o ovim greškama.

    Prije prikaza obrasca, dodajemo blok za prikaz poruka o grešci iz sesije.

    I još jedan trenutak, ako je korisnik već autorizovan, i radi interesa, direktno ulazi na stranicu za registraciju pisanjem u adresnoj traci pretraživača website_url/form_register.php, tada ćemo u ovom slučaju, umjesto obrasca za registraciju, prikazati naslov za njega da je već registriran.

    Općenito, kod datoteke form_register.php dobili smo ovako:

    Već ste registrovani

    U pretraživaču stranica za registraciju izgleda ovako:


    Via potreban atribut, sva polja smo učinili obaveznim.

    Obratite pažnju na šifru obrasca za registraciju gdje captcha se prikazuje:


    Mi smo u vrijednosti atributa src za sliku naveli putanju do datoteke captcha.php, koji generiše ovu captcha.

    Pogledajmo kod datoteke captcha.php:

    Kod je dobro komentarisan, pa ću se fokusirati samo na jednu tačku.

    Unutar funkcije imageTtfText(), put do fonta je specificiran verdana.ttf. Dakle, da bi captcha radila ispravno, moramo kreirati folder fontove, i stavite datoteku fonta tamo verdana.ttf. Možete ga pronaći i preuzeti s Interneta ili preuzeti iz arhive s materijalima ovog članka.

    Završili smo sa HTML strukturom, vrijeme je da krenemo dalje.

    Validacija e-pošte pomoću jQueryja

    Bilo kojoj formi je potrebna validacija unesenih podataka, kako na strani klijenta (koristeći JavaScript, jQuery) tako i na strani servera.

    Posebnu pažnju moramo obratiti na polje Email. Veoma je važno da unesena email adresa bude važeća.

    Za ovo polje za unos postavljamo tip email (type="email"), ovo nas malo upozorava na neispravne formate. Ali, to nije dovoljno, jer preko kodnog inspektora koji nam pruža pretraživač možete lako promijeniti vrijednost atributa tip sa email on tekst, i to je to, naš ček više neće vrijediti.


    I u tom slučaju moramo izvršiti pouzdaniju provjeru. Da bismo to uradili, koristićemo jQuery biblioteku iz JavaScript-a.

    Da biste povezali jQuery biblioteku, u datoteci header.php između oznaka , prije završne oznake , dodajte ovaj red:

    Odmah nakon ovog retka dodajte kod za provjeru valjanosti e-pošte. Ovdje dodajemo kod za provjeru dužine unesene lozinke. Mora imati najmanje 6 znakova.

    Uz pomoć ove skripte provjeravamo ispravnost unesene adrese e-pošte. Ako je korisnik unio pogrešan e-mail, tada prikazujemo grešku o tome i deaktiviramo dugme za slanje obrasca. Ako je sve u redu, uklanjamo grešku i aktiviramo dugme za slanje obrasca.

    I tako, sa validacijom obrasca na strani klijenta, gotovi smo. Sada ga možemo poslati na server, gdje ćemo također napraviti par provjera i dodati podatke u bazu podataka.

    Registracija korisnika

    Obrazac šaljemo na obradu u fajl register.php, putem POST metode. Ime ove datoteke rukovanja, navedeno u vrijednosti atributa akcija. A metoda slanja je navedena u vrijednosti atributa metoda.

    Otvorite ovaj fajl register.php i prva stvar koju treba da uradimo je da napišemo funkciju pokretanja sesije i uključimo datoteku koju smo kreirali ranije dbconnect.php(U ovoj datoteci smo uspostavili vezu sa bazom podataka). Pa ipak, odmah proglasite ćelije error_messages i uspjeh_poruke u globalnom nizu sesije. AT error_mesages zabilježit ćemo sve poruke o greškama koje se javljaju tokom obrade obrasca i u uspjeh_poruke Hajde da napišemo srećne poruke.

    Prije nego što nastavimo, moramo provjeriti da li je obrazac uopšte dostavljen. Napadač može pogledati vrijednost nekog atributa akcija iz obrasca i saznajte koja datoteka obrađuje ovaj obrazac. I on može doći na ideju da ide direktno na ovu datoteku tako što će upisati sljedeću adresu u adresnu traku pretraživača: http://site_site/register.php

    Dakle, moramo provjeriti postoji li ćelija u globalnom POST nizu čije ime odgovara imenu našeg dugmeta "Registriraj se" iz obrasca. Tako provjeravamo da li je pritisnuto dugme "Registriraj se" ili ne.

    Ako napadač pokuša da ode direktno na ovu datoteku, dobiće poruku o grešci. Podsjećam vas da varijabla $address_site sadrži ime stranice i da je deklarirana u datoteci dbconnect.php.

    Greška! glavna stranica .

    "); } ?>

    Captcha vrijednost u sesiji je dodata tokom njenog generiranja, u datoteci captcha.php. Podsjećamo, pokazaću još jednom ovaj dio koda iz datoteke captcha.php, gdje se captcha vrijednost dodaje sesiji:

    A sada da pređemo na sam test. U fajlu register.php, unutar if bloka, gdje provjeravamo da li je pritisnuto dugme "Registriraj se", odnosno gdje je komentar " // (1) Mjesto za sljedeći dio koda"mi pišemo:

    //Provjera primljene captcha //Skrati razmake od početka i od kraja stringa $captcha = trim($_POST["captcha"]); if(isset($_POST["captcha"]) && !empty($captcha))( //Uporedi primljenu vrijednost sa vrijednošću iz sesije. if(($_SESSION["rand"] != $captcha) && ($_SESSION ["rand"] != ""))( // Ako captcha nije tačna, vratite korisnika na stranicu za registraciju i tamo ćemo prikazati poruku o grešci da je unio pogrešan captcha. $error_message = "

    Greška! Uneli ste pogrešan captcha

    "; // Sačuvajte poruku o grešci u sesiji. $_SESSION["error_messages"] = $error_message; // Vratite korisnika na stranicu za registraciju header("HTTP/1.1 301 trajno premješten"); header("Lokacija: " .$address_site ."/form_register.php"); //Zaustavi skriptu exit(); ) // (2) Mjesto za sljedeći dio koda )else( //Ako captcha nije proslijeđena ili je prazan izlaz ("

    Greška! Ne postoji verifikacioni kod, odnosno captcha kod. Možete otići na glavnu stranicu.

    "); }

    Zatim moramo obraditi primljene podatke iz POST niza. Prije svega, trebamo provjeriti sadržaj globalnog POST niza, odnosno da li tamo postoje ćelije čija se imena poklapaju s nazivima polja za unos iz našeg obrasca.

    Ako ćelija postoji, onda iz ove ćelije skraćujemo razmake od početka i od kraja niza, u suprotnom preusmjeravamo korisnika nazad na stranicu sa formularom za registraciju.

    Dalje, nakon što su razmaci srezani, dodamo string varijablu i provjeravamo ovu varijablu da li je prazna, ako nije prazna, onda idemo dalje, u suprotnom preusmjeravamo korisnika nazad na stranicu sa formularom za registraciju.

    Zalijepite ovaj kod na navedenu lokaciju // (2) Mjesto za sljedeći dio koda".

    /* Provjerava da li globalni niz $_POST sadrži podatke poslane iz obrasca i priloži dostavljene podatke u regularne varijable.*/ if(isset($_POST["first_name"]))( // Skrati razmake od početka i kraja string $first_name = trim($_POST["first_name"]); //Provjerite da li je varijabla prazna if(!empty($first_name))( // Radi sigurnosti, pretvorite posebne znakove u HTML entitete $first_name = htmlspecialchars( $first_name, ENT_QUOTES) ; )else( // Sačuvajte poruku o grešci u sesiji. $_SESSION["error_messages"] .= "

    Unesite svoje ime

    Nedostaje polje za ime

    "; //Vratite korisnika na stranicu za registraciju header("HTTP/1.1 301 Trajno premješten"); header("Lokacija: ".$address_site."/form_register.php"); //Zaustavite skriptu exit(); ) if( isset($_POST["last_name"]))( // Skrati razmake od početka i kraja niza $last_name = trim($_POST["last_name"]); if(!empty($last_name)) ( // Radi sigurnosti, pretvorite posebne znakove u HTML entitete $last_name = htmlspecialchars($last_name, ENT_QUOTES); )else( // Sačuvajte poruku o grešci u sesiji. $_SESSION["error_messages"] .= "

    Unesite svoje prezime

    "; //Vratite korisnika na stranicu za registraciju header("HTTP/1.1 301 Trajno premješten"); header("Lokacija: ".$address_site."/form_register.php"); //Zaustavite skriptu exit(); ) )else ( // Sačuvajte poruku o grešci u sesiji. $_SESSION["error_messages"] .= "

    Nedostaje polje za ime

    "; //Vratite korisnika na stranicu za registraciju header("HTTP/1.1 301 Trajno premješten"); header("Lokacija: ".$address_site."/form_register.php"); //Zaustavite skriptu exit(); ) if( isset($_POST["email"]))( // Skrati razmake od početka i kraja niza $email = trim($_POST["email"]); if(!empty($email)) ( $email = htmlspecialchars ($email, ENT_QUOTES); // (3) Mjesto koda za provjeru formata adrese e-pošte i njene jedinstvenosti )else( // Sačuvajte poruku o grešci u sesiji. $_SESSION["error_messages" ] .="

    Unesite svoju e-poštu

    "; //Vratite korisnika na stranicu za registraciju header("HTTP/1.1 301 Trajno premješten"); header("Lokacija: ".$address_site."/form_register.php"); //Zaustavite skriptu exit(); ) )else ( // Sačuvajte poruku o grešci u sesiji. $_SESSION["error_messages"] .= "

    "; //Vratite korisnika na stranicu za registraciju header("HTTP/1.1 301 Trajno premješten"); header("Lokacija: ".$address_site."/form_register.php"); //Zaustavite skriptu exit(); ) if( isset($_POST["password"]))( // Skrati razmake od početka i kraja niza $password = trim($_POST["password"]); if(!empty($password)) ( $password = htmlspecialchars ($password, ENT_QUOTES); //Šifriranje lozinke $password = md5($password."top_secret"); )else( // Sačuvajte poruku o grešci u sesiji. $_SESSION["error_messages"] .="

    Unesite svoju lozinku

    "; //Vratite korisnika na stranicu za registraciju header("HTTP/1.1 301 Trajno premješten"); header("Lokacija: ".$address_site."/form_register.php"); //Zaustavite skriptu exit(); ) )else ( // Sačuvajte poruku o grešci u sesiji. $_SESSION["error_messages"] .= "

    "; //Vratite korisnika na stranicu za registraciju header("HTTP/1.1 301 Trajno premješten"); header("Lokacija: ".$address_site."/form_register.php"); //Zaustavite skriptu exit(); ) // (4) Mjesto za kod za dodavanje korisnika u bazu podataka

    Oblast je od posebnog značaja. email. Moramo provjeriti format primljene poštanske adrese i njenu jedinstvenost u bazi podataka. Odnosno, da li je korisnik sa istom adresom e-pošte već registrovan.

    Na navedenoj lokaciji" // (3) Mjesto koda za provjeru formata poštanske adrese i njene jedinstvenosti" dodajte sljedeći kod:

    //Provjerite format primljene email adrese koristeći regularni izraz $reg_email = "/^**@(+(*+)*\.)++/i"; //Ako format primljene adrese e-pošte ne odgovara regularnom izrazu if(!preg_match($reg_email, $email))( // Sačuvajte poruku o grešci u sesiji. $_SESSION["error_messages"] .= "

    Unijeli ste nevažeći email

    "; //Vratite korisnika na stranicu za registraciju header("HTTP/1.1 301 Trajno premješten"); header("Lokacija: ".$address_site."/form_register.php"); //Zaustavite skriptu exit(); ) // Provjerite da li već postoji takva adresa u bazi podataka $result_query = $mysqli->query("SELECT `email` FROM `users` WHERE `email`="".$email."""); Ako postoji su tačno jedan red, onda je korisnik sa ovom adresom e-pošte već registrovan if($result_query->num_rows == 1)( //Ako rezultat nije netačan if(($row = $result_query->fetch_assoc()) ! = false) ( // Sačuvajte poruku o grešci u sesiji. $_SESSION["error_messages"] .= "

    Korisnik sa ovom email adresom je već registrovan

    "; //Vratite korisnika na stranicu za registraciju header("HTTP/1.1 301 Trajno premješten"); header("Lokacija: ".$address_site."/form_register.php"); )else( //Sačuvajte poruku o grešci na sesiju .$_SESSION["error_messages"] .= "

    Greška u upitu baze podataka

    "; //Vratite korisnika na stranicu za registraciju header("HTTP/1.1 301 Trajno premješten"); header("Lokacija: ".$address_site."/form_register.php"); ) /* zatvorite odabir */ $ result_query-> close(); //Zaustavi skriptu exit(); ) /* zatvori odabir */ $result_query->close();

    I tako, završili smo sa svim provjerama, vrijeme je da dodamo korisnika u bazu podataka. Na navedenoj lokaciji" // (4) Mjesto za kod za dodavanje korisnika u bazu podataka" dodajte sljedeći kod:

    //Upit za dodavanje korisnika u bazu podataka $result_query_insert = $mysqli->query("INSERT INTO `users` (ime_ime, prezime, email, lozinka) VRIJEDNOSTI ("".$first_name."", "".$last_name ." ", ".$email."", ".$password."")"); if(!$result_query_insert)( // Sačuvajte poruku o grešci u sesiji. $_SESSION["error_messages"] .= "

    Greška zahtjeva za dodavanje korisnika u bazu podataka

    "; //Vratite korisnika na stranicu za registraciju header("HTTP/1.1 301 Trajno premješten"); header("Lokacija: ".$address_site."/form_register.php"); //Zaustavite skriptu exit(); )else( $_SESSION["success_messages"] = "

    Registracija uspješno obavljena!!!
    Sada se možete prijaviti koristeći svoje korisničko ime i lozinku.

    "; //Pošalji korisnika na stranicu za prijavu header("HTTP/1.1 301 Trajno premješten"); header("Lokacija: ".$address_site."/form_auth.php"); ) /* Dovrši zahtjev */ $ result_query_insert-> close(); //Zatvaranje veze baze podataka $mysqli->close();

    Ako dođe do greške u zahtjevu za dodavanje korisnika u bazu podataka, sesiji dodajemo poruku o ovoj grešci i vraćamo korisnika na stranicu za registraciju.

    Inače, ako je sve prošlo kako treba, dodajemo i poruku sesiji, ali ona je već ugodnija, naime, kažemo korisniku da je registracija uspjela. I mi ga preusmjeravamo na stranicu sa formularom za autorizaciju.

    Skripta za provjeru formata email adrese i dužine lozinke je u datoteci header.php, tako da će uticati i na polja iz tog obrasca.

    Sesija je također pokrenuta u datoteci header.php, dakle u fajlu form_auth.php sesija ne mora biti pokrenuta, jer dobijamo grešku.


    Kao što sam rekao, ovdje radi i skripta za provjeru formata mail adrese i dužine lozinke. Stoga, ako korisnik unese pogrešnu adresu e-pošte ili kratku lozinku, odmah će dobiti poruku o grešci. Dugme ućiće postati neaktivan.

    Nakon ispravljanja grešaka, dugme ući postaje aktivan i korisnik može poslati obrazac na server gdje će biti obrađen.

    Autorizacija korisnika

    Pripisati vrijednost akcija formular za autorizaciju ima fajl auth.php, što znači da će obrazac biti obrađen u ovoj datoteci.

    Pa hajde da otvorimo fajl auth.php i napišite kod za obradu formulara za autorizaciju. Prva stvar koju treba učiniti je započeti sesiju i uključiti datoteku dbconnect.php za povezivanje sa bazom podataka.

    //Objavite ćeliju za dodavanje grešaka koje se mogu pojaviti tokom obrade obrasca. $_SESSION["error_messages"] = ""; //Proglasite ćeliju za dodavanje uspješnih poruka $_SESSION["success_messages"] = "";

    /* Provjerite da li je obrazac poslat, odnosno da li je kliknuto na dugme Prijava. Ako da, onda idemo dalje, ako ne, tada ćemo korisniku prikazati poruku o grešci u kojoj se navodi da je otišao direktno na ovu stranicu. */ if(isset($_POST["btn_submit_auth"]) && !empty($_POST["btn_submit_auth"]))( //(1) Mjesto za sljedeći dio koda )else( exit("

    Greška! Direktno ste pristupili ovoj stranici, tako da nema podataka za obradu. Možete otići na glavnu stranicu.

    "); }

    //Provjerite primljenu captcha if(isset($_POST["captcha"]))( //Skratite razmake od početka i kraja niza $captcha = trim($_POST["captcha"]); if(!empty ($captcha ))( //Uporedi primljenu vrijednost sa vrijednošću iz sesije. if(($_SESSION["rand"] != $captcha) && ($_SESSION["rand"] != ""))( // Ako je captcha nevažeći, vraćamo korisnika na stranicu za autorizaciju i tamo ćemo prikazati poruku o grešci da je unio pogrešan captcha. $error_message = "

    Greška! Uneli ste pogrešan captcha

    "; // Sačuvajte poruku o grešci u sesiji. $_SESSION["error_messages"] = $error_message; // Vratite korisnika na stranicu autorizacije header("HTTP/1.1 301 Trajno premješten"); header("Lokacija: " .$address_site ."/form_auth.php"); //Zaustavite skriptu exit(); ) )else( $error_message = "

    Greška! Polje za unos captcha ne smije biti prazno.

    "; // Sačuvajte poruku o grešci u sesiji. $_SESSION["error_messages"] = $error_message; // Vratite korisnika na stranicu autorizacije header("HTTP/1.1 301 Trajno premješten"); header("Lokacija: " .$address_site ."/form_auth.php"); //Zaustavi skriptu exit(); ) //(2) Mjesto za obradu mail adrese //(3) Mjesto za obradu lozinke //(4) Mjesto za postavljanje upita bazi podataka ) else ( //Ako captcha nije proslijeđena exit("

    Greška! Ne postoji verifikacioni kod, odnosno captcha kod. Možete otići na glavnu stranicu.

    "); }

    Ako je korisnik ispravno unio verifikacioni kod, idemo dalje, u suprotnom ga vraćamo na stranicu za autorizaciju.

    Provjera adrese e-pošte

    // Skrati razmake od početka i kraja stringa $email = trim($_POST["email"]); if(isset($_POST["email"]))( if(!empty($email))( $email = htmlspecialchars($email, ENT_QUOTES); //Provjerite format primljene email adrese koristeći regularni izraz $ reg_email = " /^**@(+(*+)*\.)++/i"; //Ako format primljene adrese e-pošte ne odgovara regularnom izrazu if(!preg_match($reg_email, $email ))( // Sačuvaj u poruku o grešci sesije.$_SESSION["error_messages"] .= "

    Unijeli ste nevažeći email

    "; //Vratite korisnika na stranicu za autorizaciju header("HTTP/1.1 301 Trajno premješten"); header("Lokacija: ".$address_site."/form_auth.php"); //Zaustavite skriptu exit(); ) )else ( // Sačuvajte poruku o grešci u sesiji. $_SESSION["error_messages"] .= "

    Polje za unos poštanske adrese (e-mail) ne smije biti prazno.

    "; //Vratite korisnika na stranicu za registraciju header("HTTP/1.1 301 Trajno premješten"); header("Lokacija: ".$address_site."/form_register.php"); //Zaustavite skriptu exit(); ) )else ( // Sačuvajte poruku o grešci u sesiji. $_SESSION["error_messages"] .= "

    Ne postoji polje za unos e-pošte

    "; //Vratite korisnika na stranicu za autorizaciju header("HTTP/1.1 301 Trajno premješten"); header("Lokacija: ".$address_site."/form_auth.php"); //Zaustavite skriptu exit(); ) // (3) Mjesto za obradu lozinke

    Ako je korisnik unio adresu e-pošte u pogrešnom formatu ili je vrijednost polja e-mail adrese prazna, onda ga vraćamo na stranicu za autorizaciju, gdje prikazujemo poruku o tome.

    Provjera lozinke

    Sljedeće polje koje treba obraditi je polje lozinke. Na određeno mjesto" //(3) Mjesto za obradu lozinke", mi pišemo:

    If(isset($_POST["password"]))( // Skratite razmake od početka i kraja niza $password = trim($_POST["password"]); if(!empty($password))( $password = htmlspecialchars($password, ENT_QUOTES); // Šifrirajte lozinku $password = md5($password."top_secret"); )else( // Sačuvajte poruku o grešci u sesiji. $_SESSION["error_messages"] . = "

    Unesite svoju lozinku

    "; //Vratite korisnika na stranicu za registraciju header("HTTP/1.1 301 Trajno premješten"); header("Lokacija: ".$address_site."/form_auth.php"); //Zaustavite skriptu exit(); ) )else ( // Sačuvajte poruku o grešci u sesiji. $_SESSION["error_messages"] .= "

    Ne postoji polje za unos lozinke

    "; //Vratite korisnika na stranicu za registraciju header("HTTP/1.1 301 Trajno premješten"); header("Lokacija: ".$address_site."/form_auth.php"); //Zaustavite skriptu exit(); )

    Ovdje pomoću funkcije md5 () šifriramo primljenu lozinku, jer u bazi podataka imamo lozinke u šifriranom obliku. Dodatna tajna riječ u šifriranju, u našem slučaju " top_secret" mora biti onaj koji je korišten prilikom registracije korisnika.

    Sada trebate napraviti upit bazi podataka o odabiru korisnika čija je e-mail adresa jednaka primljenoj mail adresi, a lozinka je jednaka primljenoj lozinki.

    //Upit u bazu podataka o odabiru korisnika. $result_query_select = $mysqli->query("SELECT * FROM `users` WHERE email = "".$email."" AND password = ".$password."""); if(!$result_query_select)( // Sačuvajte poruku o grešci u sesiji. $_SESSION["error_messages"] .= "

    Greška upita pri odabiru korisnika iz baze podataka

    "; //Vratite korisnika na stranicu za registraciju header("HTTP/1.1 301 Trajno premješten"); header("Lokacija: ".$address_site."/form_auth.php"); //Zaustavite skriptu exit(); )else( //Provjeri da li u bazi nema korisnika sa takvim podacima, a zatim prikaži poruku o grešci if($result_query_select->num_rows == 1)( // Ako se uneseni podaci poklapaju sa podacima iz baze podataka, onda sačuvaj login i lozinka za niz sesije. $_SESSION["email"] = $email; $_SESSION["password"] = $password; //Vrati korisnika na zaglavlje glavne stranice("HTTP/1.1 301 trajno premješten" ); header("Lokacija: ".$address_site ."/index.php"); )else( // Sačuvajte poruku o grešci u sesiji. $_SESSION["error_messages"] .= "

    Pogrešno korisničko ime i/ili lozinka

    "; //Vratite korisnika na stranicu za autorizaciju header("HTTP/1.1 301 Trajno premješten"); header("Lokacija: ".$address_site."/form_auth.php"); //Zaustavite skriptu exit(); ) )

    Izlaz sa lokacije

    I posljednja stvar koju implementiramo je izlaznu proceduru. Trenutno u zaglavlju prikazujemo linkove na stranicu za autorizaciju i stranicu za registraciju.

    U zaglavlju stranice (datoteka header.php), koristeći sesiju, provjeravamo da li je korisnik već prijavljen. Ako ne, onda prikazujemo linkove za registraciju i autorizaciju, u suprotnom (ako je ovlašten), onda umjesto veza za registraciju i autorizaciju prikazujemo link Izlaz.

    Modificiran dio koda iz datoteke header.php:

    Registracija

    Izlaz

    Kada kliknete na izlaznu vezu sa stranice, ulazimo u datoteku logout.php, gdje jednostavno uništavamo ćelije sa email adresom i lozinkom iz sesije. Nakon toga vraćamo korisnika nazad na stranicu na kojoj je kliknut na link Izlaz.

    Šifra datoteke logout.php:

    To je sve. Sada znate kako implementirati i obraditi obrasce za registraciju i autorizaciju korisnika na vašoj web stranici. Ovi obrasci se nalaze na gotovo svim stranicama, tako da bi svaki programer trebao znati kako ih kreirati.

    Takođe smo naučili kako da validiramo ulazne podatke, kako na strani klijenta (u pretraživaču, koristeći JavaScript, jQuery) tako i na strani servera (koristeći PHP jezik). I mi smo naučili implementirati proceduru odjave.

    Sve skripte su testirane i rade. Arhivu sa fajlovima ovog malog sajta možete preuzeti sa ovog linka.

    U budućnosti ću napisati članak u kojem ću opisati. I također planiram napisati članak gdje ću objasniti (bez ponovnog učitavanja stranice). Dakle, kako biste bili svjesni objavljivanja novih članaka, možete se pretplatiti na moju stranicu.

    Ako imate bilo kakvih pitanja, obratite se, također, ako primijetite bilo kakvu grešku u članku, javite mi.

    Plan lekcije (5. dio):

    1. Kreiranje HTML strukture za formular za autorizaciju
    2. Primljene podatke obrađujemo
    3. U zaglavlju stranice prikazujemo pozdrav korisnika

    Svidio vam se članak?

    Laravel zahtijeva Composer da upravlja ovisnostima projekta. Dakle, prije instaliranja Laravel-a, provjerite da li je Composer instaliran na vašem sistemu. U slučaju da prvi put čujete za Composer, to je alat za upravljanje zavisnostima za php sličan npm-u čvora.

    Da biste instalirali Composer na svoju mašinu, provjerite ovaj post:

    Instaliranje Laravela na Windows:

    Slijedite dolje navedene korake da instalirate laravel na Windows mašinu. Bez obzira da imate xampp/wamp stack, radi za oba. Na WAMP-u, obavezno instalirajte laravel na "www" folder i na XAMPP, očigledno "htdocs".

    KORAK-1) Otvorite fasciklu "htdocs" na XAMPP-u, držite taster SHIFT i kliknite desnim tasterom miša na fasciklu i izaberite "otvori komandni prozor ovde". Alternativno, možete otvoriti komandni prozor i promijeniti direktorij u "xampp/htdocs".

    KORAK-2) Unesite sljedeću naredbu.

    Kompozitor kreiraj-projekt laravel/laravel my_laravel_site --prefer-dist

    Ovdje je "my_laravel_site" naziv foldera u koji će se instalirati laravel fajlovi. Promijenite ovo po svom ukusu.

    KORAK-3) Sada je vrijeme za strpljenje jer će instalacija Laravel-a potrajati.

    KORAK-4) Nakon instalacije, promijenite direktorij u "my_laravel_site" (cd "my_laravel_site") na komandnoj liniji i unesite naredbu ispod.

    php artisan serve

    KORAK-5) Ovo će pokazati poruku nešto poput, "Laravel razvojni server je započeo:" zajedno sa url-om.

    KORAK-6) Kopirajte i zalijepite url u pretraživač. Ako stvari krenu kako treba, vidjet ćete laravel ekran dobrodošlice.

    KORAK-7) Gotovo! Uspješno ste instalirali laravel na Windows mašinu i spremni ste za rad.

    Postavljanje ključa aplikacije:

    Laravel zahtijeva malo konfiguracije nakon instalacije. Zahtijeva da postavite ključ aplikacije. Ovo je nasumični niz od 32 znaka koji se koristi za šifriranje sesije i drugih osjetljivih podataka. Obično će se ovo automatski postaviti kada instalirate laravel preko composer-a ili laravel instalatera.

    U slučaju da nije postavljen, morate to učiniti ručno. Prvo se pobrinite da preimenujete datoteku ".env.example" u ".env" u korijenu vaše aplikacije. Zatim otvorite komandnu liniju i promijenite u direktorij projekta laravel. Sada pokrenite donju naredbu da generišete ključ.

    php artisan ključ:generiraj

    Kopirajte ovaj generirani ključ u varijablu APP_KEY na ".env" datoteci. Sačuvajte i gotovi ste.

    Instaliranje određene Laravel verzije:

    Gore navedeni metod će natjerati composer da preuzme i instalira najnoviju verziju laravela. Ako želite da instalirate starije verzije laravel-a na svoj stroj, uključite odgovarajući broj verzije u naredbu create-project.

    Kompozitor create-project laravel/laravel=5.4 your-project-name --prefer-dist Pročitajte također:

    Isto tako možete lako instalirajte laravel koristeći composer na windows. Nadam se da će vam ovaj tutorijal biti koristan. Molimo podijelite ga u svom društvenom krugu ako vam se sviđa.

    U ovom tutorijalu, vodim vas kroz kompletan proces kreiranja sistema registracije korisnika gdje korisnici mogu kreirati nalog davanjem korisničkog imena, e-pošte i lozinke, prijavljivanja i odjavljivanja koristeći PHP i MySQL. Također ću vam pokazati kako neke stranice možete učiniti dostupnim samo prijavljenim korisnicima. Bilo koji drugi korisnik koji nije prijavljen neće moći pristupiti stranici.

    Ako više volite video, možete ga pogledati na mom YouTube kanalu

    Prva stvar koju ćemo morati da uradimo je da postavimo našu bazu podataka.

    Kreirajte bazu podataka tzv registracija. U registracija bazu podataka, dodajte tabelu pod nazivom korisnika. Tabela korisnika će zauzeti sljedeća četiri polja.

    • korisničko ime - varchar(100)
    • email - varchar(100)
    • lozinka - varchar(100)

    Ovo možete kreirati koristeći MySQL klijent kao što je PHPMyAdmin.

    Ili ga možete kreirati na MySQL promptu koristeći sljedeću SQL skriptu:

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

    I to je to sa bazom podataka.

    Sada kreirajte folder pod nazivom registracija u direktoriju dostupnom našem serveru. tj. kreirajte folder unutar htdocs-a (ako koristite XAMPP server) ili unutra www(ako koristite wampp server).

    unutar foldera registracija, kreirajte sljedeće fajlove:

    Otvorite ove datoteke u uređivaču teksta po vašem izboru. Moj je uzvišeni tekst 3.

    Registracija korisnika

    Otvorite datoteku register.php i u nju zalijepite sljedeći kod:

    register.php:

    Registrirajte se

    Već ste član? prijavi se

    Ništa komplikovano do sada, zar ne?

    Ovdje treba napomenuti nekoliko stvari:

    Prvo je to naš obrazac akcija atribut je postavljen na register.php. To znači da kada se klikne na dugme za slanje obrasca, svi podaci u obrascu će biti dostavljeni na istu stranicu (register.php). Deo koda koji prima ove podatke iz obrasca je upisan u server.php fajlu i zato ga stavljamo na sam vrh register.php fajla.

    Obratite pažnju i na to da uključujemo datoteku errors.php za prikaz grešaka obrasca. Doći ćemo do toga uskoro.

    Kao što možete vidjeti u odeljku zaglavlja, povezujemo se sa style.css datotekom. Otvorite datoteku style.css i zalijepite sljedeći CSS u nju:

    * ( margina: 0px; padding: 0px; ) tijelo (veličina fonta: 120%; pozadina: #F8F8FF; ) .header (širina: 30%; margina: 50px auto 0px; boja: bijela; pozadina: #5F9EA0; tekst -align: centar; granica: 1px čvrsta #B0C4DE; border-bottom: nema; granica-radijus: 10px 10px 0px 0px; padding: 20px; ) forma, .content (širina: 30%; margina: 0px auto; padding: 20px ; granica: 1px čvrsta #B0C4DE; pozadina: bijela; radijus granice: 0px 0px 10px 10px; ) .input-group ( margin: 10px 0px 10px 0px; ) .oznaka ulazne grupe (prikaz: blok; poravnanje teksta: lijevo ; margina: 3px; ) .input-group input (visina: 30px; širina: 93%; padding: 5px 10px; veličina fonta: 16px; granica-radijus: 5px; granica: 1px čvrsto siva; ) .btn ( padding: 10px; veličina fonta: 15px; boja: bijela; pozadina: #5F9EA0; granica: nema; radijus granice: 5px; ) .error ( širina: 92%; margina: 0px auto; padding: 10px; granica: 1px čvrsta # a94442; boja: #a94442; pozadina: #f2dede; radijus granice: 5px; poravnanje teksta: lijevo; ) .uspjeh (boja: #3c7 63d; pozadina: #dff0d8; granica: 1px čvrsta #3c763d; margin-bottom: 20px )

    Sada forma izgleda predivno.

    Hajde da sada napišemo kod koji će primati informacije dostavljene iz obrasca i pohraniti (registrovati) informacije u bazi podataka. Kao što smo ranije obećali, to radimo u server.php datoteci.

    Otvorite server.php i zalijepite ovaj kod u njega:

    server.php

    Sesije se koriste za praćenje prijavljenih korisnika i zato uključujemo session_start() na vrhu datoteke.

    Komentari u kodu poprilično objašnjavaju sve, ali ovdje ću istaknuti nekoliko stvari.

    Naredba if određuje da li se klikne na dugme reg_user na obrascu za registraciju. Zapamtite, u našem obrascu, dugme za slanje ima atribut name postavljen na reg_user i to je ono na šta upućujemo u if naredbi.

    Svi podaci se primaju iz obrasca i provjeravaju da li je korisnik ispravno popunio obrazac. Lozinke se također upoređuju kako bi se uvjerili da se podudaraju.

    Ukoliko nije došlo do greške, korisnik se registruje u korisnika tabela u bazi podataka sa heširanom lozinkom. Haširana lozinka je iz sigurnosnih razloga. Osigurava da čak i ako haker uspije pristupiti vašoj bazi podataka, neće moći pročitati vašu lozinku.

    Ali poruke o grešci se sada ne prikazuju jer je naš errors.php fajl još uvijek prazan. Da biste prikazali greške, zalijepite ovaj kod u datoteku errors.php.

    0) : ?>

    Kada se korisnik registruje u bazi podataka, odmah se prijavljuje i preusmjerava na stranicu index.php.

    I to je to za registraciju. Pogledajmo prijavu korisnika.

    login user

    Prijava korisnika je još lakša stvar. Samo otvorite stranicu za prijavu i stavite ovaj kod u nju:

    Sistem registracije PHP i MySQL

    Ulogovati se

    Još niste član? prijaviti se

    Sve na ovoj stranici je prilično slično stranici register.php.

    Sada se kod koji prijavljuje korisnika treba napisati u istoj server.php datoteci. Zato otvorite server.php datoteku i dodajte ovaj kod na kraj datoteke:

    // ... // PRIJAVITE SE KORISNIKA if (isset($_POST["login_user"])) ( $username = mysqli_real_escape_string($db, $_POST["username"]); $password = mysqli_real_escape_string($db, $_POST ["password"]); if (empty($username)) ( array_push($errors, "Korisničko ime je potrebno"); ) if (empty($password)) ( array_push($errors, "Lozinka je potrebna"); ) if (count($errors) == 0) ( $password = md5($password); $query = "SELECT * FROM users WHERE username="$username" AND password="$password""; $results = mysqli_query ($db, $query); if (mysqli_num_rows($results) == 1) ( $_SESSION["username"] = $username; $_SESSION["success"] = "Sada ste prijavljeni"; header(" lokacija: index.php"); )else ( array_push($errors, "Pogrešna kombinacija korisničkog imena/lozinke"); ) ) ) ?>

    Opet sve ovo radi je da provjerava da li je korisnik ispravno popunio obrazac, provjerava da li se njegovi vjerodajnici poklapaju sa zapisom iz baze podataka i prijavljuje ih ako jeste. Nakon prijave, korisnik se preusmjerava na datoteku index.php sa porukom o uspjehu.

    Sada da vidimo šta se dešava u datoteci index.php. Otvorite je i zalijepite sljedeći kod u nju:

    Dom

    Početna stranica

    Dobrodošli

    odjaviti se

    Prva if naredba provjerava da li je korisnik već prijavljen. Ako nisu prijavljeni, bit će preusmjereni na stranicu za prijavu. Stoga je ova stranica dostupna samo prijavljenim korisnicima. Ako želite da bilo koju stranicu učinite dostupnom samo prijavljenim korisnicima, sve što trebate učiniti je staviti ovu if naredbu na vrh datoteke.

    Druga if naredba provjerava da li je korisnik kliknuo na dugme za odjavu. Ako da, sistem ih odjavljuje i preusmjerava nazad na stranicu za prijavu.

    Sada nastavite, prilagodite ga svojim potrebama i napravite odličnu stranicu. Ako imate bilo kakvih briga ili bilo šta što trebate razjasniti, ostavite to u komentarima ispod i pomoć će doći.

    Uvijek možete podržati tako što ćete podijeliti na društvenim mrežama ili preporučiti moj blog svojim prijateljima i kolegama.