[ nemanjo @ 16.12.2010. 17:47 ] @
Problem je sledeci: 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'); } |