bestätigungsemail senden

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

  • bestätigungsemail senden

    ich möchte eine seite mit eine art gästebuchservice programmieren, scheitere aber momentan daran, ein email (schaff ich noch) mit einem aktivierungslink zu versenden, um die emailadresse zu überprüfen.

    wie mache ich das mit dem link, das in der datenbank beim benutzer die zelle active von false auf true gesetzt wird???

  • #2
    Hallo patrasz!

    Ein User meldet sich per Formular an.
    Du speicherst alle Anmeldedaten in deiner Datenbank.
    Zusätzlich solltest du nun noch einen zufällig generierten Code abspeichern, mit dem man den Account aktivieren kann.

    Pseudobeispiel:
    PHP-Code:
    <?php

    $activationcode 
    md5(time().microtime());
    $sql mysql_query("INSERT INTO user VALUES
                        ('0','
                        "
    .$_POST["username"]."',
                        '"
    .md5($_POST["pass"])."',
                        "
    .$_POST["email"]."',
                        '"
    .$activationcode."')");

    $userid mysql_insert_id();

    mail($_POST["email"],
         
    "Accountaktivierung",
         
    "Link: activate.php?userid=".$userid."&activationcode=".$activationcode,
         
    "FROM:your@mail.de");

    ?>
    Wenn der User nun auf den Link in der E-Mail klickt, einfach nur noch den Aktivierungscode überprüfen und den User auf active='true' setzen.

    PHP-Code:
    <?php

    if($_GET["userid"] && $_GET["activationcode"])
    {
        
    $sql mysql_query("SELECT activationcode
                            FROM user
                            WHERE (userid = '"
    .$_GET["userid"]."') AND
                            (activationcode = '"
    .$_GET["activationcode"]."')");
        if(
    $row mysql_fetch_array($sql))
        {
            
    $sql mysql_query("UPDATE user
                                SET active='true'
                                WHERE (userid = '"
    .$_GET["userid"]."')");
        }
    }

    ?>

    Gruß,
    DivDax

    Kommentar

    Lädt...
    X