mecze sie juz z moim hashowaniem pare dni i dalej nie mam pojecia dlaczego to wszystko nie dziala.Rejestracja uzytkowniak przebiega bezproblemowo, jednak przy logowaniu nie widzi uzytkownikow i wywala blad, ze nie ma takiego uzytkowniaka. Zastanawiam sie czy przy dodawniu przy logowaniu soli do hasla, nie ma innego wyniku i dlatego nie przepuszcza. Od patrzenia na ten caly kod juz mam metlik, moze ktos z Was umie zobaczyc co jest tam nie tak?
Logowanie
<?php require_once "polaczenie_z_baza.php"; //nawiazanie polaczenia z baza $polaczenie = mysqli_connect($host, $db_user, $db_password, $db_name); //@ - wyciszenie bledow mysqli_select_db($polaczenie,"projekt"); if($polaczenie->connect_errno!=0) { } else {//polaczenie nawiazane: $login = $_POST['login']; $haslo =$_POST['haslo']; $saltQuery = "SELECT salt FROM uzytkownik WHERE login ='$login'"; $result = mysqli_query($polaczenie, $saltQuery); //or die(mysql_error()); $row = mysqli_fetch_assoc($result); $result->free(); if ($result = $polaczenie->query($saltQuery)) { } $salt = $row['salt']; $saltedPW = $salt. $haslo; $hashedPW = hash('sha256', $saltedPW); //zapytanie sql $sql = "select * from uzytkownik where login ='$login' and haslo = '$hashedPW'"; //wyslanie zapytania do bazy: if($rezultat = $polaczenie->query($sql)) { $liczba_wierszy = $rezultat->num_rows; if($liczba_wierszy == 1) {//pobranie danych z bazy danych: //pobranie NAZW indeksow tablicy $wiersz = $rezultat->fetch_assoc(); $_SESSION['Imie'] = $wiersz['Imie']; $_SESSION['Nazwisko'] = $wiersz['Nazwisko']; $_SESSION['email'] = $wiersz['email']; $_SESSION['login'] = $wiersz['login']; //zwolnienie $rezultat->free(); //przykladowe wypisanie na ekran: //do usuniecia potem } else {// 0 wierszy -> nie udalo sie zalogowac! $_SESSION['msg']='<sman style="color:red">Nieprawidlowy login lub haslo!</span>'; } } else{ } //zamkniecie polaczenia z baza: $polaczenie->close(); } ?>
Rejestracja:
<?php require_once "polaczenie_z_baza.php"; //nawiazanie polaczenia z baza $polaczenie = @new mysqli($host, $db_user, $db_password, $db_name); //@ - wyciszenie bledow //nie nawiazano polaczenia z baza if($polaczenie->connect_errno!=0) { } else {//polaczenie nawiazane: //pobranie danych z formularza $haslo2 = $_POST['haslo2']; $nazwisko = $_POST['nazwisko']; $imie = $_POST['imie']; $email = $_POST['email']; //*************************kodowanie "SÓL"*************************** $saltedPW = $haslo1 . $salt; $hashedPW = hash('sha256', $saltedPW); //zapytanie sql //do sprawdzenia, czy login nie jest juz zajety $sql_login = "select * from uzytkownik where login ='$login'"; //do sprawdzenia, czy email nie jest juz zajety $sql_email = "select * from uzytkownik where email ='$email'"; $sql_email="INSERT INTO `projekt`.`uzytkownik` (`id`, `Imie`, `Nazwisko`, `email`, `login`, `haslo`, salt) VALUES (NULL, '$imie', '$nazwisko', '$email', '$login', '$hashedPW', '$salt')"; ?>
Z gory dziekuje za pomoc.
