MyBB.de Forum

Normale Version: loginscript
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3
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 =)
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
danke(ich progge erst seit vorgestern mit mysql... da bin ich noch newbie)
was bewirkt der befehl:
PHP-Code:
mysql_fetch_assoc 
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
Der Code ist irgendwie sehr umständlich. Außerdem sollte man das Passwort nicht unverschlüsselt speichern.
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
Ich finde die salt-Lösung besser. Toungue
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
(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.
Für ein sicheres Login-Skript solltest du dich erst einmal einlesen. Das ist nicht so einfach. Im Internet gibt es auch viele Beispiele.
Seiten: 1 2 3