Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- session_start();
- if((!isset($_POST['login'])) || (!isset($_POST['haslo'])))
- {
- header('Location: ./index.php');
- exit();
- }
- require_once "connect.php";
- mysqli_report(MYSQLI_REPORT_STRICT); //warningi sa rzucane jako wyjatki
- try
- {
- $polaczenie = new mysqli($host,$db_user,$db_password,$db_name);
- if($polaczenie->connect_errno!=0)
- {
- throw new Exception(mysqli_connect_errno());//rzucanie nowym wyjatkiem
- }
- else
- {
- if(!isset($_POST['typ_gosc']))
- {
- $login=$_POST['login']; // ['odnosnik do inputow']
- $haslo=$_POST['haslo'];
- $login = htmlentities($login,ENT_QUOTES,"UTF-8");
- }
- else
- {
- $login='gosc';
- $haslo='1111111111';
- }
- //sanityzacja - wstawianie encji, konwertowanie danych ktore moga zawierac znaki specjalne na tekst, przeciw wstrzykiwaniu html
- // ENT_QUOTES zmeinia i apostrofy i cudzyslowie na encje
- //$sql = "SELECT * FROM uzytkownicy WHERE user='$login' AND pass='$haslo'";
- // czy zapytanie jest poprawnie napisane jesli nie to false
- //sprawdza czy ktos nie probuje kodem wplynac na baze danych
- if($rezultat = $polaczenie->query(
- sprintf("SELECT * FROM uzytkownicy WHERE login='%s'",
- mysqli_real_escape_string($polaczenie,$login))))
- {
- $ilu_userow = $rezultat->num_rows;
- if($ilu_userow>0)
- {
- $wiersz = $rezultat->fetch_assoc(); // tablica asocjacyjna - indeksy oparte o nazwy
- //sprawdza wprowadzone w post haslo z zahashowanym z bazy
- if(password_verify($haslo,$wiersz['haslo']))
- {
- $_SESSION['zalogowany']= true;
- $_SESSION['login'] = $wiersz['login'];
- $_SESSION['email'] = $wiersz['email'];
- $_SESSION['poziom_uprawnien'] = $wiersz['uprawnienia'];
- $_SESSION['id_uzytkownika'] = $wiersz['id'];
- $rezultat->close();
- header('Location: strona_glowna.php');
- }
- else
- {
- $_SESSION['blad_1'] = '<span style="color:red">Nieprawidlowe hasło dla danego konta!</span>';
- header('Location: ./index.php');
- }
- }
- else
- {
- $_SESSION['blad_1'] = '<span style="color:red">Nieprawidlowy Login lub Haslo!</span>';
- header('Location: ./index.php');
- }
- }
- //query - zapytanie do bazy, if jesli zapytanie jest zle
- if(!$rezultat) throw new Exception($polaczenie->erron);
- $polaczenie->close();
- }
- }
- catch(Exception $e)
- {
- echo '<span style="color:red">Coś sie rypło i połączenie nie działa. Spróbuj zalogować się później.</span>';
- //echo '<br /> Błąd nr: '.$e; //info dla produkcji po zakonemtowaniu nie widzimy wyjatkow
- }
- ?>
Add Comment
Please, Sign In to add comment