登陆问题???——在线等! $sql="select username, password from [user] where usename='$username'"; 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 $sql="select username, password from [user] where usename=$username";$sql="select username, password from user where usename='$username'"; 我已经修改了。但是还是出现“没有这个用户”,是不是我的循环有问题喔!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 ("你输入的密码不正确"); ms sql吗?不是很清楚你的user表中字段是username还是usename?问题可能出在这! 对是MSSQL,USER里面的字段是USERNAME,没有问题的。那是什么原因呢? 变量有没有传递过来输出echo $username 看看 你说在mssql里字段名是username而你在这里$sql="select username, password from [user] where usename='$username'";却用的是usename缺了一个r呀 可能原因:$sql="select username, password from [user] where usename='$username'";这一句where条件后usename有误,因为你前面是select username,那么就是要么数据库中是username字段名,要么是usename字段名,这需要检查。其次,需要检查username字段里面值的大小写,一般来说登录的用户名存在库里应是小写,比较时要加上strtolower函数。 我修改了一下还是提示没有这个用户???<?phpsession_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> 在这句话$sql="select password from users where username='$username'";的后面加个echo $sql;来查看一下SQL语句,看是否正确,要养成一个习惯,用ECHO语句在适当地方加以调试。先自己多调试一下。 你们说的都不对,这个问题我碰到过,你把表名称换成user其它的试试看,user是关键字,用在表名上就有问题:找不到指定表但不显示这个错误。 你看看在数据库中username字段的类型如果是char那就改成varchar就应该可以了。 php怎么将一个未知数转换为Integer整数 rss使用报错 JS数组怎样用PHP语言解析出来并入库 问个简单的问题。。。 哪大大帮我研究下这个字符串的截取 PHP乱码的问题 PHP有没有is_type()函数? 关于用DOM创建XML时候将XML文档的ENCODING修改为GB2312的问题。 新手求救! 为什么老是不对啊! 请教一个从数据库中取得图片显示的问题? 为什么我的MySQL始终大不开呀
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 ("你输入的密码不正确");
你的user表中字段是username还是usename?问题可能出在这!
输出echo $username 看看
而你在这里
$sql="select username, password from [user] where usename='$username'";
却用的是usename
缺了一个r呀
$sql="select username, password from [user] where usename='$username'";
这一句where条件后usename有误,因为你前面是select username,那么就是要么数据库中是username字段名,要么是usename字段名,这需要检查。
其次,需要检查username字段里面值的大小写,一般来说登录的用户名存在库里应是小写,比较时要加上strtolower函数。
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>
如果是char那就改成varchar就应该可以了。