Problem mit md5 Hash

Berrry

Grünschnabel
Hallo,

Ich habe ein Problem mit dem Speichern und abfragen eines MD5 Hashwertes in meiner SQL DB. Ich habe bemerkt das er immer an jeden hash Wert eine 0 hängt. Aber ich weiss auch nicht woher die kommt. Hoffe ihr könnt es mir sagen ich geh hier kaputt :(

HTML:
<?php
session_start();
require("connect.inc.php");
?>
<html>
<head>
	<title>Admin Login</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<? if(!isset($_POST['submit'])) { ?>
<form action="<? $PHP_SELF ?>" method="POST" >
<table width="400" bgcolor="#000000" border="0" cellpadding="5" cellspacing="1" align="center">
<tr>
	<td bgcolor=#FFFFFFF" border="0" cellpadding="5" cellspacing="1" align="right" width="400">
	<b>Bitte erst anmelden</b>
	</td>
	</tr>
	<tr>
		<td width="170" bgcolor="e7e7e7">Benutzername</td>
		<td width="230" bgcolor="ffffff"><input type="text" name="username" size="20" class=input<? if($_POST['username'] != "" ) { 
		echo 'value="'.$_POST['username'].'"';} ?>></td>
		</tr>
	<tr>
	<td width="170" bgcolor="#e7e7e7">Passwort</td>
	<td width="230" bgcolor="#FFFFFF"><input type="password" name="password" size="20" class="input"></td>
	</tr>
		<tr>
		<td bgcolor="#e7e7e7" align="center" colspan="2">
		<input type="submit" name="submit" value="Login" class="button">
		
	
		
		<input type=button onClick="window.location.href='reg.php'" value="Registrieren">
		</td>
	</tr>
	</table>
</form>
	<?
	}elseif(!$_POST['username'] || $_POST['username'] == "") {
		echo '<p align="center">Einen Benutzernamen brauchen wir schon :D <br><br><a href="index.php">Zurück</a></p>';
	}elseif(!$_POST['password'] || $_POST['password'] == "") {
		echo '<form action="index.php" method="post">';
		echo '<p align="center">Ein Passwort brauchen wir schon <br><br>';
		echo '<input type="hidden" name="username" value="'.$_POST['username'].'">';
		echo '<input type="submit" name="zurueck" value ="Zurück">';
		echo '</p>';
		echo '</form>';
	}else{
		$password = md5($password);
		$query = @mysql_query("SELECT user, pass FROM users WHERE user = '".$_POST['username']."'") or die ('SELECT ist fehlgeschlagen');
		$result = @mysql_fetch_array($query) or die ('<p align="center">Sorry, aber dieser Benutzer existiert nicht.<br><a 
		href="index.php">Zurück</a></p>');
		if(!$password != $result['pass']){
			echo '<form action="index.php" method="post">';
			echo '<p align="center">Sorry, aber dieses Passwort ist falsch!<br><br>';
			echo $password; #Testen was $password für ein Wert hat
			echo '<input type="hidden" name="username" value="'.$_POST['username']-'">';
			echo '<input type="submit" name="zurueck" value="Zurück"></p>';
			echo '</form>';
			die;
	}else{
		$user = $result['user'];
		session_register('user');
			echo '<p align="center">Login erfolgreich! <br><br><a href="sichere_seite.php">Weiter</a></p>';
		}		
	}		
?>	
</body>
</html>
 

crsakawolf

Erfahrenes Mitglied
Mal ne andre frage.

if(!$password != $result['pass'])

geht das?
doppelverneinung, wenn nicht das passwort nicht das result ist?

Hast du es vlt irgendwie in nem Array gespeichert?
das die 0 das stop bit ist \0

ansonsnte mmh ka ^^