免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 2565 | 回复: 10
打印 上一主题 下一主题

高手快点来帮我! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-08-22 13:37 |只看该作者 |倒序浏览
我最近在做一个电子商务的网站,可是有一个问题想要问大家,在用户名和密码中输入后然后登录总是提示我输入的密码是错误的,我明明在数据库中设计的密码是那个密码

这是首页


这是点击登陆后的


这是首页的代码
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD>
<body bgcolor="#ffffff" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<p>&nbsp;</p>
<p>
</p>
<p>&nbsp;</P>
<p>&nbsp;</P>
<p>&nbsp;</P>
<script language="javascript">
function chkinput(form){
if(form.name.value==""){
alert("请输入用户名!");
form.name.select();
return(false);
}
if(form.pwd.value==""){
alert("请输入用户密码!");
form.pwd.select();
return(false);
}
return(true);
}
</script>
<FORM name="form1" METHOD="POST" ACTION="chkadmin.php" onsubmit="return chkinput(this)">
<TABLE width="549" height="297" border="0" align="center" cellpadding="0" cellspacing="0" id="__01">
<TR>
        <TD height="228" colspan="2" background="images/default_01.gif">&nbsp; </TD>
       
</TR>
<TR>
        <TD width="142" height="39" background="images/default_02.gif">&nbsp;</TD>
        <TD width="407" background="images/default_06.gif"><TABLE width="407" border="0" cellspacing="0" cellpadding="0">
        <TR>
                <TD width="57" align="center">用户名:</TD>
                <TD width="94" align="center"><INPUT TYPE="text" NAME="name" size="14" maxlength="20" class="inputcss"></TD>
                <TD width="53" align="center">&nbsp;密&nbsp;码:</TD>
                <TD width="104" align="center"><INPUT TYPE="password" name="pwd" size="14" maxlength="20" class="inputcss"></TD>
                <TD width="99">&nbsp;<input name="imageField" type="image" src="images/default_07.gif" width="74" height="24" border="0"></TD>
        </TR>
        </TABLE></TD>
</TR>
<TR>
        <TD height="30" background="images/default_04.gif">&nbsp;</TD>
        <TD width="407" background="images/default_05.gif">&nbsp;</TD>
</TR>
</TABLE>
</FORM>
<BODY>

</BODY>
</HTML>

这是验证页的代码:
<?php
class chkinput{
   var $name;
   var $pwd;
  
   function chkinput($x,$y){
     $this->name=$x;
     $this->pwd=$y;
    }

   function checkinput(){
     include("conn.php");
     $sql=mysql_query("select * from tb_admin where name='".$this->name."'",$conn);
     $info=mysql_fetch_array($sql);
     if($info==false){
          echo "<script language='javascript'>alert('不存在此管理员!');history.back();</script>";
          exit;
       }
      else{
         
          if($this->pwd==$info[pwd]){
               header("location:default.php");
           }
          else{
             echo "<script language='javascript'>alert('密码输入错误!');history.back();</script>";
             exit;
           }
      }   
   }
}
    $obj=new chkinput(trim($_POST[name]),md5(trim($_POST[pwd])));
    $obj->checkinput();
?>
数据库肯定连接正确,字段名也都没有什么问题。希望大家帮我解决,非常感谢!

论坛徽章:
0
2 [报告]
发表于 2008-08-22 13:59 |只看该作者
有可能是你的数据库字符编码的问题,你在查询之前没有限定查询的字符编码,
mysql_query("set names ***");
所以你可以把你的查询结果输出来,检查一下是否这个问题
     $sql=mysql_query("select * from tb_admin where name='".$this->name."'",$conn);
     $info=mysql_fetch_array($sql);

论坛徽章:
1
2015年迎新春徽章
日期:2015-03-04 09:55:28
3 [报告]
发表于 2008-08-22 14:04 |只看该作者
最简单的方法,把这两个$this->pwd, $info[pwd]打印出来看看。
估计你数据库里存的是加密过的,接受到的那个没加密就进行比较了。

论坛徽章:
0
4 [报告]
发表于 2008-08-22 14:39 |只看该作者
把全部打印出来看看不就知道了

论坛徽章:
0
5 [报告]
发表于 2008-08-22 15:03 |只看该作者
如楼上各位所述,加几行,先把变量打印出来看看

论坛徽章:
0
6 [报告]
发表于 2008-08-22 15:49 |只看该作者
如楼上各位所述,加几行,先把变量打印出来看看


能否详细的告诉我具体该怎么做?

论坛徽章:
0
7 [报告]
发表于 2008-08-22 16:15 |只看该作者
在验证页代码中:

function checkinput(){
     include("conn.php");
     $sql=mysql_query("select * from tb_admin where name='".$this->name."'",$conn);
     $info=mysql_fetch_array($sql);
     var_dump($info); //加入此行看看数组里面是什么
/*以下注释掉
     if($info==false){
          echo "<script language='javascript'>alert('不存在此管理员!');history.back();</script>";
          exit;
       }
      else{
         
          if($this->pwd==$info[pwd]){
               header("location:default.php");
           }
          else{
             echo "<script language='javascript'>alert('密码输入错误!');history.back();</script>";
             exit;
           }
      }
*/   
}

[ 本帖最后由 yoursmile 于 2008-8-22 16:18 编辑 ]

论坛徽章:
0
8 [报告]
发表于 2008-08-22 17:07 |只看该作者
在验证页代码中:

function checkinput(){
     include("conn.php");
     $sql=mysql_query("select * from tb_admin where name='".$this->name."'",$conn);
     $info=mysql_fetch_array($sql);
     var_dump($info); //加入此行看看数组里面是什么
/*以下注释掉
     if($info==false){
          echo "<script language='javascript'>alert('不存在此管理员!');history.back();</script>";
          exit;
       }
      else{
         
          if($this->pwd==$info[pwd]){
               header("location:default.php");
           }
          else{
             echo "<script language='javascript'>alert('密码输入错误!');history.back();</script>";
             exit;
           }
      }
*/    }

这样做什么也没有呀

论坛徽章:
0
9 [报告]
发表于 2008-08-22 17:12 |只看该作者
7楼的高手,你能留下你的联系方式吗?qq或者是msn,由于我的php是自学的,所以问题比较多,如果有你的帮助,我相信我会进步的很快。

论坛徽章:
0
10 [报告]
发表于 2008-08-22 17:18 |只看该作者
var_dump($info);就是为了显示info数组的具体赋值情况

如果什么也没有显示,你就要看看数据库的记录了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP