kostenloser Webspace werbefrei: lima-city


Bestätigungs E-mail! Aber wie ?

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    gaestefun

    Kostenloser Webspace von gaestefun

    gaestefun hat kostenlosen Webspace.

    Hallo!
    Ich habe eine Frage:
    Ich habe jetzt eine Seite,wo sich der User Anmeden muss um reinzukommen,aber ich erhalte immer wieder in der Datenbank quatschangaben wie zB Hans@wurst.de,doch wie mache ich jetzt eine Bestätigungs E-mail,wo dann ein Link ist,der dann erst den User bestätigt?
    OK....wie man E-amils verschickt weiß ich [mail()] abr wie der Link zum bestätigen geht nicht.....
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

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

  3. t****o

    Ich würde das so machen:
    - In der Tabelle für die User gibt es eine Spalte die z.B. "activate" heißt, bei der Anmeldung liegt der Wert auf false
    - Außerdem brauchst du eine Spalte die z.B. "code" heißt mit einem langem cryptischem Code der auch automatisch erstellt wird
    - Dann verschickst du eine Mail an den Registranten mit einem Link wo der Code angehängt ist und die ID von dem User
    - Wenn die Daten (id und code) übereinstimmen, wird der User freigeschaltet und das Feld activate auf true gesetzt.
    Du musst also dann beim Login überprüfen ob activate true ist.
  4. Autor dieses Themas

    gaestefun

    Kostenloser Webspace von gaestefun

    gaestefun hat kostenlosen Webspace.

    Doch wie mache ich einen COde,der nicht einfach nur 1,2,3,4,5,6...usw ist ???
  5. kalinawalsjakoff

    Kostenloser Webspace von kalinawalsjakoff

    kalinawalsjakoff hat kostenlosen Webspace.

    Ich würde das so angehen: Den Code würde ich per Schleife erstellen, die eine Art Zufallsgenerator aktiviert und dann Buchstaben und Zahlen zusätzlich zu deinem Link ausgibt. Klickt der User dann auf deinen Link, so erfolgt dann eine Datenbankabfrage in der kontrolliert wird ob der Code richtig oder Falsch ist und dann wird der Account freigeschaltet.

    So würde ich die ganze sache theoretisch angehen.
  6. t****o

    So könnte es gehen:
    <?php
    $moeglichkeiten = array('a','b','c','d','e','f','g','h','j','k','m','n','p','q','r','s','t','u','v','w','x','y','z','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',0,1,2,3,4,5,6,7,8,9);
    $zufall = '';
    $zahl = 0;
    $rand = rand(1,62);
    for($zahl=0; $zahl < 101; $zahl++) {
    $zufall .= $moeglichkeiten[$rand];
    $rand = rand(1,62);
    }
    ?>

    In $zufall dürfte jetzt ein zufälliger, kryptischer Code sein.

    Edit: So jetzt funktioniert das oben auch :biggrin:
    Edit^2: Ohne sha1 ist der Code viel kryptischer, bitte den neuen Code oben nehmen :biggrin:
    Edit^3: Nun sind auch große Buchstaben dabei => noch sicherer. Zum bewundern: http://telelo.de/rand.php

    Beitrag zuletzt geändert: 19.12.2009 16:01:23 von telelo
  7. Autor dieses Themas

    gaestefun

    Kostenloser Webspace von gaestefun

    gaestefun hat kostenlosen Webspace.

    Ok!
    Ich bin jetzt soweit,dass jeder User eine Nummer zugeteilt bekommt,diese Gespeichert wird,und die Gleiche nummer auch per E-mail an den User verschikt wird!
    Aber wie mache ich jetzt das er speziell genau die Nummer des Users findet,diese Abfrägt und dann die Spalte LINK auf true gesetzt wird ?

    Ok...ich hab mal rumgebastelt....
    Aber ich bekomme keine Registrierungsmail...
    So sieht er aus:
    <form name="form1" method="post" action="<? $PHP_SELF ?>">
     <input type="text" class="input" name="email"><br><br>
     <input type="submit" name="senden" class="input" value="Senden"><br><br>
    <?php
    $moeglichkeiten = array('a','b','c','d','e','f','g','h','j','k','m','n','p','q','r','s','t','u','v','w','x','y','z','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',0,1,2,3,4,5,6,7,8,9);
    $zufall = '';
    $zahl = 0;
    $rand = rand(1,62);
    for($zahl=0; $zahl < 101; $zahl++) {
    $zufall .= $moeglichkeiten[$rand];
    $rand = rand(1,62);
    }
    echo "Hier ist ihr Persöhnlicher Registrierungslink:<br /><a href=\"regist.php?link=$zufall\">Klick</a>"  ;
    if($senden) {
      if(!eregi("^[a-z0-9\._-]+@+[a-z0-9\._-]+\.+[a-z]{2,4}$",
      $_POST['email'])) {
        echo "<font color=#FF0000>Ung&uuml;ltige Email-Adresse!</font>";
        exit;}
    }
    else{
    $mail22 = $_POST["email"];
    
    
    $empfaenger = $mail22;
      $betreff = "Registrierung";
      $text = "Registrierung,<a href=\"regist.php?link=$zufall\">Klick</a>";
      mail($empfaenger, $betreff, $text,
           "From: $sender <$sendermail>");
    
    }
    ?>


    Beitrag zuletzt geändert: 19.12.2009 22:10:08 von gaestefun
  8. t****o

    Ich mach dir mal ein Beispiel, es ist ungetestet:
    Der Code und die ID sind so an die URL angehängt: ?id=userid&code=usercode
    <?php
    if(isset(mysql_real_escape_string(($_GET["id"])) && isset(myql_real_escape_string($_GET["code"]))) {
    $query = sprintf("SELECT id, code FROM usertabelle WHERE id = %d & code = %d", $_GET["id"], $_GET["code"]);
    $prompt = mysql_query($query);
    if(mysql_num_rows($prompt) == 1) {
    $query = sprintf("UPDATE usertabelle WHERE id = %d & code = %d SET activate = 1", $_GET["id"], $_GET["code"]);
    $update = mysql_query($query);
    }
    }
    ?>

    Wenn $update true ausgibt, ist alles gut.

    Edit: Ah ich seh gerade da ist noch ein Problem. Hast du das ganze lokal laufen mit XAMPP oder so? Da funktioniert mail nicht.

    Beitrag zuletzt geändert: 19.12.2009 22:19:05 von telelo
  9. Unglaublich langen Code generieren.
    In DB speichern.
    An Link hängen.
    Email mit Link verschicken.
    URL Parameter abfragen und mit DB vegleichen.
    Wenn drin status ändern und anderen Code zum aktivieren des irgendwas ausführen.

    LOL: schon 1 Uhr (-:

    Beitrag zuletzt geändert: 20.12.2009 1:51:49 von krisi12345
  10. Autor dieses Themas

    gaestefun

    Kostenloser Webspace von gaestefun

    gaestefun hat kostenlosen Webspace.

    Ich hab im moment alles unter http://gaestefun.lima-city.de/Tests/Rando.php
    am laufen....
    Aber anscheinend funktioniert was in meinem Code nicht:
    <form name="form1" method="post" action="<? $PHP_SELF ?>">
     <input type="text" class="input" name="email"><br><br>
     <input type="submit" name="senden" class="input" value="Senden"><br><br>
    <?php
    $moeglichkeiten = array('a','b','c','d','e','f','g','h','j','k','m','n','p','q','r','s','t','u','v','w','x','y','z','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',0,1,2,3,4,5,6,7,8,9);
    $zufall = '';
    $zahl = 0;
    $rand = rand(1,62);
    for($zahl=0; $zahl < 101; $zahl++) {
    $zufall .= $moeglichkeiten[$rand];
    $rand = rand(1,62);
    }
    echo "Hier ist ihr Persöhnlicher Registrierungslink:<br /><a href=\"regist.php?link=$zufall\">Klick</a>"  ;
    if($senden) {
      if(!eregi("^[a-z0-9\._-]+@+[a-z0-9\._-]+\.+[a-z]{2,4}$",
      $_POST['email'])) {
        echo "<font color=#FF0000>Ung&uuml;ltige Email-Adresse!</font>";
        exit;}
    }
    else{
    $mail22 = $_POST["email"];
    
    $empfaenger = $mail22;
      $betreff = "Registrierung";
      $text = "Registrierung,<a href=\"regist.php?link=$zufall\">Klick</a>";
      mail($empfaenger, $betreff, $text,
           "From: $sender <$sendermail>");
    echo"Erfolgreich";
    }
    ?>

    Ich weiß aber im moment nicht was....
  11. 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!