Anmeldeskript mit Aktivierung. HILFE !!!

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

  • Anmeldeskript mit Aktivierung. HILFE !!!

    Hallo zusammen,
    ich habe ein kleines bis grosses Problem
    Und zwar, möchte ich gerne ein Anmeldeskript schreiben.
    Dieses soll nach dem man seine Daten eingetragen hat eine aktivierungsmail an die angegebene Adresse schicken. In der Mail soll ein Link oder irgendwas vorhanden sein was man aktivieren muss damit die Daten an die Datenbank weiter gegeben werden.
    Dieses System soll vor Fakeanmeldungen schützten...

    So habe ich mir das vorgestellt, wenn jemand einen anderen Vorschlag hat oder wohl möglich schon ein solches Skript dann kann er mir ja bescheid sagen. Ansonsten würde ich nur gerne wissen wie man solch eine Aktivierungsmail programmiert

    Danke
    Lord Virus
    Zuletzt geändert von Lord Virus; 16.10.2002, 16:43.

  • #2
    Trag doch nach der Anmeldung das Ganze schon in die Datenbank ein, jedoch mit einem Feld "status" auf "0". Gleichzeitig wird dann eine Email mit einem Link verschickt (natürlich möglichst verschlüsselt). Bei Aktivierung des Links wird dann einfach per UPDATE "status" auf "1" gesetzt und fertig.
    Contentpapst 3.1 - Der Preisbrecher unter den Content-Management-Systemen
    www.contentpapst.de / WYSIWYG-Editor, Rechtesystem, eigene Module per GUI... // Demoversion
    [color=red]Ab sofort in Version 3.1![/color] / dazu auch Standalone Shop-System CP::Shop uvm.

    Kommentar


    • #3
      Die Idee ist nicht schlecht
      Kannst du mir vielleicht noch sagen wie man so etwas umsetzt ?

      Kommentar


      • #4
        Wenn man in einem Formular z.B die Felder Name, Email und Text hat dann zuerst:

        ------------------------------------------------------------------------------
        $pool = "qwertzupasdfghkyxcvbnm23456789WERTZUPLKJHGFDSAYXCVBNM";
        srand ((double)microtime()*1000000);
        for($index = 0; $index < 10; $index++) { $pw .= substr($pool,(rand()%(strlen($pool))),1); }

        mysql_query("INSERT INTO tabelle VALUES('','$name','$email','$text','0','$pw')");

        $url = "http://www.domainname.de/aktivieren.php?pw=$pw";
        $betreff = "Bitte bestätigen";
        $content = "Zum Aktivieren auf diesen Link klicken: $url";

        mail($email,$betreff,$content,"From: ".ABSENDEREMAIL);
        ------------------------------------------------------------------------------

        Wobei die "0" für die Status-Spalte und "$pw" für ein password steht. Es wird also die Eintragung mit Status und Password vorgenommen, die erste Spalte ist eine mit "int" und Auto-Increment.

        Der User erhält eine Email mit dem mail()-Befehl und Link zum Anklicken:

        ------------------------------------------------------------------------------

        if ($pw) {

        $result = mysql_query("SELECT * FROM tabelle WHERE pw = '$pw'");
        $usernum = db_num_rows($result);

        if ($result) {

        $result = mysql_query("UPDATE tabelle set status = '1' where pw = '$pw'");

        }
        }

        ------------------------------------------------------------------------------

        Alles Klar?
        Contentpapst 3.1 - Der Preisbrecher unter den Content-Management-Systemen
        www.contentpapst.de / WYSIWYG-Editor, Rechtesystem, eigene Module per GUI... // Demoversion
        [color=red]Ab sofort in Version 3.1![/color] / dazu auch Standalone Shop-System CP::Shop uvm.

        Kommentar


        • #5
          mmh, also im groben verstehe ich was da abläuft aber wenn ich ehrlich bin steig ich durch die meisten Befehle nicht durch, da ich noch Anfänger bin.

          Kommentar


          • #6
            brauchst es ja nicht 1:1 zu nutzen:

            1) generiere eine id:
            z.b. uniqid(""); rand();

            2) Speichere in deine DB alle Daten
            z.B. id,name,email,ort,schönheit und den status

            3) versende eine Mail an die vom angegebene Adresse
            zb. Hallo $name, aktiviere deinen Account mit einem Klick auf diesen Link

            4) der Link:
            z.B. confirm.php?id=$id

            5) der User klickt auf den Link
            z.B. -KLICK-

            6) deine confirm.php macht folgendes
            Update Set status = 1 where id=$id

            Und der User ist fertig registriert.

            PS: Wenn du das registrierdatum mit speicherst, kannst du Einträge, die nicht bestätigt wurden nach 30 Tagen automatisch löschen lassen.

            Kommentar


            • #7
              gibbet davon nicht irgendwo ein beispiel Script welches ich mir mal anschauen könnte ? Ich denke das würde die Sache für mich sehr erleichtern

              Kommentar


              • #8
                Das hab ich mir aus den fingern gezogen...

                Aber so schwer ists ja echt nicht!

                Kommentar


                • #9
                  @Lord Virus

                  und wenn du was selber machen willst, bringt es auch nix, wenn hier der code gepostet wird.

                  ansonsten frage bei den gesuchen, wenn du zu faul bist es selber zu machen.

                  aber wie schon tobi schrieb, ist es nicht schwer.
                  INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                  Kommentar


                  • #10
                    Hupp die Wupp!

                    EASY!!!

                    Kommentar


                    • #11
                      ich hab auch ne community geschrieben mit dem mail-fake-schutz

                      wenn ihrs angucken wollt...
                      www.mayer-martin.de

                      also zu dem script

                      er schreibt bei einer anmeldung die benutzerdaten in eine tabelle mit einem timestamp

                      der user bekommt ne mail zugesandt mit dem loginname, der vorher mit rawurlencode() codiert wurde, das sonderzeichen vorgebeugt ist.

                      dann kommt er anhand der mail auf die confirm.php?nick=blabalbla

                      das script löscht zuerst alle daten raus die älter als 3 tage sind anhand des timestamps.

                      dann wird geprüft, ob der user noch besteht, wenn ja, dann werden die daten von der tabelle in die endgültige user-tabelle kopiert und der alte eintrag gelöscht...somit ist der account für den benutzer aktiviert
                      tata
                      moqui

                      [COLOR=red]Ich will keine unaufgeforderten Mails über PHP Fragen. Es gibt ein Forum hier! Und ich bin nicht Scripter für jeden, der mir ne Mail schreibt![/COLOR]

                      Kommentar

                      Lädt...
                      X