Registrierungsformular - überprüfen, ob der Benutzername bereits existiert

Okay, das funktioniert jetzt zwar, aaaaaber nun hab ich das Problem, dass man sich mit jedem Passwort in den acc einloggen kann. Warum weiß ich auch nicht.

Hier ist der Code:
PHP:
$user['name'] = $_POST['user'];
	$user['password'] = hash('SHA512',$_POST['kenn']);
	$dbPass = $mysqli->prepare($mysqli->query("SELECT * FROM city WHERE Benutzer = ".$user['name']));
	
	//$zahl = 1;
	
	$eingabeUSER = $_POST['user'];
	$eingabeKENN = $_POST['kenn'];
	
	if($dbPass->Kennwort == $user['Kenn'])
	{
		echo "<b>Benutzername und Kennwort okay!</b><br>";
		setcookie("loginname",$eingabeUSER,time()+2592000,"/city");
		setcookie("loginpass",$eingabeKENN,time()+2592000,"/city");
		//setcookie("ID",$zahl,time()+2592000,"/city");*/
		echo "Du bist nun erfolgreich angemeldet!<br>";
		echo "<a href=\"http://pspcity.comlu.com/\"><= zurück</a>";
	}        
	else
	{
		echo "<b>Benutzername oder Passwort nicht korrekt!</b><br>";
		echo "Bitte überprüfe deine Anmeldedaten und versuche es erneut!<br>";
	}  
	
	$mysqli->close();

EDIT: Okay, Problem gefunden. Hab vergessen bei der If-Anweisung $user['Kenn'] zu $user['password'] zu ändern. Nur nun hab ich das Problem, dass er jetzt gar keine Passwörter mehr erkennt. Er zeigt mir überall eine Fehlermeldung an:
"Benutzername oder Passwort nicht korrekt!
Bitte überprüfe deine Anmeldedaten und versuche es erneut!"
Egal, was man macht. Auch wenn man das Passwort richtig eingibt, zeigt er das an.
 
Zuletzt bearbeitet:
Da funktioniert gar nix.

Bitte die Manualseiten genau lesen. prepare erwartet als Parameter "The query, as a string.". query gibt dir true, false oder ein result zurück.

In beiden Fällen holst du das Ergebnis aber nicht ab. Wie man das machen kann, siehst du in den Beispielen auf den Manualseiten.
Prepared Statements büßen ihren Sicherheitsvorteil aber ein, wenn du keine Parameter verwendest. Vielleicht bleibst du erstmal bei einer Vorgehensweise (mit query), bis dein Script überhaupt funktioniert, und schaust dir dann erst die Möglichkeiten zur Verbesserung der Sicherheit an.

Wenn du Probleme bei Vergleichen von Variablen hast, gib dir vorher deren Inhalte mir var_dump() aus, damit du einsehen kannst, wo das Problem liegt.
 
Okay, dankeschön. Ich werds mal bei Gelegenheit testen. Bei Fragen meld ich mich nochmal und ich wünsche euch allen einen guten Rutsch ins neue Jahr. ;)
 
Zurück