Sunday, December 23, 2007

Logovanje i ogranicavanje pristupa!

Logovanje i ogranicavanje pristupa!



Pozdrav evo me kao sto sam i obecao, nastavljam sa tutorialom. Kao sto i sami znate cesto se javlja potreba da korisnicima ogranicite pristup pojedinim delovima vaseg sajta. Kako to mozemo da uradimo, pa lepo mozemo tako sto cemo da proverimo da li je onaj koji zeli da pristupi nekom delu sajta koji smo zastitili registrovan clan na nasem sajtu (kasnije cemo da vrsimo podelu i po jos nekim kriterijumima) ;)


Za registraciju, tj. dodavanje clanova mozete da iskoristite post "Dodavanje podataka u bazu".


Kako da proverimo da li je neko ko pokusa da pristupi nekom delu sajta zaista u nasoj bazi clanova?


Pa lepo koristicemo filtriranje baze, i ukoliko taj neko ko pokusa da se uloguje i unese prave podatke koje trazimo od njega (korisnicko ime i lozinku) i ukoliko je jedinstven onda cemo da ga izvrsimo neku akciju, u suprotnom poslacemo mu neko obavestenje da ne moze da pristupi.


Kako to izgleda?


Evo ovako, postavicemo na formu 2 edit boksa i u properties-u prvom cemo staviti ime (name) ProveriIme a drugom ProveriLozinku.


Postavicemo i jedno dugme, nazvacemo ga LogInButton i isprogramiracemo.


function LogInButtonClick($sender, $params)

{

$con = mysql_connect("localhost", "", "");

if (!$con) {

die('Ne moze da se uspostavi veza ' . mysql_error());

}

$db_selected = mysql_select_db("Korisnici",$con);

$sql = "SELECT KorisnickoIme FROM TabelaKorisnici WHERE KorisnickoIme = '".$this->ProveriIme->Text."' AND Lozinka = '".$this->ProveriLozinku->Text."'";

$result = mysql_query($sql,$con);

if (mysql_num_rows($result) == 1)

{

echo 'ULOGOVAN';

mysql_close($con);

exit;


}

else

{

echo 'LOSI PODACI';

mysql_close($con);

exit;

}



Sta radi ovaj kod?


Dakle, prvo se konektujemo na bazu podataka u koju su korisnici, i sql upitom vrsimo proveru (filtriranje), da li se uneti korisnik nalazi u bazi.


Kad se filtriranje zavrsi proveravamo koliko ima rezultata, ako je pronadjen korisnik u bazi koji ima trazeno korisnicko ime i lozinku koja odgovara tom imenu onda u mom primeru stampam za rezultat komentar "Ulogovan" a ako su uneti podaci pogresni stampamo za rezultat "Losi podaci".


Naravno vi mozete da stavite nesto drugo, tipa stavite redirekciju na odredjen deo, ili sl. igrajte se malo ovim, eksperimentisite...