• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

PHP + MySql | System Logowania

VPS Starter Arubacloud
0 głosów
727 wizyt
pytanie zadane 28 lipca 2020 w PHP przez x_000 Obywatel (1,460 p.)

Siema jest jakiś gdzieś błąd ponieważ wpisuje poprawne dane do logowania a wyskakuje błąd

KOD php:

<?php

	session_start();
	
	if ((!isset($_POST['login'])) || (!isset($_POST['haslo'])))
	{
		header('Location: index.php');
		exit();
	}

	$polaczenie = @new mysqli('localhost', 'root', '', 'gitme');
	
	if ($polaczenie->connect_errno!=0)
	{
		echo "Error: ".$polaczenie->connect_errno;
	}
	else
	{
		$login = $_POST['login'];
		$haslo = $_POST['haslo'];
		
		$haslo = password_hash($haslo, PASSWORD_DEFAULT);
	
		if ($rezultat = @$polaczenie->query("SELECT * FROM users WHERE username='".$login."' AND password='".$haslo."'"))
		{
			$ilu_userow = $rezultat->num_rows;
			if($ilu_userow>0)
			{
				$_SESSION['loggedin'] = true;
				
				$wiersz = $rezultat->fetch_assoc();
				$_SESSION['id'] = $wiersz['id'];
				$_SESSION['user'] = $wiersz['user'];
				$_SESSION['dimage'] = $wiersz['DesktopImg'];
				
				unset($_SESSION['blad']);
				$rezultat->free_result();
				header('Location: ../');
				
			} else {
				
				$_SESSION['blad'] = '<span style="color:red">Incorrect datas.</span>';
				header('Location: index.php');
				
			}
			
		}
		
		$polaczenie->close();
	}
	
?>

BAZA DANYCH mySQL:

 

Gdzie jest błąd??? 

 

Z Góry dzięki za pomoc!!!

3 odpowiedzi

0 głosów
odpowiedź 28 lipca 2020 przez kingkushlee Gaduła (3,960 p.)
–1 głos
odpowiedź 28 lipca 2020 przez _Pita_ Stary wyjadacz (11,410 p.)
Dobrze rozumiem, że nie użyłeś funkcji password_verify()?

Jeśli tak, to właśnie to jest problemem.

 

Teraz niektórzy mogą mnie krytykować, ale mimo wszystko polecam Ci obejrzeć pierwsze 3 odcinki serii PHP Pana MZ.
komentarz 28 lipca 2020 przez _Pita_ Stary wyjadacz (11,410 p.)

O password verify nic nie pisałem.

 Wiem, chodzi mi tylko o to, że kurs mimo wszystko może pomóc.

Nie, rzucanie wyjątków też jest tam źle zrobione. To że użyjesz try catch to jeszcze nic nie znaczy. 

Jak już wspomniałem, nie jestem specjalistą, ale nie widziałem w tym kodzie rzucania wyjątków, a jedynie wyciszanie za pomocą @.

komentarz 29 lipca 2020 przez x_000 Obywatel (1,460 p.)

@_Pita_, Oglądałem z 2 lata temu.

komentarz 29 lipca 2020 przez Ehlert Ekspert (213,530 p.)

jedynie wyciszanie za pomocą @.

Tak się nie robi. 

komentarz 29 lipca 2020 przez _Pita_ Stary wyjadacz (11,410 p.)

Tak się nie robi. 

 Właśnie o to chodziło mi w tym komentarzu :D.  Autor użył @, zamiast chociażby rzucania wyjątkiem, czy innej tego typu mechaniki. System throw catch we wspomnianym przeze mnie materiale został wytłumaczony całkiem dobrze. Nie mówiąc już o password_verify(), o które tak naprawdę chodzi autorowi.

@_Pita_, Oglądałem z 2 lata temu.

W takim razie funkcja  password_verify, nie powinna być Ci obca.

komentarz 29 lipca 2020 przez Ehlert Ekspert (213,530 p.)

System throw catch we wspomnianym przeze mnie materiale został wytłumaczony całkiem dobrze. 

Ale kto tak określił? Ty? Bo prawda jest taka że chyba ta @ była lepszym rozwiązaniem.

Podobne pytania

0 głosów
4 odpowiedzi 1,195 wizyt
pytanie zadane 5 lipca 2019 w PHP przez Nerez Użytkownik (970 p.)
+2 głosów
0 odpowiedzi 131 wizyt
pytanie zadane 6 lipca 2019 w HTML i CSS przez Nerez Użytkownik (970 p.)
0 głosów
1 odpowiedź 284 wizyt
pytanie zadane 11 listopada 2022 w PHP przez mrc Nowicjusz (200 p.)

92,845 zapytań

141,786 odpowiedzi

320,861 komentarzy

62,178 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...