基本上没什么问题.
$query="use gp";
$res=@mysql_query($query,$handler);
PHP提供了专门的选择数据库的函数,用mysql_select_db().$query="select login from users where login='$login';";
你为何不直接带上密码去找?如果找到就说明有符合的,如果没找到就说明不对.就可以了.
$query="use gp";
$res=@mysql_query($query,$handler);
PHP提供了专门的选择数据库的函数,用mysql_select_db().$query="select login from users where login='$login';";
你为何不直接带上密码去找?如果找到就说明有符合的,如果没找到就说明不对.就可以了.
please input login or password correctly
不论我的用户名和密码错,还是对,这是怎么回事,
声名,我的数据库连接,都很好
{
print"please input login or password correctly";
exit();
}
你所说的运行之后的结果和上面的代码表明你的变量没有传递过来浅妄薄见,望与斟酌
你是用表单POST传的吧,用$HTTP_POST_VARS["login"]代替$login,用$HTTP_POST_VARS["password"]代替$password试试
改为register_global=ON就可以了?
刚发现 你写错了SQL
$query="select login from users where login='$login';";
你把login给取出来了.if (!strcmp($password,$user[0]))
结果你拿来和$password进行比较错啦~~~$query="select password from users where login='$login';";应该是这样吧
还有一个小问题,当我的用户名正确,而密码错误时,没有出现
please input login or password correctly
而是一片空白,这是什么原因
你的SQL语句是
$query="select password from users where login='$login';";
如果用户名存在,那么下面一句:
$num=mysql_num_rows($res);
就会取得1,而进入if循环,这样,你那句输出,就不可能执行得到了.改成这样:
if (!strcmp($password,$user[0]))
{
print 'you are welcome!';
exit();
}
else
{
print '密码错误';
exit();
}
我把程序改为
<?
if ($login==""||$password=="")
{
print"please input login or password correctly";
exit();
}
$handler=@mysql_pconnect('localhost','greenpeople','78167816');
if ($handler==false)
{
print"connect to mysql failed.";
exit();
}
$query="use gp";
$res=@mysql_query($query,$handler);
if ($res==false)
{
print"switch to\"gp\"database failed";
exit();
}
$query="select password from users where login='$login';";
$query="select login from users where password='$password';";
$res=mysql_query($query,$handler);
$num=mysql_num_rows($res);
if ($num==1)
{
$user=mysql_fetch_row($res);
if (!strcmp($password,$user[0])||!strcmp($login,$user[0]))
{
print "you are welcome!";
exit();
}
}
else
print "you please input login or password correctly";?>
if ($login==""||$password=="")
{
print"please input login or password correctly";
exit();
}
$handler=@mysql_pconnect('localhost','greenpeople','78167816');
if ($handler==false)
{
print"connect to mysql failed.";
exit();
}
$query="use gp";
$res=@mysql_query($query,$handler);
if ($res==false)
{
print"switch to\"gp\"database failed";
exit();
}
// 以下有变化了
$query="select * from users where login='$login' && password='$password';";
$res=mysql_query($query,$handler);
$num=mysql_num_rows($res);
if ($num==1)
print "you are welcome!";
else
print "you please input login or password correctly";?>