Beiträge: 47
Themen: 11
Registriert seit: 10.09.2009
so,
ich hoffe ich nerve nicht mit meinen vielen fragen(wenn ich nerve sagts ruhig)aber ich progge gerade etw größeres und die vielen fehler lassen mich verzweifeln.
ich hätte hier ein login-script das aber i-wie nicht funktioniert.
fehlermeldungen gibts keine aber mein selbst-eingebautes:
'Anmeldung fehlgeschlagen.'
ich hab mein passwort auf jeden fall richtig geschrieben:
PHP-Code:
<?php
$username = $_POST["username"];
$passwort = $_POST["password"];
$sicherheit1 = "SELECT passwort FROM benutzerdaten WHERE username='$username'";
$sicherheit2 = mysql_query($sicherheit1);
$sicherheit3 = "SELECT username FROM benutzerdaten WHERE passwort='$passwort'";
$sicherheit4 = mysql_query($sicherheit3);
if($sicherheit2 == $passwort and $sicherheit4 == $username)
{
$offen = "SELECT loggedin FROM administration";
$open = mysql_query($offen);
if($open == 0)
{
$useridentifikationsnummer = "SELECT id FROM benutzerdaten WHERE passwort='$passwort'";
$id = mysql_query($useridentifikationsnummer);
}
else
{
echo "Die Anmeldung wurde von einem Administrator deaktiviert. Habe bitte Geduld, und warte bis die Anmeldung wieder geöffnet wird.";
}
}
else
{
echo "Anmeldung fehlgeschlagen";
}
?>
schon mal danke für eure hilfe =)
mfg mewking
Beiträge: 14
Themen: 0
Registriert seit: 05.02.2008
26.09.2009, 23:20
(Dieser Beitrag wurde zuletzt bearbeitet: 26.09.2009, 23:28 von D@rKrieger91.)
Wie willst du sehen ob es nicht geht, es wird nirgends etwas ausgegeben. Zum Beispiel solte bei erfolgreichen Login angezeigt werden "Erfolgreich eingeloggt" oder so etwas. Wo ist auserdem bei deiner Datenbankabfrage mysql_fetch_assoc das fehlt irgendwie.
Der Code sollte funktionieren, habe ihn aber nicht getestet:
PHP-Code:
<?php
$username = $_POST["username"];
$passwort = $_POST["password"];
$sicherheit1 = "SELECT passwort FROM benutzerdaten WHERE username='$username'";
$sicherheit1 = mysql_query($sicherheit1);
$sicherheit2 = mysql_fetch_assoc($sicherheit1);
$sicherheit3 = "SELECT username FROM benutzerdaten WHERE passwort='$passwort'";
$sicherheit3 = mysql_query($sicherheit3);
$sicherheit4 = mysql_fetch_assoc($sicherheit3);
if($sicherheit2[passwort] == $passwort and $sicherheit4[username] == $username)
{
$offen = "SELECT loggedin FROM administration";
$query = mysql_query($offen);
$open = mysql_fetch_assoc($query);
if($open[loggedin] == 0)
{
$useridentifikationsnummer = "SELECT id FROM benutzerdaten WHERE passwort='$passwort'";
$id_query = mysql_query($useridentifikationsnummer);
$id = mysql_fetch_assoc($id_query);
echo "Sie sind mit der ID " . $id[id] . " eingeloggt!";
}
else
{
echo "Die Anmeldung wurde von einem Administrator deaktiviert. Habe bitte Geduld, und warte bis die Anmeldung wieder geöffnet wird.";
}
}
else
{
echo "Anmeldung fehlgeschlagen";
}
?>
Aber dein Loginscript finde ich jetzt nicht besonders sondern ziemlich umständlich programmiert. Es geht auch leichter. Am besten mit SESSION.
Gruß D@rKrieger91
Beiträge: 47
Themen: 11
Registriert seit: 10.09.2009
27.09.2009, 07:25
(Dieser Beitrag wurde zuletzt bearbeitet: 27.09.2009, 08:15 von mewking.)
danke(ich progge erst seit vorgestern mit mysql... da bin ich noch newbie)
was bewirkt der befehl:
mfg mewking
Beiträge: 14
Themen: 0
Registriert seit: 05.02.2008
mysql_fetch_assoc ist die eigentlich abfrage ohne diesen befehl kannst du in dem code oben die datenbank nicht abfragen.
Aber ich geb dir ein Tipp wenn du neu bist, fange nicht gleich mit großen Projekten an. Hole dir ein Buch lies es und programmier erstmal etwas kleines. So hab ich es auch gemacht und habe mittlerweile viel erreicht.
Gruß D@rKrieger91
Beiträge: 25.764
Themen: 269
Registriert seit: 20.09.2005
Der Code ist irgendwie sehr umständlich. Außerdem sollte man das Passwort nicht unverschlüsselt speichern.
Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Beiträge: 14
Themen: 0
Registriert seit: 05.02.2008
Das stimmt. Als einfachste Verschlüsselung ist md5.
Meine Erweiterte ist:
PHP-Code:
<?php
$benutzer = "benutzer";
$passwort = "passwort";
$pw = sha1(md5($benutzer . "petwg" . $passwort));
?>
Das ist eine Sicher Verschlüsselung, weil da eigentlich keiner drauf kommt. Dadurch dass ich es jetzt veröffentlicht habe, sollte man den Schlüssel "petwg" umändern (kann jede beliebige Zeichenfolge sein).
Gruß D@rkrieger91
Beiträge: 25.764
Themen: 269
Registriert seit: 20.09.2005
Ich finde die salt-Lösung besser.
Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Beiträge: 14
Themen: 0
Registriert seit: 05.02.2008
Das darf jeder selbst entscheiden, es ist blos so, dass man einer Verschlüsselung verwenden sollte, letzendlich ist dies sicherer als gar keine. Ohne Verschlüsselung kann jeder der Zugriff auf MySQL hat die Passwort-Daten auslesen und das will sicherlich kein Webmaster, geschweige denn die User. Wenn ich mich bei einer Webseite anmelde, setze ich vorraus, dass man Passwort verschlüsselt wird. Damit es niemand herausfindet.
Gruß D@rkrieger91
Beiträge: 47
Themen: 11
Registriert seit: 10.09.2009
(27.09.2009, 10:38)D@rKrieger91 schrieb: Das stimmt. Als einfachste Verschlüsselung ist md5.
Meine Erweiterte ist:
PHP-Code:
<?php
$benutzer = "benutzer";
$passwort = "passwort";
$pw = sha1(md5($benutzer . "petwg" . $passwort));
?>
kapier ich jetz nicht.
mfg mewking
Beiträge: 25.764
Themen: 269
Registriert seit: 20.09.2005
Für ein sicheres Login-Skript solltest du dich erst einmal einlesen. Das ist nicht so einfach. Im Internet gibt es auch viele Beispiele.
Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.