Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <div id="logowanie">
- <?php
- session_start();
- require 'header.php'; // Dołącz początkowy kod HTML
- require 'config.php'; // Dołącz plik konfiguracyjny i połączenie z bazą
- require_once 'user.class.php'; // Dołączamy rdzeń systemu użytkowników
- // zmienne odebrane z formularza
- if(isset($_POST['send'])){
- $login = $_POST['login'];
- $pass = $_POST['pass'];
- }
- if ((isset($_POST['send'])) && ($_POST['send'] == 1)) {
- // Sprawdź, czy wszystkie pola zostały uzupełnione
- if (!$login or empty($login)) {
- die ('<p class="error">Wypełnij pole z loginem!</p>');
- }
- if (!$pass or empty($pass)) {
- die ('<p class="error">Wypełnij pole z hasłem!</p>');
- }
- $pass = user::passSalter($pass); // Posól i zahashuj hasło
- // Sprawdź, czy użytkownik o podanym loginie i haśle isnieje w bazie danych
- $userExists = mysql_fetch_array(mysql_query("SELECT COUNT(*) FROM uzytkownicy WHERE login = '$login' AND haslo = '$pass'"));
- if ($userExists[0] == 0) {
- // Użytkownik nie istnieje w bazie
- echo '<p class="error">Użytkownik o podanym loginie i haśle nie istnieje.</p>';
- }
- else {
- // Użytkownik istnieje
- $user = user::getData($login, $pass); // Pobierz dane użytknika do tablicy i zapisz ją do zmiennej $user
- // Przypisz pobrane dane do sesji
- $_SESSION['login'] = $login;
- $_SESSION['pass'] = $pass;
- echo '<p class="success">Zostałeś zalogowany.</p>';
- ?>
- <form action="index.php"> <input type="submit" value="Strona główna" /> </form>
- <?php
- }
- }
- else {
- /**
- * FORMULARZ LOGOWANIA
- */
- ?>
- <form method="post" action="">
- <label for="llogin">Login:</label>
- <input type="text" name="login" maxlength="32" id="login" />
- <label for="ppass">Hasło:</label>
- <input type="password" name="pass" maxlength="32" id="pass" /><br />
- <br>
- <input type="hidden" name="send" value="1" />
- <input type="submit" value="Zaloguj" />
- </form>
- <form action="index.php"> <input type="submit" value="Strona główna" /> </form>
- <?php
- }
- require 'footer.php'; // Dołącz końcowy kod HTML
- ?>
- </div>
- /////////////////////////////
- user.class.php
- <?php
- class user {
- public static $user = array();
- //public static $nazwa = array();
- /**
- * Zwraca tablicę ze wszystkimi danymi o użytkowniku.
- * Indeksy tablicy odpowiadają nazwom pól w bazie danych (login, pass etc...)
- * @param string $login
- * @param string $pass
- * @return array
- */
- public function getData ($login, $pass) {
- if ($login == '') $login = $_SESSION['login'];
- if ($pass == '') $pass = $_SESSION['pass'];
- self::$user = mysql_fetch_array(mysql_query("SELECT * FROM uzytkownicy WHERE login='$login' AND haslo='$pass' LIMIT 1;"));
- return self::$user;
- }
- public function getPermissions ($nr) {
- $upraw = mysql_fetch_array(mysql_query("SELECT * FROM uzytkownicy WHERE uprawnienia= '$nr' LIMIT 1;"));
- return $upraw;
- }
- /**
- * Zwraca tablicę ze wszystkimi danymi o użytkowniku, tak jak powyższa metoda klasy,
- * ale rozpoznaje użytkownika nie po podaniu loginu i hasła tylko po podaniu ID.
- * Używana np. do wyświetlania strony profilu.
- * @param int $id
- * @return array
- */
- public function getDataById ($id) {
- $user = mysql_fetch_array(mysql_query("SELECT * FROM uzytkownicy WHERE id='$id' LIMIT 1;"));
- return $user;
- }
- /**
- * Jeśli użytkownik jest zalogowany - zwraca true, w przeciwnym wypadku - false
- * @return bool
- */
- public function isLogged () {
- if (empty($_SESSION['login']) || empty($_SESSION['pass'])) {
- return false;
- }
- else {
- return true;
- }
- }
- /**
- * "Soli" hasło przed jego zahashowaniem funkcją md5()
- * @param string $pass
- * @return string
- */
- public function passSalter ($pass) {
- $pass = '$@@#$#@$'.$pass.'q2#$3$%##@';
- return md5($pass);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement