logowanie z uzyciem mySQL ???

0

Witam, mam baze danych o nazwie base a w niej jest tabela users zawierajaca 2 pola: name i password, i teraz mam pytanie, co jest zlego w tym kodzie, albo jak on powinien wygladac zeby dzialalo logowanie, ktore sprawdzaczy wbazie danych istnieje uzytkownik i czy haslo pasuje do niego...

<?
mysql_connect ("localhost", "root", "password") or 
die ("Nie można poł?czyć się z MySQL");
mysql_select_db ("base") or 
die ("Nie można poł?czyć się z baz? danych!");
$wynik = mysql_query("SELECT * FROM users;") or
die ("blad w pytaniu!");

while ($rekord = mysql_fetch_array ($wynik)) {
$name = $rekord[0];
$password = $rekord[1];
}

if (($PHP_AUTH_USER<>$name)or($PHP_AUTH_PW<>$password)) {
  header("WWW-Authenticate: Basic realm=\\"tajna strefa\\"\\n");
  header("HTTP/1.0 401 Unauthorized\\n");
  echo "Brak autoryzacji!";
  exit;
}
?>
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html><head><meta http-equiv="content-type" 
content="text/html; charset=iso-8859-2">
<title>Tajna strefa</title></head><body>

Ok, udało Ci się wej?ć do tajnej strefy...

</body></html>
0
<? 
function authorize()
	{
	header("WWW-Authenticate: Basic realm=\\"tajna strefa\\"\\n"); 
  	header("HTTP/1.0 401 Unauthorized\\n"); 
 	echo "Brak autoryzacji!"; 
 	exit; 
	}

if (isset($PHP_AUTH_USER) && isset($PHP_AUTH_PW))
	{
	if ($connect=mysql_connect ("localhost", "root", "krasnal"))
		{
		if (mysql_select_db ("bart"))
			{
			if ($wynik = mysql_query("SELECT * FROM `users` WHERE `name`='" . $PHP_AUTH_USER . "' AND `password`='" . $PHP_AUTH_PW . "' LIMIT 1"))
				{
				$num=mysql_num_rows($wynik);
				if ($num>0)
					{
					$login=true;
					}
				else
					authorize();
				}
			else
				print ("blad w zapytaniu!");
			}
		else
			print ("Nie można połączyć się z bazą danych!");
		}
	else
		print ("Nie można połączyc się z MySQL");
	}
else
	{
	authorize();
	}
?> 

<!doctype html public "-//w3c//dtd html 4.0 transitional//en"> 
<html><head><meta http-equiv="content-type" 
content="text/html; charset=iso-8859-2"> 
<title>Tajna strefa</title></head><body> 

<?php
if ($login===true)
	{
	print ('Ok, udało Ci się wej&para;ć do tajnej strefy...');
	}
else
	{
	print ('jestes niezalogowane');
	}

</body></html>
0

Po prostu w przebiegu pętli while (mysql_fetch_array) {....} musisz sprawdzać, czy login i hasło są poprawne i zapisać to np w trzeciej zmiennej $is_logged

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