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

PHP + MySql | System Logowania

Object Storage Arubacloud
0 głosów
666 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 (212,670 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 (212,670 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,070 wizyt
pytanie zadane 5 lipca 2019 w PHP przez Nerez Użytkownik (970 p.)
+2 głosów
0 odpowiedzi 124 wizyt
pytanie zadane 6 lipca 2019 w HTML i CSS przez Nerez Użytkownik (970 p.)
0 głosów
1 odpowiedź 265 wizyt
pytanie zadane 11 listopada 2022 w PHP przez mrc Nowicjusz (200 p.)

92,565 zapytań

141,416 odpowiedzi

319,599 komentarzy

61,950 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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...