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

Yep, bin auch noch nen Anfänger in PHP. Wie gesagt, hab damals den Code bzw. das Spiel (Browsergame) übernommen, ohne das ich überhaupt Erfahrung in sowas habe. Merkt man auch denk ich mal an den vielen Fragen, die ich stelle. ^^ Werde mir denk ich mal paar Tutorials anschauen, um PHP besser beherrschen zu können.

Ok, vielen vielen Dank für eure Hilfe. Hoffentlich klappt's diesmal. Falls nicht melde ich mich noch einmal. Und ich wünsch euch jetzt schonmal nen guten Rutsch ins neue Jahr. ;)

mfg harry
 
Zuletzt bearbeitet:
Okay, wenn wir schon dabei sind.

Die mysql-Erweiterung ist auch veraltet und zwar schon seit ziemlich langer Zeit.
Steige lieber auf MySQLi oder PDO um, aber nutze bitte NIEMALS mehr mysql!

Was ist denn daran so schlimm MySQL statt MySQLi zu verwenden? Macht doch denk ich mal kaum einen Unterschied, oder? Nur vllt das MySQLi mehr Features bietet als MySQL.

mfg harry
 
Nein, die alte Erweiterung wird

a) nicht mehr unterstützt und wird bald ganz entfernt! Hast du noch die die große rote Warnmeldung in der PHP-Doku gesehen (z.B. bei [phpf]mysql_query[/phpf])?

b) enthält zum Teil Sicherheitslücken

c) enthält nicht alle Features von MySQL 5

Allein, dass sie in Zukunft nicht mehr verfügbar sein wird, ist ein Grund, sie nicht mehr zu benutzen.

Siehe auch hier und hier.
 
Okay gut. Und wie kann ich am schnellsten von MySQL zu MySQLi wechseln? muss ich dafür irgendetwas runterladen, oder "einfach" nur die Scripts umschreiben?^^

mfg harry
 
argh.. aber wie kann ich den sehen, ob mein Webanbieter MySQLi überhaupt unterstützt? Muss man da auf irgendetwas achten? Oder hat das damit überhaupt gar nichts zu tun?
 
Okay, und wenn ein Error kommt, bedeutet das so vieles wie, dass mein Webanbieter das nicht unterstützt, oder?

EDIT: Wie siehts mit PHP aus. Muss man sich dort auch auf die neue Version umstellen, oder kann man das ruhig so lassen?

EDIT 2: Hab jetzt mal deinen Code, den du gepostet hast getestet, aber es kommt immer wenn die Seite kommt ne Warnung.

Code:
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/a6026839/public_html/city/system/login.php on line 10

Der Code:
PHP:
    $user['name'] = $_POST['user'];
	$user['password'] = hash('SHA512',$_POST['kenn']);
	$dbPass = $mysqli->fetch_object($mysqli->query("SELECT * FROM city WHERE Benutzer = ''.$user['name']"));
	
	if($dbPass->Passwort == $user['Kenn'])
	{
		echo "<b>Benutzername und Kennwort okay!</b><br>";
		/*setcookie("loginname",$eingabeUSER,time()+2592000,"/city"); //Ist erst einmal ausgeklammert, da erstmal der Fehler behoben werden muss.
		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>";
	}

mfg harry
 
Zuletzt bearbeitet:
Lies doch die Fehlermeldung, da sind die String-Quotes falsch gesetzt:
PHP:
$dbPass = $mysqli->fetch_object($mysqli->query("SELECT * FROM city WHERE Benutzer = ''.$user['name']"));

// sollte folgendes sein
// (nicht zwei einzelne ', sondern ein "!)
$dbPass = $mysqli->fetch_object($mysqli->query("SELECT * FROM city WHERE Benutzer = ".$user['name']"));
Allerdings solltest du die Daten unbedingt vorher entschärfen, z.B. mit [phpf]mysqli_real_escape_string[/phpf] (bzw. OOP-Variante).
Du kannst aber auch (empfehlenswerter) Prepared Statements mit MySQLi benutzen: http://php.net/manual/de/mysqli.prepare.php

Tutorials gibt zu MySQLi und PDO zu hauf im Internet ;)
 
Zurück