Erweiterung für Tutorial "Login mit Hilfe von PHP und mySQL"

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

  • Erweiterung für Tutorial "Login mit Hilfe von PHP und mySQL"

    Hallo

    Ich habe das login system nach diesem tutorial nachgebaut
    http://php-resource.de/tutorials/read/38/1/

    Nun habe ich das ganze mit einer aktivierungsemail erweitert.
    meine tabelle "cms" in der die User mit passwörter gespeichert sind habe ich 2 spalten hinzugefügt
    - enable (0=deaktiviert, 1=aktiviert)
    - enablekey (key der benötigt wird um das konto aktivieren)

    das ganze ist nur eine erweiterung der datein
    - sessionhelpers.inc.php
    bzw
    - enable.php (datei zum freischalten bzw. versenden von der aktivierungsmail)


    Ich bitte ein paar kommentare ob dies sinnvoll gecodet wurde, bzw. was ich verbessern sollte.
    Bin absoluter anfänger.
    Eventuell kann mir jemand seinen rat dazu geben.

    mfg
    christian



    zuerst die sessionhelpers:

    PHP-Code:
    function login($ID$name)
    {
        
    $enable="SELECT enable FROM cms WHERE ID=".$ID." AND enable='0' ";
        
    $resultmysql_query($enable) or die(mysql_error());    
        if ( 
    mysql_num_rows($result)==1)
        {
            echo 
    "Nicht aktiviert<br><br>";
            echo 
    "<a href='enable.php?enable=0&username=".$name."&id=".$ID."''>Aktivierungslink</a>";    
        }
        else
        {
        
    $sql="UPDATE cms
        SET session='"
    .session_id()."'
        WHERE ID="
    .$ID;
        
    mysql_query($sql);
        }

    Habe ich nun erweiter um eine Abfrage ob enable=0
    und leite gegebenenfalls weiter auf enable.php und gebe username und id mit der URL mit.

    enable.php
    PHP-Code:
    <?php
    session_start
    ();                                                    //Session wird gestartet
    include 'sessionhelpers.inc.php';                                    //inkludieren der sessionhelpers
    $key=(rand(0,999));

    if(isset(
    $_GET['id']) AND isset($_GET['username']))
    {
        if(
    $_GET['enable']==0)
        {
        
    $sql="UPDATE cms SET enablekey=".$key." WHERE username='".$_GET['username']."' AND ID=".$_GET['id']."";
        
    $resultmysql_query($sql) or die(mysql_error());
        
    $sql="SELECT email FROM cms WHERE username='".$_GET['username']."' AND ID=".$_GET['id']."";
        
    $resultmysql_query($sql) or die(mysql_error());
        
    $row=mysql_fetch_assoc($result);
        
    $empfaenger $row['email'];
        
    $betreff 'Der Betreff';
        
    $nachricht 'http://localhost/giesswein/cms/enable.php?enable=1&username='.$_GET['username'].'&id='.$_GET['id'].'&key='.$key.'';
        
    $header 'From: [email]webmaster@example.com[/email]' "\r\n" .
        
    'Reply-To: [email]webmaster@example.com[/email]' "\r\n" .
        
    'X-Mailer: PHP/' phpversion();
        echo 
    $nachricht;
        echo 
    "<br><br><br>Eine Aktivierunsemail wurde soeben versendet.";
        
    //mail($empfaenger, $betreff, $nachricht, $header); 
           //momentan deaktiviert weil ich kein sendmail installiert hab. (lokal)
        
    }
        
        if(
    $_GET['enable']==1)
        {
            
    $sql="SELECT * FROM cms WHERE username='".$_GET['username']."' AND ID=".$_GET['id']."";
            
    $resultmysql_query($sql) or die(mysql_error());
            
    $row=mysql_fetch_assoc($result);
            
    $key =$row['enablekey'];
            
    $active=$row['enable'];
            if(
    $active==0)
            {
                if(
    $key==$_GET['key'])
                {
                
    $sql="UPDATE cms SET enable='1' WHERE username='".$_GET['username']."' AND ID=".$_GET['id']."";
                
    $resultmysql_query($sql) or die(mysql_error());
                echo 
    "Ihr Account wurde aktiviert.<br>Sie werden nun weitergeleitet.";
                }
                else
                {
                echo 
    "key falsch";
                }
            }
            else
            {
                echo 
    "Account bereits aktiviert.";
            }
        }
        
        
    }

    ?>
Lädt...
X