Guest User

Untitled

a guest
May 31st, 2016
24
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.54 KB | None | 0 0
  1. <?php
  2. session_start();
  3.  
  4. if((!isset($_POST['login'])) || (!isset($_POST['haslo'])))
  5. {
  6.     header('Location: ./index.php');
  7.     exit();
  8. }
  9.  
  10. require_once "connect.php";
  11. mysqli_report(MYSQLI_REPORT_STRICT); //warningi sa rzucane jako wyjatki
  12.    
  13. try
  14. {
  15.     $polaczenie = new mysqli($host,$db_user,$db_password,$db_name);
  16.     if($polaczenie->connect_errno!=0)
  17.     {
  18.         throw new Exception(mysqli_connect_errno());//rzucanie nowym wyjatkiem
  19.     }
  20.     else
  21.     {
  22.         if(!isset($_POST['typ_gosc']))
  23.         {
  24.             $login=$_POST['login']; // ['odnosnik do inputow']
  25.             $haslo=$_POST['haslo'];
  26.             $login = htmlentities($login,ENT_QUOTES,"UTF-8");
  27.         }
  28.         else
  29.         {
  30.             $login='gosc';
  31.             $haslo='1111111111';   
  32.         }
  33.  
  34.         //sanityzacja - wstawianie encji, konwertowanie danych ktore moga zawierac znaki specjalne na tekst, przeciw wstrzykiwaniu html
  35.          // ENT_QUOTES zmeinia i apostrofy i cudzyslowie na encje
  36.  
  37.         //$sql = "SELECT * FROM uzytkownicy WHERE user='$login' AND pass='$haslo'";
  38.         // czy zapytanie jest poprawnie napisane jesli nie to false
  39.         //sprawdza czy ktos nie probuje kodem wplynac na baze danych
  40.        
  41.         if($rezultat = $polaczenie->query(
  42.         sprintf("SELECT * FROM uzytkownicy WHERE login='%s'",
  43.         mysqli_real_escape_string($polaczenie,$login))))
  44.         {
  45.             $ilu_userow = $rezultat->num_rows;
  46.             if($ilu_userow>0)
  47.             {
  48.                 $wiersz = $rezultat->fetch_assoc(); // tablica asocjacyjna - indeksy oparte o nazwy
  49.                
  50.                 //sprawdza wprowadzone w post haslo z zahashowanym z bazy
  51.                 if(password_verify($haslo,$wiersz['haslo']))
  52.                 {
  53.                     $_SESSION['zalogowany']= true;
  54.                    
  55.                     $_SESSION['login'] = $wiersz['login'];
  56.                     $_SESSION['email'] = $wiersz['email'];
  57.                     $_SESSION['poziom_uprawnien'] = $wiersz['uprawnienia'];
  58.                     $_SESSION['id_uzytkownika'] = $wiersz['id'];
  59.                    
  60.                     $rezultat->close();
  61.                     header('Location: strona_glowna.php');
  62.                 }
  63.                 else
  64.                 {
  65.                     $_SESSION['blad_1'] = '<span style="color:red">Nieprawidlowe hasło dla danego konta!</span>';
  66.                     header('Location: ./index.php');
  67.                 }
  68.             }
  69.             else
  70.             {
  71.                 $_SESSION['blad_1'] = '<span style="color:red">Nieprawidlowy Login lub Haslo!</span>';
  72.                 header('Location: ./index.php');
  73.             }
  74.         }
  75.         //query - zapytanie do bazy, if jesli zapytanie jest zle
  76.    
  77.         if(!$rezultat) throw new Exception($polaczenie->erron);
  78.        
  79.         $polaczenie->close();
  80.     }
  81. }  
  82. catch(Exception $e)
  83.     {
  84.         echo '<span style="color:red">Coś sie rypło i połączenie nie działa. Spróbuj zalogować się później.</span>';
  85.         //echo '<br /> Błąd nr: '.$e; //info dla produkcji po zakonemtowaniu nie widzimy wyjatkow
  86.     }
  87. ?>
Add Comment
Please, Sign In to add comment