MYSQL Usernamen Kontrolle

  • Hey, mysql ist nicht meine Staerke, also eine Frage, ich habe hier ein Register:



    und in der Datenbank wird es unter Players gespeichert, wenn man sich mit den Gleichen Namen nochmal registriert, wird es ein mal angenommen und zweitens man kan sich mit beiden PW einloggen, wie kann ich das verhindern?


    MFG

  • Indem du vorher eine Abfrage machst ob der Name bereits existiert. Die Abfrage könnte etwa so aussehen:


    SQL
    1. $sql = "SELECT count(name) FROM players WHERE name='$name'"


    Dann halt noch schauen ob die Anzahl größer 0 ist:


    PHP
    1. if ($erg > 0)


    Wenn ja gibt es den Benutzer bereits ...

  • Warum nimmst du größer/kleiner Zeichen?



    Zudem, warum löschst du die Variable name?



  • Zu "Warum verwendest du größer/kleiner Zeichen"
    Vielleicht, weil bei ==0 der name ja gerade NICHT existiert? :D


    Gut man könnte ==0 verwenden um den Player zu registrieren, und im else-Teil dann n Fehler zu werfen, aber das ist ja jedem selbst überlassen ;)


    EDIT:
    ich würd vielleicht das exit(); weg lassen. Weil so wird die Seite ja nicht weiter ausgegeben. Die meisten Browser versuchen zwar die Seite auch ohne schließende HTML-Tags möglichst richtig zu rendern, aber schön ist trotzdem anders ;)