Imamo tabelu korisnik(ime, prezime....) i tabelu korisnik_rola_korisnika (ID_rola_korisnik,IDkorisnik,IDrola) i tabelu rola_korisnika (IDrola, rola_korisnika)
Kada korisnik unese username i pasword, podaci se salju na php stranu gde se vrshi validacija, kao i redirekcija.
Redirekcija se obavlja na osnovu atributa IDrola iz tabele korisnik_rola_korisnika. Znaci trebalo bi da na osnovu username i passworda saznam koji je korisnik u pitanju,
a onda na osnovu IDkorisnika, da saznam koja je njegova rola, vadeci te informacije iz tabele korisnik_rola_korisnika.
U Mysql bazi bih to uradio pomocu 2 jednostavna upita:
SELECT * FROM korisnik WHERE username = '$username' AND password = '$password'
i onda na osnovu ID-a koji sam dobio iz prethodnog upita:
SELECT IDrola FROM korisnik_rola_korisnika WHERE IDkorisnik = IDkorisnik(iz prethodnog upita sto som saznali)...
Medjutim u postgresql bazi, to nije isti slucaj. Znam da se kod nje uporedjivanje ovih atributa obavlja na drugaciji nacin, ali ne mogu da provalim na koji nacin...
Jel ima neko ideju , da mi napise kako bi on to odradio, evo kako sam ja zamislio, ali nece pa nece. :(
1 admin
2 user
3 gest
4 worker
Code:
$pro = "SELECT * FROM korisnik WHERE username = '$username' AND password = '$password'";
$result = pg_exec($dbconn,$pro);
if (pg_num_rows($result)>0 )
{
$row = pg_fetch_row($result);
$bla = $row[0]; //ovde dohvatam prvi element niza, a to je id korisnika
$query = "SELECT IDrola FROM korisnik_rola_korisnika WHERE IDkorisnik = '$bla' ";
$qrez = pg_exec($dbconn,$query);
$row1 = pg_fetch_row($qrez);
if($row1[1] == 2)
{
$_SESSION['acount']['id'] = $row[0];
$_SESSION['acount']['username']= $row[1];
$_SESSION['acount']['password']= $row[2];
$_SESSION['acount']['ime']= $row[3];
$_SESSION['poruka'] = "Uspesno ste ulogovani korisnice " . $row[1]; //atribut ime je na ovom mestu
$_SESSION['acount']['IDrola']= $row1[1]; //atribut IDrola je na ovom mestu
header('Location: http://localhost/Index files/Registrovani korisnici/reg_korisnik.php');
}
else if($row1[1] == 4)
{
$_SESSION['acount']['id'] = $row[0];
$_SESSION['acount']['username']= $row[1];
$_SESSION['acount']['password']= $row[2];
$_SESSION['acount']['ime']= $row[3];
$_SESSION['acount']['IDrola']= $row1[1];
$_SESSION['poruka'] = "Uspesno ste ulogovani zaposleni " . $row[1];
$_SESSION['acount']['IDrola']= $row1[1];
header('Location: http://localhost/Index files/Zaposleni korisnici/zap_korisnik.php');
}
}
else
{
$message = "Nema takvog korisnika u bazi";
header('Location: http://localhost/index.php');
}
$pro = "SELECT * FROM korisnik WHERE username = '$username' AND password = '$password'";
$result = pg_exec($dbconn,$pro);
if (pg_num_rows($result)>0 )
{
$row = pg_fetch_row($result);
$bla = $row[0]; //ovde dohvatam prvi element niza, a to je id korisnika
$query = "SELECT IDrola FROM korisnik_rola_korisnika WHERE IDkorisnik = '$bla' ";
$qrez = pg_exec($dbconn,$query);
$row1 = pg_fetch_row($qrez);
if($row1[1] == 2)
{
$_SESSION['acount']['id'] = $row[0];
$_SESSION['acount']['username']= $row[1];
$_SESSION['acount']['password']= $row[2];
$_SESSION['acount']['ime']= $row[3];
$_SESSION['poruka'] = "Uspesno ste ulogovani korisnice " . $row[1]; //atribut ime je na ovom mestu
$_SESSION['acount']['IDrola']= $row1[1]; //atribut IDrola je na ovom mestu
header('Location: http://localhost/Index files/Registrovani korisnici/reg_korisnik.php');
}
else if($row1[1] == 4)
{
$_SESSION['acount']['id'] = $row[0];
$_SESSION['acount']['username']= $row[1];
$_SESSION['acount']['password']= $row[2];
$_SESSION['acount']['ime']= $row[3];
$_SESSION['acount']['IDrola']= $row1[1];
$_SESSION['poruka'] = "Uspesno ste ulogovani zaposleni " . $row[1];
$_SESSION['acount']['IDrola']= $row1[1];
header('Location: http://localhost/Index files/Zaposleni korisnici/zap_korisnik.php');
}
}
else
{
$message = "Nema takvog korisnika u bazi";
header('Location: http://localhost/index.php');
}