kostenloser Webspace werbefrei: lima-city


Wo ist der fehler im script ?

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    fantasystriker

    fantasystriker hat kostenlosen Webspace.

    Hallo bei meinem script kommt diese fehlermeldung : datenbankprobleme1Duplicate entry '0' for key 1
    es ist ein regestrierung script wo ist da der fehler ? :
    <?php
    $user=$_POST["user"];
    $pw=$_POST["pw1"];
    $mail=$_POST["email"];
    // Die Daten werden variablen zugewiesen, die wir später verwenden
    function checkmail($email) {
    // wir könnten hier den host testen, was aber bei 1und1 adressen fehlschlägt
    if (strpos($email, "@")) {
        return true;
        // Die E-Mail adresse enthält ein @, also ist sie korekt
    } else {
        return false;
        // Sie Enthält kein @, aslo ist sie nicht korrekt
    }}
    function create() {
       // Funktion zum erstellen des Bestätigungs-Codes
       $create_array=array(
            "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n",
            "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z");
        $create_i=0;
        $created_output="";
        while ($create_i<=15) {
            $create_random=rand(1,26);
            $created_output.=$create_array[$create_random];
            $create_i++;
        }
        return $created_output;
    }
    //Fangen wir mit der eigentlichen datenverarbeitung an
    if ($user!="") {
       // Der Benutzer ist nicht nix
       if ($pw!="" && $pw==$_POST["pw2"]) {
           // Das Passwort ist nicht nichts und stimmt mit dem bestätigungs-üw überein
           if (checkmail($mail)) {
               // Die E-Mail Stimmt
               $db=new mysqli("", "", "", "");
               // Datenbankverbindung
    
               $sql="INSERT INTO benutzerdaten(Id, Nickname, Kennwort, Email) VALUES ('', '".$user."', '".md5($pw)."', '".$mail."')";
               // Befehl, die daten einzutragen
               if (@$db->query($sql)) {
                   // Die Daten sind in der Datenbank, jetzt brauchen wir die id des nutzers
                   $sql="SELECT Id FROM benutzerdaten WHERE Nickname='".$user."'";
                   if (@$resultat=$db->query($sql)) {
                       // Daten abgerufen
                       if (@$erbeb=$resultat->fetch_array()) {
                           // Daten als array $ergeb geholt
                           $vcode=create();
                           // bestätigungscode
                           $sql="INSERT INTO bestatigung(acc, code) VALUES ('".$ergeb["id"]."', '".$vcode."')";
                           if (@$db->query($sql)) {
                               // Daten sind inner Datenbank, fertig!
                               @mail($mail, "Registreirung erfolgreich", "Hallo ".$user.",\nVielen Dank für deine Registrierung bei Fantasystriker \nHier Sind deine Logindaten:\n".$user."\n".$pw."\n\n Um Deinen account zu aktivieren Klicke auf folgenden link : http://fantasystriker.lima-city.de/verify.php?".$vcode."\n Viele Grüße, dein Fantasystriker Team", "From: no-replay@fantasystriker.de");
                               //E-Mail an den Nutzer
                               echo "Registrierung Erolgreich. Es wurde eine Mail an ".$mail." gesendet";
                           } else {
                               echo "datenbankprobleme1".$db->error;
                           }
                       } else {
                           echo "Datenbankprobleme2".$db->error;
                       }
                   } else {
                       echo "Datenbankprobleme3".$db->error;
                   }
               } else {
                   echo "Datenbankprobleme4".$db->error;
               }
           } else {
               echo "Keine gültige E-Mail Adresse";
           }
        } else {
            echo "die Passwörter stimmen nicht";
        }
    } else {
        echo "Kein Benutzer angegeben";
    }
    @$db->close();
    ?>


    danke im vorraus

    p.s es füg alles in die db ein nur halt die mail kommt net nur die fehlermeldung

    Beitrag zuletzt geändert: 13.8.2010 12:37:08 von fantasystriker
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Dein Primary Key in der Tabelle, welcher auch noch eindeutig ist, ist schon vergeben und zwar für den Wert 0. Schau einfach mal in deine Tabelle und suche den Eintrag mit dem Wert 0. Normal ist das eine ID oder so.
  4. Autor dieses Themas

    fantasystriker

    fantasystriker hat kostenlosen Webspace.

    oh wie dumm von mir hab die 0 weggemacht es probiert es steht es schickt ne mail aber es kommt nix :(

    Beitrag zuletzt geändert: 13.8.2010 12:43:44 von fantasystriker
  5. Schau mal in den Spamordner. Die Mails, welche von lima per Funktion verschickt werden, wandern bei manchen Anbietern in den Spamordner.
  6. thundersystem

    Moderator Kostenloser Webspace von thundersystem

    thundersystem hat kostenlosen Webspace.

    Ehm ich glaube das is ja jetzt kein lima-spezifisches Problem, deshalb kommt das mal ins PHP-Forum

    *schieb* => PHP&MySQL
  7. Autor dieses Themas

    fantasystriker

    fantasystriker hat kostenlosen Webspace.

    Schau mal in den Spamordner. Die Mails, welche von lima per Funktion verschickt werden, wandern bei manchen Anbietern in den Spamordner.


    Jup danke alles geklärt :D
  8. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!