Einen Account Durch ein Script Aktivieren!

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

  • Einen Account Durch ein Script Aktivieren!

    Hi, ich will ein script schreiben, in den sich eine User anmelden kann, und alles in eine Datenbank geschrieben wird, das klapt auch einbandfrei, jetzt will ich es aber so machen, das dieser user eine eMail bekommt, wo er seinen Account auch freischalten muss. Also habe ich ein 2. script mit einer 2. Tabelle geschrieben.

    In den 2. Script soll er zuerst gucken ob alle angaben in der url richtig sind, und diese Vergleichen, sollte dieser user also vorhanden sein, soll er gucken ob die anderen daten übereinstimmen. Wenn ja soll er all seine Daten in die neue Tabelle schreiben. Sollte jedoch etwas nicht übereinstimmen, soll er einen Fehler ausgeben und das umschreiben nicht erlauben!

    Hier ist der Quelltext den ich erstellt habe!

    <?
    # Hier holt er die Connect Daten von der Config Datei!
    include ("config.php");

    #Hier stellt er die Verbindung mit der Mysql Datenbank her
    $verbindung = @mysql_connect("$host","$user","$pass");


    # Hier soll er nur die Daten abrufen, die zu der Bestimmten person gehört
    mysql_select_db($db,$verbindung);
    $abfrage = "SELECT * FROM kunden WHERE register_nummer='".$rn."' ORDER by id desc";
    $erg = mysql_db_query($db,$abfrage,$verbindung);
    $data = mysql_fetch_array($erg,$verbindung);

    # Hier soll er die Kundennummer von der anderen Tabelle auslesen
    $abfrage2 = "SELECT * FROM kunden ORDER by id desc";
    $erg2 = mysql_db_query($db,$abfrage2,$verbindung);
    $data2 = mysql_fetch_array($erg2,$verbindung);

    #Hier werden die Daten Ausgelesen
    $kundennummer = $data2["kundennummer"];
    $anrede = $data["anrede"];
    $vorname = $data["vorname"];
    $nachname = $data["nachname"];
    $email = $data["email"];
    $str = $data["str"];
    $plz = $data["plz"];
    $ort = $data["ort"];
    $land = $data["land"];
    $tele = $data["tele"];
    $geburtsdatum = $data["geburtsdatum"];
    $passwort = $data["passwort"];
    $passworthinweis = $data["passworthinweis"];
    $sicherheitspasswort = $data["sicherheitspasswort"];
    $host = $data["host"];
    $ip = $data["ip"];

    #Hier sollen die Daten verglichen werden

    # Sollten die Daten übereinstimmern werden sie in die Datenbank übertragen
    if ($data["register_nummer"] == $rn || $data["regsicherheitspasswort"] == $regpass) {
    $kundennummer++;
    $sql = "INSERT INTO kunden VALUES ('','$kundennummer','$anrede','$vorname','$nachname','$email','$str','$plz','$ort','$land','$tele',' $geburtsdatum','$passwort','$passworthinweis','$sicherheitspasswort','$host','$ip')";
    $result = mysql_query($sql,$verbindung);
    echo "Vielen Dank für ihre Registration";
    }
    # Sollten die Daten jedoch nicht übereinstimmen, soll er ein Fehler ausgeben
    else {
    echo "Es Wurden Leider keine Daten gefunden";
    }
    ?>
    So mein Fehler der kommt ist, das er keine daten überprüft sondern gleich alles in die neue datenbank schreibe.
    Kann mir vielleicht jemand bei den Fehler helfen?

  • #2
    schreibts mal bitte in PHP Tags, so kann man das ja nicht lesen.

    Kommentar


    • #3
      sieht so aus, als ob du

      die daten aus der DB mit den Daten aus der DB vergleichst.

      if ($data = $data) {..

      Kommentar


      • #4
        Oh!

        Hab gesehen das es auch so geht sorry!

        Hier also nochmal bloß diesmal in php Tags!
        PHP-Code:
        <?
        include ("config.php");
            $verbindung = @mysql_connect("$host","$user","$pass");


            mysql_select_db($db,$verbindung);
            $abfrage = "SELECT * FROM kunden WHERE register_nummer='".$rn."' ORDER by id desc";
            $erg = mysql_db_query($db,$abfrage,$verbindung);
            $data = mysql_fetch_array($erg,$verbindung);
            $abfrage2 = "SELECT * FROM kunden ORDER by id desc";
            $erg2 = mysql_db_query($db,$abfrage2,$verbindung);
            $data2 = mysql_fetch_array($erg2,$verbindung);
            $kundennummer = $data2["kundennummer"];
            $anrede = $data["anrede"];
            $vorname = $data["vorname"];
            $nachname = $data["nachname"];
            $email = $data["email"];
            $str = $data["str"];
            $plz = $data["plz"];
            $ort = $data["ort"];
            $land = $data["land"];
            $tele = $data["tele"];
            $geburtsdatum = $data["geburtsdatum"];
            $passwort = $data["passwort"];
            $passworthinweis = $data["passworthinweis"];
            $sicherheitspasswort = $data["sicherheitspasswort"];
            $host = $data["host"];
            $ip = $data["ip"];
            
        if ($data["register_nummer"] == $rn ||  $data["regsicherheitspasswort"] == $regpass) {
            $kundennummer++;
            $sql = "INSERT INTO kunden VALUES ('','$kundennummer','$anrede','$vorname','$nachname','$email','$str','$plz','$ort','$land','$tele','$geburtsdatum','$passwort','$passworthinweis','$sicherheitspasswort','$host','$ip')";
            $result = mysql_query($sql,$verbindung);
            echo "Vielen Dank für ihre Registration";
            }
            else {
            echo "Es Wurden Leider keine Daten gefunden";
        }
        ?>
        Dieses:
        PHP-Code:
        if ($data["register_nummer"] == $rn
        benutze ich öfters!

        Also bei $data["blabla"] soll er die daten aus der Datenbank raussuchen und dieses $rn soll er aus der url raussuchen!

        Kommentar


        • #5
          Wie sieht der Link aus, denn du übergibst?

          Kommentar


          • #6
            der link sieht so aus!
            PHP-Code:
            ./index?action=kunden/registrieren.php&rn=dienummer&regpass=dasregpass 
            Ich hoffe ich konnte dir so weiterhelfen!

            Kommentar


            • #7
              3 Dinge:

              Du solltest besser $_GET[rn] nutzen

              Wofür machst du das $kundennummer++; ???

              Und vorallem:

              Was bringt dir diese Abfrage:
              $abfrage2 = "SELECT * FROM kunden ORDER by id desc";

              Kommentar


              • #8
                Nimm mal diesen Code: (ungetestet)

                PHP-Code:
                <?
                include ("config.php");

                $verbindung = @mysql_connect("$host","$user","$pass");
                @mysql_select_db($db,$verbindung);

                $abfrage = "SELECT * 
                    FROM kunden 
                    WHERE register_nummer='$_GET[rn]'
                    LIMIT 0,1";
                $erg = mysql_query($abfrage);

                $data = mysql_fetch_assoc($erg);

                if ($data[register_nummer] == $_GET[rn] ||  $data[regsicherheitspasswort] == $_GET[regpass]) {
                    #$data[kundennummer]++;
                    $sql = "INSERT INTO kunden 
                            VALUES  ('','$data[kundennummer]','$data[anrede]','$data[vorname]',
                                '$data[nachname]','$data[email]','$data[str]','$data[plz]',
                                '$data[ort]','$data[land]','$data[tele]','$data[geburtsdatum]',
                                '$data[passwort]','$data[passworthinweis]',
                                '$data[sicherheitspasswort]','$data[host]','$data[ip]')";
                    $result = mysql_query($sql,$verbindung);
                    echo "Vielen Dank für Ihre Registration";
                    } else {
                    echo "Es Wurden Leider keine Daten gefunden";
                    }
                ?>

                Kommentar


                • #9
                  Ok danke, jetzt geht alles so wie ich will!

                  Was ist aber wenn ich nur die adresse eingebe!

                  ./index.php?action=kunden/registrieren.php

                  dann schreibt er alles trotzdem in die datenbank!
                  Wie kann ich das verhindern?

                  Kommentar


                  • #10
                    if (isset($_POST)) {
                    # schreiben
                    } else {
                    # nicht schreiben
                    }

                    Kommentar

                    Lädt...
                    X