按照上面的链接,依次查看用户名和密码登录基于Web的系统的示例,该系统使用PHP,JavaScript和MySQL数据库开发。按照上面的链接,依次查看用户名和密码登录基于Web的系统的示例,该系统使用PHP,JavaScript和MySQL数据库开发。
按照上面的链接,依次查看用户名和密码登录基于Web的系统的示例,该系统使用PHP,JavaScript和MySQL数据库开发。
您只测试表用户的第一行。使用 if 语句进行测试时,返回的第一行是尝试登录的用户,或者不是。
相反,您可以执行以下操作:
function user_exists($username) {
$username = sanitize($username);
$query = mysqli_query($_POST['x'], "SELECT * FROM users where username ='".$username."'");
$row = mysqli_fetch_array($query);
if(count($row)>0) {
return true;
}
else return false;
}
这将查找具有给定用户名的所有行。当然,测试密码或其他内容将取决于实际遍历获取的数组,而不仅仅是检查计数。
多亏了你们,我昨天终于做到了。它运行良好,但是需要在涉及的其他功能中重复(这是失败的原因),是的,我忘记了我的错误报告已关闭,这使我自己的生活更加困难:
function user_exists($username) {
$username = sanitize($username);
$query = mysqli_query($_POST['x'], "SELECT `username` FROM `users` WHERE `username` = '$username'");
while($row = mysqli_fetch_assoc($query)){
$rows[] = $row;
}
if (count($rows) > 0) {
return true;} else return false;
}
登录功能也是如此:
function login($username, $password){
$username = sanitize($username);
$password = md5($password);
$query = mysqli_query($_POST['x'], "SELECT `userid` FROM `users` WHERE `username` = '$username' AND `password` = '$password'");
while($row = mysqli_fetch_array($query)){
$rows[] = $row;
}
if(count($rows) > 0) {
$userid = user_id_from_username($username);
return $userid; } else return false;
再次感谢!