seas,
$sql = "SELECT * FROM user WHERE nick='$benutzer' AND pwd='$pass'";
$result = mysql_query($sql,$conn);
$arrErgebnis = mysql_fetch_array($result);
if($arrErgebnis["nick"] != "$benutzer") {
echo "Benutzer $benutzer existiert nicht";
} elseif($arrErgebnis["pwd"] != "$pass"){
echo "Das Passwort ist nicht korrekt.";
} else {
echo "Hallo $benutzer";
}
erstens ist das doppelte prüfung denn du bekommst sowieso nur
die benutzer wo nick='$benutzer' UND pwd='$pass' sind, das heißt
es kann gar keinen $arrErgebnis["nick"] != "$benutzer" geben weil
du ja vorher schon sagst das du diese benutzer nicht selectieren
willst.
du möchtest wissen ob nick='$benutzer' ist und ob pwd='$pass'
also ob es den benutzer gibt und ob das passwort richtig ist.
von der security seite her ist das schlecht wenn jemand versucht
einzubrechen dann sagst du ihm ganz klar was er falsch hat.
entweder falscher benutzer oder falsches passwort wenn er also
einen benutzer gefunden hat denn es gibt braucht er nur noch
nach dem passwort suchen. darum habe ich dir die andere lösung
gezeigt.
wenn du das mit pass und nick wirklich so willst mußt du vorher
alle benutzer selectieren und dann mittels if prüfen ungefär so
$sql = "SELECT * FROM user";
$result = mysql_query($sql,$conn);
$arrErgebnis = mysql_fetch_array($result);
if($arrErgebnis["nick"] == "$benutzer") {
if ($arrErgebnis["pwd"] == "$pass") {
echo "Alles klar!!!";
} else {
echo "Passwort falsch.";
}
} else {
echo "Benutzer falsch.";
}
ich hoffe es ist jetzt etwas klarer geworden.
grüße
FICHTL