Prüfen ob der Account des Users aktiviert wurder
Malte Kiefer
- php
0 meisterB0 Malte Kiefer0 FrankieB0 Sascha Knappe0 FrankieB
0 Malte Kiefer0 FrankieB
Hi,
ich habe jetzt ein Logimscript geschrieben, und der funktioniert auch.
Jetzt soll es aber nicht nur prüfen, ob das Passwort und der Username stimmt, nein er soll auch testen, ob der aktiviert ist.
Wen er aktiviert ist, muss in der Datenbank bei aktivert eine eins stehen.
Nur wie kann ich das abfragen?
Hier ist der Loginscript der alles überprüft:
<?php
// Session starten
session_start ();
// Datenbankverbindung aufbauen
$connectionid = mysql_connect ("localhost", "root", "");
if (!mysql_select_db ("ghostsoldier", $connectionid))
{
die ("Keine Verbindung zur Datenbank");
}
$sql = "SELECT ".
"id, username,offizier, password,aktiv ".
"FROM ".
"register ".
"WHERE ".
"(username like '".$_REQUEST["username"]."') AND ".
"(password = '".$_REQUEST["password"]."')AND".
$result = mysql_query ($sql);
if (mysql_num_rows ($result) > 0)
{
// Benutzerdaten in ein Array auslesen.
$data = mysql_fetch_array ($result);
// Sessionvariablen erstellen und registrieren
$_SESSION["user_id"] = $data["id"];
$_SESSION["user_username"] = $data["username"];
$_SESSION["user_offizier"] = $data["offizier"];
$_SESSION["user_password"] = $data["password"];
header ("Location: gsuser.php");
}
else
{
header ("Location: login.php?fehler=1");
}
?>
Könntet ihr mir ne Lösung auf schreiben?
Die Datenbank wo das mit dem aktiviert drin steht ist ghostsoldier der name der tabelle register und aktiv heißt die Spalte.
Danke
Malte
Eigentlich mußt du nur prüfen ob das "aktiv" auf 1 steht. Ich würde es an den SQL-String anhängen, wo du das Passwort früfts. Quasi, "AND aktive = '1'". Dann liefert er nur die Resultate, wo alle Kriterien erfüllt sind. Sprich: Das Passwort passt zum Benutzer und ist aktiv. Hier kannst du allerdings keinen spezifischen Fehler zurückgeben. Also nix mit "Sie sind nicht aktiviert", sondern nur "Fehler beim Einlogen".
Ok ich habe es so gemacht, kann mich trotzdem nicht einloggen dabei stimmt das passwort, der username und der user ist auch aktiv
$sql = "SELECT ".
"id, username, offizier, password,aktiv ".
"FROM ".
"register ".
"WHERE ".
"(username like '".$_REQUEST["username"]."') AND ".
"(password = '".$_REQUEST["password"]."')AND".
"(aktiv = '1'"."')";
$result = mysql_query ($sql);
Malte
Hallo Malte Kiefer,
das was ich schreibe gilt auch für dein anderes Posting, welches sogar ein Doppelposting darstellt (Du hast bis jetzt Glück gehabt, daß dir das keiner vorgehalten hat ,-).
Ok ich habe es so gemacht, kann mich trotzdem nicht einloggen dabei stimmt das passwort, der username und der user ist auch aktiv
$sql = "SELECT ".
"id, username, offizier, password,aktiv ".
"FROM ".
"register ".
"WHERE ".
"(username like '".$_REQUEST["username"]."') AND ".
"(password = '".$_REQUEST["password"]."')AND".
"(aktiv = '1'"."')";
Hier an dieser Stelle in deinem Skript läßt Du dir bitteschön mal ausgeben was in $sql steht, z.B. mit
print_r($sql);
Und genau diese Ausgabe postst Du dann hier. Ich bin der festen Überzeugung, daß dein SQL-Statement falsch ist und es deshalb zu einer Fehlermeldung kommt.
Grüsse
Frankie
Hallo,
zumal gestern schon genügend Hinweise auf Debug-Ausgaben (und wie sie gemacht werden), SQL-Statement mit echo ausgeben, Formulardaten absichern etc. gekommen sind, Malte aber leider nichts beherzigt.
Und dann bekommt er leider auch viele Hinweise mit kopierten Schnipseln, wie es andere machen und er übernimmt einfach, macht sich keine Gedanken, was er eigentlich mancht und will auch nicht wirklich verstehen, was man ihm schreibt.
Ich glaube, dass es so nichts mehr wir, mit dem Projekt Ghostsoldier ;-)
Schönen Gruß aus München
die knappschaft
Hallo Sascha,
zumal gestern schon genügend Hinweise auf Debug-Ausgaben (und wie sie gemacht werden), SQL-Statement mit echo ausgeben, Formulardaten absichern etc. gekommen sind, Malte aber leider nichts beherzigt.
Ich habe mir zwar nicht alles durchgelesen, aber auch mir erscheint es so, als wäre Malte recht immun gegenüber gutgemeinten Ratschlägen.
Und dann bekommt er leider auch viele Hinweise mit kopierten Schnipseln, wie es andere machen und er übernimmt einfach, macht sich keine Gedanken, was er eigentlich mancht und will auch nicht wirklich verstehen, was man ihm schreibt.
Ich glaube, dass es so nichts mehr wir, mit dem Projekt Ghostsoldier ;-)
Ist wahrscheinlich ein Geisterprojekt ,-)
Schönen Gruß aus München
Grüsse aus Germering (sozusagen vor deiner Haustür)
Grüsse
Frankie
Hallo Frankie,
wird es in deinem? Shop auch Zigarren geben?
Da könnten wir vielleicht zusammen kommen ;-)
Schönen Gruß aus dem noch sonnigen München
die knappschaft
Hallo Sascha,
ist zwar offtopic jetzt, aber was solls ...
wird es in deinem? Shop auch Zigarren geben?
Da könnten wir vielleicht zusammen kommen ;-)
Wahrscheinlich warst du auf meiner "alten" Seite, da ist der "Shop" irgendwann mal in die Navigation reingeraten (wollte zukunftsweisend denken, und man weiß ja nie ...). Ok, auch auf meiner neugeplanten Seite gibt es noch keinen funktionierenden Shop, ein solcher ist aber schon ernsthaft in Planung. Da ich das alles nur nebenbei und "just for fun" mache, bin mir auch noch nicht sicher ob ich Alkohol und Zigarren überhaupt anbieten werde, da ich mich noch nicht ausreichend über Importbestimmungen und Steuern für diese Produktkategorien schlau gemacht habe. Wenn Du dich zu diesem Thema auskennst, kannst Du gerne Kontakt zu mir aufnehmen, dann aber bitte via Email.
Wenn Du Zeit und Lust hast kannst gerne mal einen Blick auf mein neues Layout werfen (http://brazil.bauderweb.de/, bewusst nicht verlinkt!). Die Inhalte fehlen zwar noch, aber bei etwas Suche auf der Seite kann man vielleicht durchaus das ein oder andere nützliche Skript entdecken (Währung, Zeit, Xtra, MyExplorer->Mypics, etc.)
Schönen Gruß aus dem noch sonnigen München
Wieso "noch"? Also ich wohne ja im Westen von dir aus gesehen, und wenn ich noch weiter nach Westen blicke (von meinem Balkon aus) kann ich noch keine Schlechtwetterfront entdecken. Ich kann dich also beruhigen: es bleibt sonnig, zumindest die nächsten Stunden ;-)
Grüsse
Frankie
Also das wird ausgegebn.
SELECT username FROM ghostsoldier
Malte
Hallo Malte Kiefer,
Also das wird ausgegebn.
SELECT username FROM ghostsoldier
Nein, das stimmt nicht, die Ausgabe ergibt folgendes:
SELECT id, username, offizier, password,aktiv FROM register WHERE (username like 'xxx') AND (password = 'xxx')AND(aktiv = '1'')
(wobei für xxx deine $_REQUESTs einzusetzen wären, die Du natürlich ausreichend geprüft hast bevor Du sie in deinem SQL-Statement verwendest)
Beschäftige dich bitte noch ein wenig mit den Grundlagen und poste erst dann wieder zu deinem Problem, wenn Du ansatzweise verstehst was Du machst/machen willst. Mit deinem derzeitigen Wissensstand wird das aus meiner Sicht nix.
Grüsse
Frankie