Wątek przeniesiony 2017-05-23 16:19 z PHP przez Patryk27.

Problem z logowaniem

0

Witajcie.
Na projekt zrobiłem po raz pierwszy w życiu w PHP logowanie, jednakże ono nie działa.
Oto kod:

<form method=post>
login: <input type=text name=login><br>
hasło: <input type=password name=password><br>
<input type=submit value="Zaloguj">
</form>

<?
$link = mysqli_connect("#IP#", "#LOGIN_BAZY#", "#HASLO_BAZY#","#NAZWA_BAZY#");

foreach ($_POST as $k=>$v) {$_POST[$k] = mysqli_real_escape_string($link, $v);}
foreach ($_SERVER as $k=>$v) {$_SERVER[$k] = mysqli_real_escape_string($link, $v);}

if (isset($_POST['login'])){

$q = mysqli_fetch_assoc( mysqli_query($link, "select count(*) cnt, idUzytkownik from uzytkownik where login='{$_POST['login']}' and haslo = md5('{$_POST['password']}');"));

if ($q['cnt']) {
	$id = md5(rand(-10000,10000) . microtime()) . md5(crc32(microtime()) . $_SERVER['REMOTE_ADDR']);
mysqli_query($link, "delete from sesja where idUzytkownik = '$q[ID_users]';"); 	
mysqli_query($link, "
	insert into sesja (idUzytkownik, identyfikator, adresIp, web) values 
	('$q[ID_users]','$id','$_SERVER[REMOTE_ADDR]','$_SERVER[HTTP_USER_AGENT]')");
	if (! mysqli_errno($link)){
		setcookie("identyfikator", $identyfikator);
		echo "zalogowano pomyślnie!";
		header("location:zalogowano.php");
	} else {echo "błąd podczas logowania!";}
	
} else {
	echo "błąd logowania!";
} }
?>

Po każdej próbie logowania mimo podania prawidłowego loginu i hasła dostaję zwrotkę "Błąd logowania!" i tyle.
Ktoś mógłby mi wytłumaczyć dlaczego i jak to zrobić?

0

Poczytaj o PDO oraz bindowaniu danych, zanim zabierzesz się za składanie zapytań.
Plus formatuj kod źródłowy należycie.

Btw, Twoje header również na pewno nie zadziała, ponieważ nagłówki są wysyłane przed zawartością strony, a Ty masz tam wprost pierw wywołanie echo.

0

Poczytałbym gdyby nie to że na sobotę mam oddać gotowy moduł logowania, a muszę się nauczyć jeszcze na 2 kolokwia, oddać inny projekt i jeszcze muszę zostać nadgodziny w pracy środa/czwartek.

Poprosiłbym o konkretne uwagi co jest nie tak w kodzie i w jaki sposób mógłbym to usprawnić.

0

Zachowujesz się tak, jak gdybym kazał Ci czytać całą książkę.
Odpowiedziałeś siedem minut temu (na czas pisania mojego posta) - to by w zupełności wystarczyło, aby zapoznać się z pojęciami, które opisałem w poście.

1 użytkowników online, w tym zalogowanych: 0, gości: 1