kostenloser Webspace werbefrei: lima-city


MySQL login mit Aktivierung?

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    philip-felder

    philip-felder hat kostenlosen Webspace.

    Hallo
    habe meine tabele in mysql erweitert mit
    'Aktiviert' enum('Ja','Nein')

    Klappt auch ganz gut aber wie mache ich es in der Seite das der Benutzer sich nur einloggen kann, wenn er Aktiviert ist?

    Hier meine login.php:

    <?php
    session_start();
    $verbindung = mysql_connect("mysql.lima-city.de", "USER....." , "........")or die("Verbindung zur Datenbank konnte nicht hergestellt werden");
    mysql_select_db("db_1........_1") or die ("Datenbank konnte nicht ausgewählt werden");
    $username = $_POST["username"];
    $passwort = md5($_POST["password"]);
    $abfrage = "SELECT Benutzername, Passwort FROM login WHERE Benutzername  = '$username'";
    $ergebnis = mysql_query($abfrage);
    $row = mysql_fetch_object($ergebnis);
    if($row->Passwort == $passwort) 
        {
        $_SESSION["username"] = $username;
        header('Location: index.php?page=Login');
       $login = true;
        }
    else
        {
        $login=false;
         }
    if ($login == false){
    header('Location: index.php?page=Pass');
    }
    ?>


    Vielen Dank
    Philip

    Beitrag zuletzt geändert: 17.2.2010 16:13:53 von philip-felder
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

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

  3. Du musst folgende Zeile ändern:

    if($row->Passwort == $passwort)


    in

    if($row->Passwort == $passwort && $row->Aktiviert=="Ja")
  4. Autor dieses Themas

    philip-felder

    philip-felder hat kostenlosen Webspace.

    Klappt wunderbar, kann ich es auch so machen das wenn man nicht Aktiviert ist er eine andere seite öffnet also z.B.:
    header('Location: index.php?page=nichtaktiviert');
  5. Du leitest doch bei falschem Login schon auf eine andere Seite weiter:

    if ($login == false){
    header('Location: index.php?page=Pass');
    }


    Warum schreibst du auf dieser Seite als Text nicht in etwas sowas:

    Sie haben die falschen Benutzernamen eingegeben oder aber der Account ist noch nicht aktiviert!


    Alternativ könnte der Code auch so aussehen:

    <?php
    session_start();
    $verbindung = mysql_connect("mysql.lima-city.de", "USER....." , "........")or die("Verbindung zur Datenbank konnte nicht hergestellt werden");
    mysql_select_db("db_1........_1") or die ("Datenbank konnte nicht ausgewählt werden");
    $username = $_POST["username"];
    $passwort = md5($_POST["password"]);
    $abfrage = "SELECT Benutzername, Passwort FROM login WHERE Benutzername  = '$username'";
    $ergebnis = mysql_query($abfrage);
    $row = mysql_fetch_object($ergebnis);
    if($row->Passwort == $passwort && $row->Aktiviert=="Ja")
        {
        $_SESSION["username"] = $username;
        header('Location: index.php?page=Login');
       $login = true;
        }
    if($row->Passwort == $passwort && $row->Aktiviert=="Nein")
       {
         header('Location: index.php?page=nichtaktiviert'
    if ($login == false){
    header('Location: index.php?page=Pass');
    }
    ?>


    Beitrag zuletzt geändert: 17.2.2010 16:53:41 von karpfen
  6. Autor dieses Themas

    philip-felder

    philip-felder hat kostenlosen Webspace.

    Danke, kann ich auch i-was machen damit ich sehen wan der letzte login des users war?

    MySQL tabelle ergänzt:

    'letzter login' datetime default '0000-00-00 00:00:00'


    Beitrag zuletzt geändert: 17.2.2010 16:59:19 von philip-felder
  7. http://www.schattenbaum.net/php/insert.php Les dir doch mal das Tutorial durch, dann solltest du das bewerkstelligen können :biggrin:
  8. Autor dieses Themas

    philip-felder

    philip-felder hat kostenlosen Webspace.

    Tolles tut, aber da steht nicht wie ich es schaffe den letzten login des user in die MySQL tabelle einfüge
  9. philip-felder schrieb:
    Tolles tut, aber da steht nicht wie ich es schaffe den letzten login des user in die MySQL tabelle einfüge


    Schau dir mal die date()-Funktion von PHP an.

    LG cookies
  10. Der Codeschnippsel, bei dem der User sich einloggt muss eben entsprechend verändert werden:


    <?
    if($row->Passwort == $passwort && $row->Aktiviert=="Ja")
        {
        $_SESSION["username"] = $username;
    
    
        //HIER MUSS DER CODE HIN
    
    
        header('Location: index.php?page=Login');
       $login = true;
        }
    
    ?>


    Und zwar musst du dort den Code sohingehend abändern, dass dort Daten in eine Datenbank eingetragen werden. Wie dies allgemein geht steht doch in dem Tutorial. Zudem hat cookies ja auch noch die relevante Funktion date() ans Herz gelegt.

    Beitrag zuletzt geändert: 17.2.2010 18:37:37 von karpfen
  11. Klappt wunderbar, kann ich es auch so machen das wenn man nicht Aktiviert ist er eine andere seite öffnet also z.B.:


    einfach einochmal erweitern...

    if($row->Passwort == $passwort){
    //Passwort ok
        if ( $row->Aktiviert=="Nein") {
            //Nicht aktiviert z.B.: echo "Bitte aktivieren Sie ihren account"; oder weiterleitung auf andere Seite...
        } elseif ($row->Aktiviert=="Ja") {
            //Eiloggen erfolgreich
        } else {
        //Komischer Fehler... Passwort richtig aber nicht registriert oder aktiviert. [b]Tritt nicht auf...[/b]
    } else {
    //Passwort falsch
    }


    Beitrag zuletzt geändert: 17.2.2010 19:08:20 von aklasse
  12. 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!