Zum Inhalt springen

PHP - Verhindern das daten doppelt in MYSQL datenbank eingetragen werden


Empfohlene Beiträge

Hallo...

Habe ein PHP Script geproggt das Daten aus einer HTML Form in eine MYSQL Datenbank schreibt.

Es handelt sich um Folgende Daten:

Benutzername, Password, E-Mailadresse

Meine Frage:

Wie kann ich Verhindern das man 2 mal den selben Benutzernamen über das Script eintragen kann..... (vieleicht auch e-mail addy)?

Es sol eine Fehlermeldung ausgegeben werden wie z.B: Name schon vorhanden!"

Bitte um ein Code Beispiel...

Warscheinlich ist das Problem mit einer IF abfrage zu lösen... kenne mich in PHP aber noch nicht so gut aus

:(

Bitte um Hilfe ...

Link zu diesem Kommentar
Auf anderen Seiten teilen

Mach doch vor dem Insert grundsaetzlich einen Select auf die Tabelle nach dem Benutzernamen und suche in dem Array, dass Du zurueckbekommst die Benutzerdaten durch. Befindet sich darin einer, der mit dem eingegebenen Benutzernamen uebereinstimmt, brichst Du ab (also kein Insert) und gibst eine Fehlermeldung aus.

Link zu diesem Kommentar
Auf anderen Seiten teilen

du könntest auch nen "unique index" über den benutzernamen und noch nen "unique index" über die email spalte legen.

so fährt du auf jeden fall 100% sicher!

müsst dir dann nur noch die fehlercodes beim ausführen des sqls abfragen und falls es der code von duplicate key ist dann deine fehlermeldung "User doppel" o.ä.

Original geschrieben von FisyX

kannst du dazu ein beispiel posten... brauche den quellcode ;)

selbst ist der Mann,

wenn du nicht mehr weiter kommst kannste wieder fragen!

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 4 Wochen später...

$sql="SELECT FROM tabelle WHERE benutzername='$name'";
$res=mysql_query($sql,$db);
if ($res && mysql_num_rows($res)) {
echo "Dieser Benutzername existiert bereits.";
mysql_free_result($res);
} else {
$sql="INSERT INTO tabelle (email,benutzername,password) VALUES ('$email','$benutzername','$password')";
mysql_query($sql,$db);
if(!mysql_errno($db) {
echo "Daten übernommen";
} else {
echo 'Fehler bei Übernahme der Daten<i>'.mysql_error($db).'</i>';
}
}
[/PHP]

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...