hallo iedereen,

ik ben een klein login systeempje aant maken met een md5 paswoord, het paswoord wordt opgeslagen in md5 vorm maar het controleren lukt niet
Dit is de code, weet iemand men fout?

<?
session_start();
if(!empty($_POST)){
	include("connect.php");
	$query = "SELECT * FROM users
		WHERE username ='" . $_POST["username"] . "'
		AND paswoord = '" . md5($_POST["paswoord"]) . "'";
	
	$result = mysql_query($query) or die (mysql_error());
	
	if(mysql_num_rows($result) >0){
		$username = $_POST["username"];
		$paswoord = md5($_POST["paswoord"]);
		session_register("username");
		session_register("paswoord");
		mysql_fetch_row($result);
		header("Location: beveiligd.php");
		exit();
		
	}else{
		
		$tekst = "Uw username en uw paswoord komen niet overeen
					<a href=\"login.php\"> Probeer het opnieuw</a><br/>";
				die($tekst);
		}
	}else{
		header("Location : login.php");
	}
?>
Precies zoals Robert zegt.

Dit voorbeeld herken ik volgens mij, komt uit het PHP5-boekje van Peter Kassenaar als ik me niet vergis? Hier zijn al heel wat discussies over geweest. Zie bijv. http://www.phpfreakz.nl/forum.php?forum=4&iid=498621

Alleen al het gebruik van session_register stamt uit PHP4.0, wachtwoorden in sessies is uit den boze etc...
Eeen voorbeeldje, maak een gebruiker in de database aan met login test, en wachtwoord 098f6bcd4621d373cade4e832627b4f6

Probeer dan in te loggen met als login test, en als wachtwoord test... Als het werkt, is je login script niet kapot, maar je registreer script.

Als dit niet werkt, is er een grote kans dat je database structuur niet klopt, bijv varchar(16) op wachtwoorden, waardoor een md5 gecodeerd wachtwoord er niet in past...
Zoals ZeroDead zei, de varchar waarde was te kort vandaar dat het niet ging!
Ik heb even gekeken op phpfreakz, is het dan juist wat ik gedaan heb? [code]
if(mysql_num_rows($result) >0){
$username = $_POST["username"];
$paswoord = md5($_POST["paswoord"]);
session_register("username");
mysql_fetch_row($result);
header("Location: beveiligd.php");
exit();
[\code]
Dus ik heb
session_register("paswoord"); weggelaten, is dit ok?
session_register is antiek.

Gebruik:
$_SESSION['username'] = $username;
voor een md5 ww op te slaan in de database, hoeveel karakters moet ik daarvoor rekenen?
32
Nog 1 vraag:

Hoe kan ik makkelijk een wachtwoord wijzigen via een inputveld?

Reageren