登陆问题???——在线等!

wulangboy 2003-03-18 08:32:21
以下代码哪里出了问题!我输入用户名和密码后按确认,怎么总是提示“没有这个用户”呢?我可在数据库中有呀!到底错误在哪里呢?

<?php
session_start();
if(login)
{ $username=$_POST["username"];
$password=$_POST["password"];
if($username=="") echo "用户名不能为空";
elseif($password=="") echo "密码不能为空";
else
{ $db=mssql_connect("130.130.27.44","sa","");
mssql_select_db("php",$db);
$sql="select username, password from [user] where usename=$username";
$result=mssql_query($sql);
if(!$result)
echo "没有这个用户";
else
{ $row=mssql_fetch_array($result);
$pwd=$row["password"];
if($password==$pwd)
{ session_register("usename");
session_register("password");
header("location:main.php"); //跳转到正常登陆后的页面
}
else echo ("你输入的密码不正确");
}
}
}

?>
...全文
37 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
fengyuyan 2003-03-22
  • 打赏
  • 举报
回复
你看看在数据库中username字段的类型
如果是char那就改成varchar就应该可以了。
wulangboy 2003-03-22
  • 打赏
  • 举报
回复
我就是用的varchar类型呀!
leojschen 2003-03-20
  • 打赏
  • 举报
回复
在这句话$sql="select password from users where username='$username'";的后面加个echo $sql;来查看一下SQL语句,看是否正确,要养成一个习惯,用ECHO语句在适当地方加以调试。先自己多调试一下。
wulangboy 2003-03-20
  • 打赏
  • 举报
回复
我修改了一下还是提示没有这个用户???

<?php
session_start();
if ($_POST["ACT"]=="Login")

{ $username=$_POST["username"];
$password=$_POST["password"];
if($username=="") echo "用户名不能为空";
elseif($password=="") echo "密码不能为空";
else
{ $db=mssql_connect("130.130.27.44","sa","");
$sql="select password from users where username='$username'";
$result=mssql_query(php,$sql,$db);
$count=mssql_num_rows($result);
if ($count==0)
echo "没有这个用户";
else
{ $row=mssql_fetch_array($result);
$pwd=$row["password"];
if($password==$pwd)
{ session_register("username");
session_register("password");
header("location:130.130.27.44/www/tl.php"); //跳转到正常登陆后的页面
}
else echo ("你输入的密码不正确");
}
}
}
else {
?>
<html>
<head>
<title>用户登陆程序</title>
</head>
<body>
<form method="post" action="<? echo $php_self; ?>" name=登陆表单>
用户名:<input type=text name=username>
密码:<input type=text name=password>
<input type=submit name=login value="登陆">
<input type="hidden" name="ACT" value="Login">
</form>
<?php
}
?>
</body>
</html>
wulangboy 2003-03-20
  • 打赏
  • 举报
回复
我把他换成其他的名字还是不行。到底是哪里的问题呢?
grayfox2008 2003-03-20
  • 打赏
  • 举报
回复
你们说的都不对,这个问题我碰到过,你把表名称换成user其它的试试看,user是关键字,用在表名上就有问题:找不到指定表但不显示这个错误。
FoolBoy 2003-03-19
  • 打赏
  • 举报
回复
可能原因:
$sql="select username, password from [user] where usename='$username'";
这一句where条件后usename有误,因为你前面是select username,那么就是要么数据库中是username字段名,要么是usename字段名,这需要检查。
其次,需要检查username字段里面值的大小写,一般来说登录的用户名存在库里应是小写,比较时要加上strtolower函数。
lovesummerwinter 2003-03-19
  • 打赏
  • 举报
回复
变量有没有传递过来
输出echo $username 看看
sleetdrop 2003-03-19
  • 打赏
  • 举报
回复
你说在mssql里字段名是username
而你在这里
$sql="select username, password from [user] where usename='$username'";
却用的是usename
缺了一个r呀

wulangboy 2003-03-18
  • 打赏
  • 举报
回复
对是MSSQL,USER里面的字段是USERNAME,没有问题的。那是什么原因呢?
sdyqingdao 2003-03-18
  • 打赏
  • 举报
回复
ms sql吗?不是很清楚
你的user表中字段是username还是usename?问题可能出在这!
wulangboy 2003-03-18
  • 打赏
  • 举报
回复
我已经修改了。但是还是出现“没有这个用户”,是不是我的循环有问题喔!

if(!$result)
echo "没有这个用户";
else
{ $row=mssql_fetch_array($result);
$pwd=$row["password"];
if($password==$pwd)
{ session_register("usename");
session_register("password");
header("location:main.php"); //跳转到正常登陆后的页面
}
else echo ("你输入的密码不正确");
sdyqingdao 2003-03-18
  • 打赏
  • 举报
回复
$sql="select username, password from [user] where usename=$username";

$sql="select username, password from user where usename='$username'";
ipman 2003-03-18
  • 打赏
  • 举报
回复
$sql="select username, password from [user] where usename='$username'";

21,891

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧