Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- //gjort av marri
- //user class för log in av admin-interface
- class User
- {
- private $person_id;
- //private $dbh;
- private $info;
- public function fetchInfo()
- {
- //krypterar lösenord om konto skapas i admin
- public
- static function encryptPass($pass)
- {
- $pass = md5($pass);
- return $pass;
- }
- //hämtar info från databasen
- public
- function fetchInfo()
- {
- global $dbh;
- $sql = "SELECT * FROM person WHERE person_id = $this->person_id";
- $this->info = $dbh->query($sql)->fetch(PDO::FETCH_ASSOC);
- }
- // echo $user->getInfo('person_firstname');
- public
- function getInfo($columnName)
- {
- return $this->info[$columnName];
- }
- //returnera true ifall personen är inloggad
- public
- function is_logged_in()
- {
- if (!is_null($this->person_id)) {
- return true;
- } //annars returnera false
- return false;
- }
- //ta in emailadress samt lösenord för att logga in, samt skickar in db som parameter
- public
- function log_in($person_email, $person_password, $dbh)
- {
- //gör anrop till databasen
- $sql = "SELECT person_id
- FROM person
- WHERE person_email = :person_email
- AND person_password = :person_password";
- //databaskod
- $stmt = $dbh->prepare($sql);
- $stmt->bindParam(':person_email', $person_email);
- $stmt->bindParam(':person_password', $person_password);
- // $stmt->bindValue(':person_password', User::encryptPass($person_password));
- $stmt->execute();
- // echo $this->getInfo('person_password');
- // echo "hehehe";
- //om vi får tillbaka ett värde (false om tom)
- if ($person_id = $stmt->fetchColumn()) {
- //sätt $this->person_id till värdet som finns i databasen
- $this->person_id = $person_id;
- // var_dump($this);
- if (!$this->isAdmin()) {
- //$this->log_out();
- }
- //die();
- $this->fetchInfo();
- $this->fetchInfo();
- } else {
- $this->log_out();
- //om email eller lösen är fel - gör så personen blir utloggad
- }
- //header('Location: index.html');
- }
- //funktion för utloggning
- public
- function log_out()
- {
- $this->person_id = null;
- }
- /*//hämta person_id
- public function get_person_id() {
- return $this->person_id;
- }*/
- //kolla ifall användaren är en admin
- public
- function admin_level()
- {
- global $dbh;
- $sql = "SELECT person_type
- FROM person
- WHERE person_id = :person_id";
- $stmt = $dbh->prepare($sql);
- $stmt->bindParam(':person_id', $this->person_id);
- $stmt->execute();
- }
- public
- function isAdmin()
- {
- return $this->admin_level() === "2";
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement