64 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			PHP
		
	
	
			
		
		
	
	
			64 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			PHP
		
	
	
<?php
 | 
						|
 | 
						|
require_once 'db.php';
 | 
						|
require_once 'checkLogin.php';
 | 
						|
@session_start();
 | 
						|
 | 
						|
//sprawdź czy to jest metodą post
 | 
						|
if($_SERVER['REQUEST_METHOD'] == 'POST')
 | 
						|
{
 | 
						|
    //sprawdź czy hasła są takie same
 | 
						|
    if($_POST['newPass'] != $_POST['newPass2'])
 | 
						|
    {
 | 
						|
        $_SESSION['innfoError'] = "Nowe hasła nie są takie same";
 | 
						|
        header("Location: pass.php");
 | 
						|
        exit();
 | 
						|
    }
 | 
						|
    //sprawdź czy hasło jest dłuższe niż 8 znaków
 | 
						|
    if(strlen($_POST['newPass']) < 8)
 | 
						|
    {
 | 
						|
        $_SESSION['innfoError'] = "Nowe hasło jest za krótkie";
 | 
						|
        header("Location: pass.php");
 | 
						|
        exit();
 | 
						|
    }
 | 
						|
    //sprawdź czy hasło jest różne od starego
 | 
						|
    if($_POST['newPass'] == $_POST['oldPass'])
 | 
						|
    {
 | 
						|
        $_SESSION['innfoError'] = "Nowe hasło musi być różne od starego";
 | 
						|
        header("Location: pass.php");
 | 
						|
        exit();
 | 
						|
    }
 | 
						|
    //sprawdź czy stare hasło jest poprawne
 | 
						|
    $sql = "SELECT * FROM uzytkownicy WHERE id = :id AND haslo = SHA1(:haslo)";
 | 
						|
    $stmt = $pdo->prepare($sql);
 | 
						|
    $stmt->bindValue(':id', $_SESSION['user_id'], PDO::PARAM_INT);
 | 
						|
    $stmt->bindValue(':haslo', $_POST['oldPass'], PDO::PARAM_STR);
 | 
						|
    $stmt->execute();
 | 
						|
    $user = $stmt->fetch(PDO::FETCH_ASSOC);
 | 
						|
    if($user === false)
 | 
						|
    {
 | 
						|
        $_SESSION['innfoError'] = "Stare hasło jest niepoprawne";
 | 
						|
        header("Location: pass.php");
 | 
						|
        exit();
 | 
						|
    }
 | 
						|
    else
 | 
						|
    {
 | 
						|
        //zmień hasło
 | 
						|
        $sql = "UPDATE uzytkownicy SET haslo = :haslo WHERE id = :id";
 | 
						|
        $stmt = $pdo->prepare($sql);
 | 
						|
        $stmt->bindValue(':haslo', sha1($_POST['newPass']), PDO::PARAM_STR);
 | 
						|
        $stmt->bindValue(':id', $_SESSION['user_id'], PDO::PARAM_INT);
 | 
						|
        $stmt->execute();
 | 
						|
        $_SESSION['innfoError'] = "Hasło zostało zmienione";
 | 
						|
        header("Location: pass.php");
 | 
						|
        exit();
 | 
						|
    }
 | 
						|
}
 | 
						|
else
 | 
						|
{
 | 
						|
    $_SESSION['innfoError'] = "Niepoprawne wywołanie strony";
 | 
						|
    header("Location: pass.php");
 | 
						|
    exit();
 | 
						|
}
 | 
						|
?>
 |