Fehlermeldung bei Doppeleintrag in Datenbank

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Fehlermeldung bei Doppeleintrag in Datenbank

    Hallo,

    habe ein Eingabeformular, was Userdaten in Datenbank einträgt - funktioniert. User muß auch Username & Passwort eingeben.

    Mein Problem nun, wenn ein User in die Datenbank ein bereits vorhandenen Usernamen eingeben will, dann kommt folgende Fehlermeldung über meiner ganzen Tabelle:

    [COLOR=firebrick] Duplicate entry 'test' for key 3
    Warning: Cannot modify header information - headers already sent by (output started at /home/sites/site192/users/dagato/web/includes/send.php:10) in /home/sites/site192/users/dagato/web/user/new_user.php on line 50 [/COLOR]

    Gebe ich ein andern Usernamen ein, dann ist die komplette Fehlermeldung weg und alles funktioniert einwandfrei!


    Wie bekomme ich es hin, dass mir in solch einem Fall eine Ausgabe macht, nach folgendem Beispiel: [COLOR=darkblue]Dieser Username ist bereits in unserer Datenbank vorhanden. Bitte wählen Sie einen anderen Namen![/COLOR]


    Gruß Dirk
    Erfolgreich ist nur welcher, der das tut, was andere nicht tun!

  • #2
    Re: Fehlermeldung bei Doppeleintrag in Datenbank

    vor den mysql_query()-befehl notierst du ein @, damit eine eventuelle fehlermeldung unterdrückt wird.


    und danach kannst du mit mysql-errno abfragen, welchen code der aufgetretene fehler hat, und in abhängigkeit davon eine meldung ausgeben.


    alternative wäre, du machst vorher erst einen select, um zu kucken ob der username schon vorhanden ist.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Code:
      select count(username) anzahl from tabelle where username='derangegebenename'
      jetzt kannst du in php so wie immer das ergebnis auslesen und wenn es 0 is, dann gibt's denn user noch nich, wenn es 1 is dann steht er schon drin
      Ich denke, also bin ich. - Einige sind trotzdem...

      Kommentar


      • #4
        Thank's,
        aber wo gebe ich den Code ein?

        Ich habe eine send.php, die die eingegeben Daten an die Datenbank übergibt:

        <?php
        include ("dbconnect.inc.php");

        // Daten eines neuen Users in die Datenbank eintragen

        $sql = "INSERT INTO AdminUser (anrede,nachname,vorname,username,passwort,organisation,strasse,hausnummer,plz,ort,land,sprache,emai l,phone,fax,newsletter,bank,kontoinhaber,konto,blz,steuerid)
        VALUES ('$anrede','$nachname','$vorname','$username','$passwort','$organisation','$strasse','$hausnummer',' $plz','$ort','$land','$sprache','$email','$phone','$fax','$newsletter','$bank','$kontoinhaber','$kon to','$blz','$steuerid')";
        $result = mysql_query($sql);

        if(!$result){echo mysql_error();};

        ?>



        Ich habe aber auch mein Eingabeformular, was nach nochmaliger Prüfung die daten an die send.php übergibt - und erst dannach, meine erwähnte Fehlermeldung auswirft ?!

        Gruß Dirk
        Erfolgreich ist nur welcher, der das tut, was andere nicht tun!

        Kommentar


        • #5
          im selben skript in dem auch das insert ist, aber vorher
          Ich denke, also bin ich. - Einige sind trotzdem...

          Kommentar


          • #6
            Thank's - ist eigentlich auch logisch, wenn man etwas genauer drüber nachdenkt!

            Gruß Dirk
            Erfolgreich ist nur welcher, der das tut, was andere nicht tun!

            Kommentar


            • #7
              Mal ein paar Grundsätzliche Regeln: (ist nicht böse gemeint)

              Wir haben hier eine Suche, die in vielen Fällen die Lösung parat hat. Oft geht das schneller als das Verfassen deines Posts.
              Dann haben wir PHP/CODE-Tags, mit denen man den Code besser lesen kann.
              Und vorher überlegen ist auch in Ordnung.

              Kommentar

              Lädt...
              X