Ankündigung

Einklappen
Keine Ankündigung bisher.

Login skript

Einklappen

Neue Werbung 2019

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

  • Login skript

    Hi zusammen. Ich Sag direkt zu Anfang "Ich bin ANFÄNGER "
    Ich habe folgendes Problem. Ich hab mir eine Kopie von einem kostenlosen Login Skript gemacht. Da nur User und PW zum registrieren waren, habe ich versucht die Daten anzupassen.
    -------------------------------------------------------------------------
    Register.php

    <?php
    $vorname=$_POST["vorname"];
    $nachname=$_POST["nachname"];
    $kunstlername=$_POST["kunstlername"];
    $geburtsdatum=$_POST["geburtsdatum"];
    $plz=$_POST["plz"];
    $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 ($vorname!="") {
    if ($nachname!="") {
    if ($kunstlername!="") {
    if ($geburtsdatum!="") {
    if ($plz!="") {
    // 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("localhost", "", "", "daten");
    // Datenbankverbindung
    $sql="INSERT INTO users(id, vorname, nachname, kunstlername, geburtsdatum, plz, passwort, email) VALUES ('', '".$vorname."', '".$nachname."', '".$kunstlername."', '".$geburtsdatum."', '".$plz."', '".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 users WHERE vorname='".$vorname."'";
    if (@$resultat=$db->query($sql)) {
    // Daten abgerufen
    if (@$ergeb=$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 ".$vorname.",\nDeine Registrierung bei ~ war erfolgreich\nDeine Daten sind:\n".$vorname."\n".$pw."\n\n Um Deinen account zu aktivieren gehe nach http://deineseite.iwas/verify.php?".$vcode."\n Viele Grüße,");
    //E-Mail an den Nutzer
    echo "Registrierung Erolgreich. Es wurde eine Mail an ".$mail." gesendet";
    } else {
    echo "datenbankprobleme".$db->error;
    }
    } else {
    echo "Datenbankprobleme".$db->error;
    }
    } else {
    echo "Datenbankprobleme".$db->error;
    }
    } else {
    echo "Datenbankprobleme".$db->error;
    }
    } else {
    echo "Keine gültige E-Mail Adresse";
    }
    } else {
    echo "die Passwörter stimmen nicht";
    }
    } else {
    echo "Keine PLZ angegeben";
    }
    } else {
    echo "Kein Geburtsdatum angegeben";
    }
    } else {
    echo "Kein Kunstlername angegeben";
    }
    } else {
    echo "Kein Nachname angegeben";
    }
    } else {
    echo "Kein Vorname angegeben";
    }
    @$db->close();
    ?>
    -----------------------------------------------------------------------
    Login.php

    <?php
    if (isset($_POST["user"]) && isset($_POST["pw"])) {
    $user=$_POST["user"];
    $pw=$_POST["pw"];
    @$db=new mysqli("localhost", "", "", "daten");
    $sql="SELECT id,passwort FROM users WHERE name='".$user."'";
    if (@$resultat=$db->query($sql)) {
    if ($ergeb=$resultat->fetch_array()) {
    // Wir kenne die Prozedur ja
    $sql="SELECT acc FROM bestatigung WHERE acc='".$ergeb["id"]."'";
    @$resultat=$db->query($sql);
    @$ergeb2=$resultat->fetch_array();
    if ($ergeb2[0]=="") {
    // Der Account ist Bestätigt
    if (md5($pw)==$ergeb["passwort"]) {
    // Passwort ok, login
    session_start();
    $_SESSION["id"]=$ergeb["id"];
    $_SESSION["email"]=$email;
    echo "Eingeloggt";
    } else {
    echo "Falsches Passwort".$db->error;
    }
    } else {
    echo "Account noch nicht bestätigt";
    }
    } else {
    echo "Der Benutzer ".$user." Existiert nicht";
    }
    } else {
    echo "Der Benutzer ".$user." Existiert nicht";
    }
    } else {
    header ("Location: login.html");
    }
    ?>

    Die daten kommen in der Datenbank an und sind richtig sortiert. Wenn ich mich aber einlogen will mit "E-mailadresse" und "PW" kommt immer der Text = Der eingegebene benutzer existiert nicht. Was mach ich denn falsch??? Bitte helft mir... Ich bin hier am verzweifeln


  • #2
    willkommen im forum!

    bitte formatiere deinen code mit tag:
    [php][/php]
    dann liest ihn auch jemand

    Kommentar


    • #3
      // Die E-Mail adresse enthält ein @, also ist sie korekt
      Das ist einfach falsch.

      Weiter:
      * Vermeide @ um Fehler zu unterdrücken und lass sie dir anzeigen. Die sind da nicht ohne Grund.
      * Rück deinen Code ein
      * md5 ist absolut veraltet und unsicher. Benutze zeitgemäße Hashverfahren.
      * Deine Rechtschreibung ist beschissen...
      Windows Server gehören NICHT ins Internet!

      Dildo? Dildo!

      Kommentar

      Lädt...
      X