Advertisement
wumat

zaloguj.php

Nov 22nd, 2016
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.04 KB | None | 0 0
  1. <?php
  2.     //phpinfo();
  3.    
  4.     session_start();
  5.     //jezeli nie jest ustawiony login i haslo w globalnej tablicy POST to wróć do logowania
  6.     if ((!isset($_POST['login'])) || (!isset($_POST['haslo'])))
  7.     {
  8.         header('Location: index.php');
  9.         exit(); //zakończ wykonywanie dalszego kodu
  10.     }
  11.  
  12.     //require_once "users.db";
  13.     require_once "connect.php";
  14.     //$polaczenie = new PDO('sqlite:users.db');
  15.     $polaczenie = @new sqlite($host, $db_user, $db_password, $db_name);
  16.    
  17.     if ($polaczenie->connect_errno!=0)
  18.     {
  19.         echo "Error: ".$polaczenie->connect_errno. "Opis".$polaczenie->connect_error;
  20.     }
  21.     else
  22.     {
  23.         $login = $_POST['login'];
  24.         $haslo = $_POST['haslo'];
  25.        
  26.         //bezpieczeństwo przed wstrzykiwanie sql
  27.         //ENT_QUOTES - zamienia na encje " i '
  28.  
  29.         $login = htmlentities($login, ENT_QUOTES, "UTF-8"); //encja html (znaki nie będą częścią htmla)
  30.         $haslo = htmlentities($haslo, ENT_QUOTES, "UTF-8");
  31.  
  32.         //$sql = "SELECT * FROM users WHERE login='$login' AND haslo='$haslo'";
  33.            
  34.         //%s - tam gdzie przebywa zmienna string
  35.         //sqlite_escape_string - wykrywa wstrzykiwanie sql i blokuje
  36.  
  37.         if ($result = $polaczenie->query(
  38.             sprintf("SELECT * FROM users  WHERE user='%s' AND pass='%s'",
  39.             sqlite_escape_string($polaczenie,$login),
  40.             sqlite_escape_string($polaczenie,$haslo))))
  41.  
  42.         {
  43.             $ilu_userow = $result->num_rows;
  44.             if($ilu_userow>0)
  45.             {
  46.                 $_SESSION['zalogowany'] = true; //flaga - że jesteśmy zalogowani
  47.                
  48.                 $wiersz = $result->fetch_assoc();
  49.                 //$_SESSION['empid'] = $wiersz['empid']; - może posłużyć do zapisywania zmian w bazie
  50.                 $_SESSION['login'] = $wiersz['login'];
  51.                
  52.                 unset($_SESSION['blad']); //usuń zmienną z sesji (jeśli wszystko wyżej się zgadza)
  53.                 $result->free_result();
  54.                 header('Location: start.php'); //pamięta że jesteśmy już zalogowani
  55.                
  56.             } else {
  57.                
  58.                 $_SESSION['blad'] = '<span style="color:red">Nieprawidłowy login lub hasło!</span>';
  59.                 header('Location: index.php'); //wraca do logowania bo zle login/haslo
  60.                
  61.             }
  62.            
  63.         }
  64.        
  65.         $polaczenie->close();
  66.     }
  67.    
  68. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement