MySQL login mit Aktivierung?
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abfrage
benutzername
code
date
datenbank
datum
ergebnis
folgende zeile
header
index
komischer fehler
letzten login
letzter login
login
page
tabelle
treten
url
verbindung
weiterleitung
-
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 -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Du musst folgende Zeile ändern:
if($row->Passwort == $passwort)
in
if($row->Passwort == $passwort && $row->Aktiviert=="Ja")
-
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');
-
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 -
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 -
http://www.schattenbaum.net/php/insert.php Les dir doch mal das Tutorial durch, dann solltest du das bewerkstelligen können
-
Tolles tut, aber da steht nicht wie ich es schaffe den letzten login des user in die MySQL tabelle einfüge
-
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 -
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 -
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 -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage