<?php require_once('class.DB.php'); require_once('class.validator.php'); require_once('class.config.php'); class login{ protected $login = ''; protected $password = ''; protected $old_password = ''; protected $new_password1 = ''; protected $new_password2 = ''; protected function __construct(){ $config = config::singleton(); if(!empty($_POST['old_password'])) $this->old_password = mysql_escape_string($_POST['old_password']); if(!empty($_POST['new_password1'])) $this->new_password1 = mysql_escape_string($_POST['new_password1']); if(!empty($_POST['new_password2'])) $this->new_password2 = mysql_escape_string($_POST['new_password2']); }else{ }; } $c = __CLASS__; self::$instance = new $c(); } return self::$instance; } public function checkLoginData(){ $validator = validator::singleton(); if(!$validator->validatePassword($this->password)){ return false; }else if(!$validator->validateLogin($this->login)){ return false; }else{ $db = DB::singleton(); $query = "SELECT COUNT(*) AS COUNT FROM `ADMIN` WHERE `PASSWORD` = '$pass'"; }else if($validator->validatePESEL($this->login)){ $query = "SELECT COUNT(*) AS COUNT FROM `STUDENTS` WHERE `PESEL` = '$this->login' AND `PASSWORD` = '$pass'"; }else{ $query = "SELECT COUNT(*) AS COUNT FROM `TEACHERS` WHERE LOWER(`NAME`) = LOWER('$this->login') "; $query .= "AND `PASSWORD` = '$pass'"; }; $db->send_query($query); $error = $db->isQueryError(); if($error === false){ $row = $db->getRow(); if($row['COUNT'] == 1){ return true; }else{ return false; }; }else{ return $error; }; }; } public function login(){ $data = $this->checkLoginData(); $validator = validator::singleton(); if($data === true){ $_SESSION['logged'] = true; $_SESSION['user_login'] = 'Admin'; }else if($validator->validatePESEL($this->login)){ $_SESSION['logged'] = true; $_SESSION['user_login'] = $this->login; }else{ $db = DB::singleton(); $query = "SELECT * FROM `TEACHERS` WHERE LOWER(`NAME`) = LOWER('$this->login')"; $db->send_query($query); $row = $db->getRow(); if($db->isQueryError() === false){ $_SESSION['logged'] = true; $_SESSION['user_login'] = $row['NAME']; $_SESSION['SCHOOL_ID'] = $row['SCHOOL_ID']; $_SESSION['CLASS_ID'] = $row['CLASS_ID']; $_SESSION['TEACHER_ID'] = $row['TEACHER_ID']; }else{ return $db->isQueryError().$this->showLoginForm(); }; }; }else if($data === false){ return '<div class="error">Niepoprawne dane. Spróbuj ponownie.</div>'.$this->showLoginForm(); }else{ return $data.$this->showLoginForm(); }; } public function isStudent(){ $validator = validator::singleton(); if(!empty($_SESSION['logged']) && $validator->validatePESEL($_SESSION['user_login'])) return true; else return false; } public function logout(){ } public function getLogin(){ return $_SESSION['user_login']; } public function getTeacherId(){ return $_SESSION['TEACHER_ID']; } public function isAdmin(){ if(!empty($_SESSION['user_login']) && $_SESSION['user_login'] == 'Admin' && $_SESSION['logged'] === true) return true; else return false; } public function isTeacher(){ return true; }else{ return false; }; } public function showAccount(){ if($this->isTeacher()){ $teacher_id = $this->getTeacherId(); $query = "SELECT `SCHOOL_NAME`, `CLASS_NAME` FROM `SCHOOLS`,`CLASSES` WHERE `SCHOOLS`.`SCHOOL_ID` = ".$_SESSION['SCHOOL_ID']." AND CLASSES.CLASS_ID = ".$_SESSION['CLASS_ID']; $db = DB::singleton(); $db->send_query($query); $error = $db->isQueryError(); if($error === false){ $row = $db->getRow(); return '<div class="center"> <table style="margin:10px auto;"> <tr><td><div class="right">Szkoła: </div></td><td><div class="left">'.$row['SCHOOL_NAME'].'</div></td></tr> <tr><td><div class="right">Wychowawca(czyni) klasy: </div></td><td><div class="left">'.$row['CLASS_NAME'].'</div></td></tr> </table> <br /><br /> <a href="index.php?p=1&action=change_pass_form">Zmiana hasła</a> </div>'; }else{ return $error; }; }else if($this->isAdmin()){ return '<br /><br /><div class="center"><a href="index.php?p=1&action=change_pass_form">Zmiana hasła</a></div>'; }else{ return '<div class="error">Nie jesteś zalogowany(a) jako nauczyciel</div>'; }; } public function showLoginForm(){ return ' <div class="center"> <form action="index.php?p=1&action=login" method="post"> <table style="margin:50px auto;"> <tr><td class="right">Login: </td><td><input type="text" maxlength="30" name="login" class="login" /></td></tr> <tr><td class="right">Hasło: </td><td><input type="password" maxlength="30" name="password" class="login" /></td></tr> <tr><td colspan="2" class="right"><input type="submit" value="Zalogój" class="submit" /></td></tr> </table> </form> </div>'; } }; ?>
uzywam jej i jak odswierzam strone to raz funkcja isAdmin() pokazuje ze admin a raz ze nie :/ wogole nie wiem jakim cudem tak moze pokazywac hosting jest na internetdsl.pl ja nie wiem podobnie mam tylko z inna strona na boo.pl trace powoli nadzieje. Na localhoscie zadnych bledow nic wszystko dzial jak powinno na hostingu nie dziala jak powinno i tez zadnych bledow. Zaraz szlak mnie trafi. Prosze o pomoc
