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

Dlaczego skrypt logowania nie działa?

Object Storage Arubacloud
0 głosów
430 wizyt
pytanie zadane 6 września 2017 w PHP przez Forester Użytkownik (560 p.)

Witam. Dlaczego skrypt logowania do serwisu się nie sprawdza? Po wpisaniu jakichkolwiek danych w pola formularza (czy to dobrych, czy to złych) prosi o ponowne wprowadzenie ich bez podania żadnego błędu. Co zrobiłem nie tak?

index.php

<?php

	session_start();

	if(isset($_POST['login']))
	{
		$login = $_POST['login'];
		$haslo = $_POST['haslo'];
		
		$login = htmlentities($login, ENT_QUOTES, "UTF-8");
	
		
		require_once "connect.php";
		mysqli_report(MYSQLI_REPORT_STRICT);
		
		try
		{
			$polaczenie = new mysqli($host, $db_user, $db_password, $db_name);
			
			if($polaczenie->connect_errno!=0)
			{
				throw new Exception(mysqli_connect_errno);
			}
			else
			{
				if($rezultat = $polaczenie->query(sprintf("SELECT id FROM uzytkownicy WHERE login='%s'", 
				mysqli_real_escape_string($polaczenie,$login))))
				{
					$ile_userow = $rezultat->num_rows;
					
					if($ile_userow>0)
					{
						$wiersz = $rezultat->fetch_assoc();
						
						if(password_default($haslo, $wiersz['haslo']))
						{
							
							$_SESSION['zalogowany'] = true;
							$_SESSION['id'] = $wiersz['id'];
							$_SESSION['login'] = $wiersz['login'];
							$_SESSION['email'] = $wiersz['email'];
							$_SESSION['haslo'] = $wiersz['haslo'];
							$_SESSION['miasto'] = $wiersz['miasto'];
							$_SESSION['kodpocztowy'] = $wiersz['kodpocztowy'];
							$_SESSION['saldo'] = $wiersz['saldo'];
							$_SESSION['kupiono'] = $wiersz['kupiono'];
							$_SESSION['sprzedano'] = $wiersz['sprzedano'];
							$_SESSION['opiniaklientow'] = $wiersz['opiniaklientow'];
							
							header('Location: profil.php');
							
						}
					} else {

						$_SESSION['e_logowanie'] = "Nieprawidłowy login lub hasło!";
						
					}
				
				}
				
				$polaczenie->close();
			}
			
		}
		catch(Exception $e)
		{
			echo '<span color="red">Spróbuj zalogować się za chwilę! Przepraszamy za utrudnienia.</span>';
			echo '<br />Informacja developerska: '.$e;
		}
		
	}
		

?>

<!DOCTYPE HTML>
<html lang="pl">
<head>
	<meta charset="utf-8" />
	<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
	<title>TanieAukcje - nowy serwis aukcyjny</title>
</head>

<body>

Witaj w nowym serwisie aukcyjnym TanieAukcje.pl! Zaloguj się na swoje konto lub załóż nowe.<br /><br />

<b>Logowanie</b><br /><br />

	<form method="post">
		Login:
		<input type="text" name="login" /><br />
		
		Hasło:
		<input type="password" name="haslo" /><br /><br />
		
		<?php
		
		if(isset($_SESSION['e_logowanie']))
			echo '<span style=color:"red">'.$_SESSION['e_logowanie'].'</span>';
		
		?>
		
		<input type="submit" value="Zaloguj się" /><br />
		
		<a href="rejestracja.php">Nie masz konta? Zarejestruj się!</a>
		
	</form>
</body>

</html>

connect.php

<?php

	$host = "localhost";
	$db_user = "root";
	$db_password = "";
	$db_name = "osadnicy";

?>

Baza danych

Co jest nie tak? Jestem początkujący, proszę o wyrozumiałość.

2
komentarz 7 września 2017 przez Jedras Maniak (54,860 p.)

SELECT id FROM uzytkownicy WHERE login='%s'

Poczytaj o PDO i parametryzowaniu zapytań.

komentarz 7 września 2017 przez xandros Nałogowiec (29,450 p.)
Little Bobby Tables <3

1 odpowiedź

+1 głos
odpowiedź 7 września 2017 przez xandros Nałogowiec (29,450 p.)
komentarz 7 września 2017 przez Fenix Nałogowiec (26,750 p.)
Jest takie coś, używa bcrypt'a do hashowania.
komentarz 7 września 2017 przez xandros Nałogowiec (29,450 p.)
edycja 7 września 2017 przez xandros

ale na pewno nie:

password_default($haslo, $user['haslo'])

Jak chcesz bcrypta używać, to masz przykład: http://php.net/manual/en/function.password-hash.php#example-976

komentarz 7 września 2017 przez Fenix Nałogowiec (26,750 p.)

Jest PASSWORD_DEFAULT, aktualnie używa bcrypta. PASSWORD_DEFAULT używa najsilniejszego wspieranego algorytmu hashowania

komentarz 7 września 2017 przez xandros Nałogowiec (29,450 p.)
... tak tylko napomne, bo pewnie nawet nie zerknales w kod, co podesłał twórca pytania

Podobne pytania

0 głosów
2 odpowiedzi 656 wizyt
pytanie zadane 17 marca 2018 w PHP przez Matim4 Nowicjusz (150 p.)
0 głosów
3 odpowiedzi 2,772 wizyt
pytanie zadane 6 listopada 2015 w PHP przez Radekoslaw123 Gaduła (3,080 p.)
0 głosów
2 odpowiedzi 356 wizyt
pytanie zadane 6 października 2015 w PHP przez Krzysiek_34 Mądrala (6,050 p.)

92,556 zapytań

141,404 odpowiedzi

319,562 komentarzy

61,942 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!

...