Exemple #1
0
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();
     }
 }