我希望我的用户能够使用他们的帐户登录,因此我创建了一个html表单和一个将与mySQL数据库通信的php文件。 php代码应该检查用户名和密码是否正确并且是否存在于数据库中。如果是,则授予用户访问权限。我在想这样的算法:
<?php
//connection_start
$mysqli = new mysqli('mysql3.000webhost.com','a4305565_os','******','a4305565_users');
//check_connection
if($mysqli->connect_error){
die("Connection error (check_connection): " . $mysqli->connect_errno . " : " . $mysqli->connect_error );
exit();
}
//check_if_account_exists
$query = mysql_query("SELECT * FROM `users` where `username` = '$_POST[form_username]' AND `password` = '$_POST[form_password]'") or die(mysql_error());
$row = mysql_fetch_array($query) or die(mysql_error());
//verification
if(!empty($row['username']) AND !empty($row['password'])){
echo "SUCCESSFULLY SIGNED IN.";
}else{
die("Your are not registered yet.");
}
//Connection_end
$mysqli->close();
?>
但是当我在我的网络主机上测试代码时,它在第14行给我一个错误,说我
无法访问数据库“a4305565_users”,密码为= NO
或类似的东西。
请帮忙吗?
答案 0 :(得分:0)
您的用户对 a4305565_users 架构没有任何权利。 编辑您的用户权限,以授予他使用此架构的权利。
你创建一个名为&#34; users&#34;的模式也有点奇怪。这听起来更像是一个表名。
而且,作为建议,你应该对用户密码进行哈希处理,将它们以纯文本形式存储起来是一种非常糟糕的做法。 此外,你可以为你的哈希加盐。