【发布时间】:2009-03-26 13:43:40
【问题描述】:
所以最近我学会了如何正确地将用户名和密码添加到数据库中。 我的数据库是usersys,存储用户信息的表叫userdb。该表有两列 - 用户名(主)、密码。
注册表很好用,将用户输入正确地输入数据库,并检查用户的用户名是否已经在数据库中。
话虽如此,我想问是否有人可以帮助我创建登录脚本。到目前为止,这就是我所拥有的:
$username = $_POST['username'];
$password = $_POST['password'];
$displayname = $_POST['username'];
$displayname = strtolower($displayname);
$displayname = ucfirst($displayname);
echo "Your username: " . $displayname . "<br />";
mysql_connect("localhost", "root", "******") or die(mysql_error());
echo "Connected to MySQL<br />";
mysql_select_db("usersys") or die(mysql_error());
echo "Connected to Database <br />";
$lcusername = strtolower($username);
$esclcusername = mysql_real_escape_string($lcusername);
$escpassword = mysql_real_escape_string($password);
$result = mysql_query("SELECT * FROM userdb WHERE username='$esclcusername' AND password='$escpassword'") or die(mysql_error());
$row = mysql_fetch_array( $result );
$validateUser = $row['username'];
$validatePass = $row['password'];
POST 数据来自上一个登录页面。我希望此脚本检查表 (userdb) 并找到用户从上一个表单中输入的用户名所在的行,并验证输入的密码是否与 userdb 表中该行中设置的用户名密码匹配。
我还想要某种方法来检查输入的用户名是否存在,如果在表中找不到输入的用户名,则告诉用户输入的用户名不存在。
【问题讨论】:
-
您应该尽可能重用现有的身份验证框架,因为它确实很复杂。例如,看看github.com/delight-im/PHP-Auth,它既与框架无关,也与数据库无关。
标签: php authentication