Hallo,
Nun habe ich allerdings festgestellt, dass einige User sich nicht einloggen können, obwohl sie das richtige Passwort eingeben.
was steht in der HTTP-Logdatei vom Server? Was wurde auf Netzwerkebene übertragen (tcpdump)? Gibts eventuell auch ein Log vom PHP-Interpreter?
Hier mein entsprechender Code:
$shapass = sha1($_POST['password']);
Du verwendest hoffentlich HTTPS? Außerdem solltest du das Hashing auf dem Clientcomputer zu vollziehen.
$username = mysql_real_escape_string($_POST['username']);
$sql = ("SELECT userid,username FROM users
WHERE
username = '".$username."' AND
password = '".$shapass."'");
Hier könntest du [prepared statements](http://php.net/manual/de/pdo.prepared-statements.php) benutzen.
> $result = mysql\_query($sql) or die (mysql\_error());
Mach ich auch immer so ( ;-) ) aber wir haben ja gelernt: [die() ist ebenso sehr eine Fehlerbehandlung, wie Suizid eine Heilmethode ist.](http://community.de.selfhtml.org/zitatesammlung/zitat1282)
Grüße