Archiv verlassen und diese Seite im Standarddesign anzeigen : Doppelte Einträge in DB vermeiden
Hallo Leute.
Ich bin dabei, ein Registrierungsfrontend zu schreiben dabei will ich aber vermeiden, dass ein Username doppelt in der DB vorlommt.
Das Feld auf Unique zu setzen bringt nicht so ganz den Erfolg.
Wie kann ch es in PHP vor dem ISERT Query abchecken, ob es schon einen Eintrag mit dem Namen (ganzer Name, nicht ein Teil davon) schon gibt ?
Wäre für Hilfe sehr dankbar...
MfG und schönes WE
Xyla
s.molinari
11.06.2004, 13:51
Hi Xyla,
Hier ist ein Ansatz:
if ($checkuser = $DB_site->query_first("
SELECT username
FROM " . TABLE_PREFIX . "user
WHERE username = '".$deinebenutzernamevariable."'))
{
echo "Sorry, Dieser Name ist schon vergeben.";
}
else
{
$DB_site->query("INSERT INTO blahblahblah");
}
Scott
Da bekomm ich Probleme wenn einer www und der andere wwww heißt. wie kann ich der Db sagen, das Sie nur den kompletten Namen checken soll und Wortstämme außer Acht lassen soll.
Ansonsten erstmal danke. Hilft schon etwas weiter.
Da hab ich schon zuweit um die Ecke gedacht
wie kann ich der Db sagen, das Sie nur den kompletten Namen checken soll und Wortstämme außer Acht lassen soll.
Genau das macht der Code von Scott.
echt ? dieser Code würde bei schon bestehenden User Peter einen User Peterle akzeptieren ?
echt ? dieser Code würde bei schon bestehenden User Peter einen User Peterle akzeptieren ?
Ja, würde er.
So hab ich jetzt bei mir stehen
if ($checkuser = $DB_site->query_first("SELECT name FROM tipp_mitglieder WHERE name = '$name'"))
und das sagt mir mein Browser nach der Ausführung:
Fatal error: Call to a member function on a non-object in /.../query.php on line 21
Zeile 21 ist o.g. Zeile
So hab ich jetzt bei mir stehen
if ($checkuser = $DB_site->query_first("SELECT name FROM tipp_mitglieder WHERE name = '$name'"))
und das sagt mir mein Browser nach der Ausführung:
Fatal error: Call to a member function on a non-object in /.../query.php on line 21
Zeile 21 ist o.g. Zeile
Hast du auch vorher die global.php included? Falls nein, mach das :)
Falls ja, und Zeile 21 ist Teil einer function(), musst du noch global $DB_site; eine Zeile darüber schreiben.
ahhh da haben wir uns mißverstanden :( Ich nutze nicht die Userdatenbank des Forums, also dieses Datei hat nix mit vB zu tun :)
Xyla
ahhh da haben wir uns mißverstanden :( Ich nutze nicht die Userdatenbank des Forums, also dieses Datei hat nix mit vB zu tun :)
Xyla
Dann kannst du auch nicht die Funktionen von vB benutzen...also $DB_site->query(_first). Da musst du dann halt mit den Standard-PHP-Funktionen arbeiten.
Powered by vBulletin® Version 4.1.12 Copyright ©2012 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.