function rest_post($request, $data) { $uri = explode("/", $request); $tip = array_pop($uri); switch ($tip) { case 'login': $dao = new \Dao\KorisnikDao(); $email = htmlentities($data['email']); $pass = htmlentities($data['password']); $hash = md5($pass); $logged = $dao->getLogin($email, $hash); if ($logged) { session_start(); $usr = $dao->getByExample('email', $email); $usr = $usr[0]; $username = $usr->getIme(); $_SESSION['username'] = $username; $id = $usr->getId(); $_SESSION['korisnikId'] = $id; } if (!$logged) { rest_error("Pogrešni podaci."); } return; break; case 'logout': session_start(); if (isset($_SESSION['username']) && $_SESSION['username'] == $data['username']) { unset($_SESSION['username']); session_destroy(); } else { rest_error("Niste prijavljeni."); } return; break; case 'register': session_start(); try { $korisnik = new Korisnik(); $ime = htmlentities($data['ime']); $prezime = htmlentities($data['prezime']); $korisnik->setIme($ime . " " . $prezime); $korisnik->setEmail(htmlentities($data['email'])); $password = htmlentities($data['password']); $korisnik->setPassword(md5($password)); $kdao = new \Dao\KorisnikDao(); $kdao->create($korisnik); $username = $ime . " " . $prezime; $_SESSION['username'] = $username; $id = $korisnik->getId(); $_SESSION['korisnikId'] = $id; } catch (Exception $e) { rest_error($e->getMessage()); } break; } }
public static function autentikacija($korIme, $lozinka) { $baza = new Baza(); $korisnik = new Korisnik(); $upit = "SELECT tip_korisnika, idkorisnik, korisnicko_ime,ime,prezime,email,lozinka,zakljucan FROM korisnik where korisnicko_ime = '{$korIme}' or email='{$korIme}'"; $rezultat = $baza->selectDB($upit); if ($rezultat->num_rows == 1) { list($tip_korisnika, $id_korisnika, $korIme, $ime, $prezime, $email, $lozinka2, $zakljucan) = $rezultat->fetch_array(); $korisnik->set_podaci($tip_korisnika, $id_korisnika, $korIme, $ime, $prezime, $email); if ($zakljucan == 1) { Dnevnik::prijava($korIme, -1); return -1; } if ($lozinka == $lozinka2) { self::kreirajSesiju($tip_korisnika, $id_korisnika, $korIme, $ime, $prezime, $email); $upit2 = "update korisnik set pokusaj = 0 where idkorisnik ='{$id_korisnika}'"; $rezultat2 = $baza->selectDB($upit2); Dnevnik::prijava($korIme, 1); return $tip_korisnika; } if ($lozinka != $lozinka2) { Dnevnik::prijava($korIme, -1); $upit2 = "update korisnik set pokusaj = pokusaj+1 where idkorisnik = '{$id_korisnika}'"; $rezultat2 = $baza->selectDB($upit2); $upit3 = "select pokusaj from korisnik where idkorisnik = '{$id_korisnika}'"; $rezultat3 = $baza->selectDB($upit3); $broj = $rezultat3->fetch_array(); $broj2 = $broj['pokusaj']; if ($broj2 >= 3) { $kljucaj = "update korisnik set zakljucan = 1 where idkorisnik ='{$id_korisnika}'"; $rezultat4 = $baza->selectDB($kljucaj); } return 0; } else { header("Location: greske.php?id=0"); } } }
public function getByExample($name, $value) { try { $sql = "SELECT * FROM korisnici WHERE {$name}=:value"; $upit = $this->konekcija->prepare($sql); $upit->bindParam(':value', $value); $upit->execute(); $korisnici = array(); if ($upit->rowCount() > 0) { while ($row = $upit->fetch(PDO::FETCH_ASSOC, PDO::FETCH_ORI_NEXT)) { $korisnik = new \Korisnik(); $korisnik->setId($row['idKorisnik']); $korisnik->setIme($row['ime']); $korisnik->setEmail($row['email']); $korisnik->setPassword($row['password']); array_push($korisnici, $korisnik); } } return $korisnici; } catch (PDOException $e) { print $e->getMessage(); } }