使用MS SQL作为数据库的PHP登录页面
只是想问一下,我如何才能使一个登录页面中的用户将输入用户名和密码。我这里有一个简单的代码,但它不起作用:使用MS SQL作为数据库的PHP登录页面,php,sql-server,login,Php,Sql Server,Login,只是想问一下,我如何才能使一个登录页面中的用户将输入用户名和密码。我这里有一个简单的代码,但它不起作用: if(isset($_POST['submit'])){ $user = $_POST['usr']; $pass = $_POST['pwd']; $query = "SELECT * FROM [master].[dbo].[userTbl] WHERE [username] = '$user' AND [password] = '$pass'"; $result = sqls
if(isset($_POST['submit'])){
$user = $_POST['usr'];
$pass = $_POST['pwd'];
$query = "SELECT * FROM [master].[dbo].[userTbl] WHERE [username] = '$user' AND [password] = '$pass'";
$result = sqlsrv_query($conn,$query);
if($user == $pass){
echo "Success";
}else{
echo "Invalid username/password";
别担心$conn,这是我的数据库连接,它100%正常工作。
请随意编辑我的代码或提供一些输入,我知道这里的验证部分有问题。我已编辑了您的代码,以计算具有匹配用户名和密码的行数。如果计数为1,则仅登录
$query = "SELECT * FROM [master].[dbo].[userTbl] WHERE [username] = '$user' AND [password] = '$pass'";
$result = sqlsrv_query($conn,$query);
$num = sqlsrv_num_rows($result);
if($num==1){
echo "Success";}
else{
echo "Invalid username/password";}
语法错误,缺少双引号。另外,您使用的是哪个PHP版本
sqlsrv_query()
在您的PHP版本中可能不可用。为什么您的Success
条件$user==$pass
?这没有道理。我认为您的成功
条件需要计算您的$result
返回的行数。伙计们,我使用的是最新版本的php,sqlsrv仅适用于MS SQL。我的数据库是MS SQL,是的,我确实需要计数,在这种情况下我不知道我建议使用PDO而不是sqlsrv_查询。更多信息:我更喜欢sqlsrv,因为这是我的web项目的最后一部分:D,我不想使用不同的语法,我尝试了这个,但我尝试输入正确的用户名和密码,但它返回“无效用户名/密码”,我应该在哪里添加代码来验证用户名和密码是否正确。我们通过计算具有相同组合的行数来验证用户名和密码。这种情况在数据库中只能发生一次或0次。0=未找到此类组合时。1=当找到一个组合时。嗯,我试着在我的数据库中创建一个示例,其中我尝试添加用户名和密码。用户名:root密码:root,试图在文本框中输入,但仍回显“无效用户名/密码”