Dodatno: Login sustav putem PHP-a ...
Autorizacija korisnika putem PHP&MySQL baze - uvod
U ovom dijelu neću pisati kako instalirati php i mysql već ću mislit da ste upoznati sa wamp-om.
Što je wamp?
Wamp je instalacijska skripta sastavljena od Apache servera. PHP-a, MySQL-a, PhpMyAdmin-a te ostalih konfiguracijskih fajlova/skript koje vam olakšavaju rad u pisanju php koda. Uglavnom samo slijedite upute prilikom instalacije i to je to....
Nakon toga upišite http://localhost i trebali bi ste vidjet default stranicu od wamp-a. Malo je proučite... :)
Što je phpMyAdmin?
PhpMyAdmin je web sučelje koje oho ho olakšava rad sa MySQL bazom. Putem njega možete vršit sve upite nad bazom koje MySQL podržava.
Nadam se da ste čuli za sve gore navedeno.
Wamp server možete preuzeti sa:
http://www.wampserver.com/en/download.php
Autorizacija korisnika putem PHP&MySQL baze - Ideja
Ako gledamo slijedeću ideju: Šta mi je potrebno da bi uspio napraviti autorizaciju korisnika putem mysql-a"
Reći ću vam slijedeće:
Sama logika vrlo je jednostavna i sastoji se od:
- baze podataka
- tabela korisnika unutar baze
- konekcije na bazu podataka
- samog php fajla koji će provjerit autentičnost istih
- html kod unutar kojeg korisnik upisuje te proslijeđuje varijable serveru
Autorizacija korisnika putem PHP&MySQL baze - MySQL baza
Naravno nakon instalacije samog wamp-a, unutar MySQL baze ne postoji baza koja je nama potrebna.. Ajmo je kreirat... :)
Kliknite na slijedeći link:
http://localhost/phpmyadmin/
Ako je sve kako treba i po default-u instalirano, trebali bi ste vidjet phpmyadmin sučelje.
Problem: 'Kako stvorit bazu podataka?' .
Bazu podataka stvarate na slijedeći način
Pogledajte na sredinu ekrana. Trebali bi ste vidjet "Create New Database".
Upišite u formu ispod autorizacija i kliknite enter.
I eto nas... baza kreirana. Sada dolazimo do slijedećeg problema.
"Kako stvoriti tablicu unutar kreirane baze?".
Za sada ostavimo manual na miru... 3 dana ce mi trebat da vam objasnim.
Kliknite u navigaciji na vrhu stranice SQL i kopirajte kod ispod...
CREATE TABLE `users` ( `user_id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY , `username` VARCHAR( 50 ) NOT NULL , `password` VARCHAR( 50 ) NOT NULL , UNIQUE ( `username` ) ) ENGINE = MYISAM ;
Ok sada objašnjenje koda
Gore navedena funkcija stvara novu tabelu unutar naše novo kreirane baze.
CREATE TABLE - funkcija je mysql-a putem koje se stvara nova tablica.
`users` - naziv naše tabelice.. Putem nje php kod zna u koju tablicu da gleda i
traži zadano
`user_id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY - stvara glavni i primarni ključ naše tabelice... Uglavnom ova linija nije potrebna u našem slučaju jer nema relacija između tabela... Putem ključeva stvara se relacija sa drugim tabelama...
Da ne duljim http://dev.mysql.com/doc/refman/5.0/en/create-table.html
Na gore navedenom linku možete saznat više o CREATE TABLE funkciji
Ok sada treba dodat korisnika u našu tabelicu... Opet kliknite na SQL u gornjem meniju phpmyadmin -a i unutar SQL tekst zone ubacite slijedeci kod...
INSERT INTO `users` ( `user_id` , `username` , `password` ) VALUES ( NULL , 'test', 'test' );
Stisnite enter..
Ok sada kada imamo bazu podataka i našu tabelicu te korisnika...
Vrijeme je za malo ACTION MAN!!!!!
Autorizacija korisnika putem PHP&MySQL baze - OSNOVA
Znači sada kada imamo bazu podataka, našu tabelicu u kojoj su username i password kolone.. Trebamo izvršit slijedeću ideju...
Spojit se na mysql server i bazu podataka!
Napravite unutar www foldera novu mapu (direktorij...)
Kliknite start pa run i upišite slijedeće : c:wampwww
Tamo kreirajte 2 fajla.
1 - index.htm : tu će korisnici upisivat svoje podatke za spajanje na stranicu
2 - login.php : php fajl putem kojeg cemo izvršit provjeru te ispisat korisniku na zaslon dobrodošlicu ili ga poslat u klinac...
Unutar index.htm fajla upišite slijedeći kod:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> > <head> Daj mi svoju šifru! </head> <body> <form enctype="multipart/form-data" method="post" lang="hr" action="login.php"> <table width="40%" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="38%">Korisničko ime: </td> <td width="62%"><input name="username" type="text" id="username" /></td> </tr> <tr> <td>Zaporka:</td> <td><input name="password" type="password" id="password" />td> </tr> <tr> <td> </td> <td> </td> </tr> <tr> <td> </td> <td><input type="submit" name="Submit" value="Submit" /></td> </tr> </table> <form> </body> </html>
Putem gore navedenog koda.. Stvorili smo formu putem koje ce korisnik zatražiti dopuštenje od servera da uđe u privatan sektor!
Smatram da znate šta je html, jer ako neznate, prvo to krenite učit pa se onda vratite ovdje.. HTML je osnova koju bi bilo jako lijepo znat ako se hocete upustit u vode php programiranja
Autorizacija korisnika putem PHP&MySQL baze - Spajanje na bazu
Sada kako imamo html kod sada nam treba i php kod... slijedi cijeli kod pa detaljno (donekle) objašnjenje...
<? // spoji se na bazu podataka $connect = mysql_connect("localhost", "root", ""); // localhost = vaš server // root = username za spajanje na bazu podataka // "" = tu inače dođe šifra za spajanje na mysql bazu ali prilikom instalacije baze ona // kao takva nije definirana, stoga to polje ostavite prazno // uzmi tj. označi potrebnu bazu $selectdb = mysql_select_db("administracija", $connect); // administracija = ime vaše baze // $connect = referenca preko koje će select varijabla znati koji server da kontaktira $username = $_POST["username"]; // korisničko ime koje je server preuzeo kada je korisnik upisao svoje ime u html fajlu // znači to je proslijeđena varijabla sa html stranice na server... $password = $_POST["password"]; // isto kao i iznad samo što je ovaj puta password kojeg je korisnik upisao u pitanju... // provjera korisnika $query = "SELECT username, password FROM users WHERE username = '$username' AND password = '$password' LIMIT 1"; // sintaksa putem koje radite upit nad mysql tabelicom u potrazi za pravim korisnikom $run_query = mysql_query($query); // putem ove funkcije mysql_query() vršimo upit nad serverom... $query je sintaksa $num_rows = mysql_num_rows($run_query); // naredba tj. funkcija putem koje saznajemo dali je i jedan red pronađen za naš upit // sintaksa privatne i bježi ča stranice tj ispisa if($num_rows){ // ako postoji taj korisnik ispiši slijedeću naredbu echo "Dobro došao! Nalaziš se u privatnom sektoru!"; } else{ // ako ne postoji ispiši ovu naredbu echo "Bježi ča! Nemaš pravo pristupa!"; } ?>
Uglavnom to je to...
Imate: www.php.net
Ako vas zanima nešto više o ovim funkcijama...
Mislim da je ovo za 1 dan dosta :S
Eto nadam se da vam je pomoglo ! (P.s. Sam php fajl je komentiran tako da u njemu imate objašnjenja.. Nisam ih htio ovdje pisat)
Do sljedećeg puta pozdrav!


