首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > PHP >

这个登录模块咋回事

2012-03-31 
这个登录模块怎么回事?数据库明明有东西就是读不出来真是晕了源代码在下面:总是显示账号密码错误哎?php//

这个登录模块怎么回事?
数据库明明有东西就是读不出来 真是晕了 源代码在下面: 总是显示账号密码错误 哎 
<?php
//判断用户是否已经登陆
session_start();
if(!empty($_SESSION['username']))
{
echo "您已经登录了页面!";
exit;
}
//echo "您好,".$_SESSION['username'];
?>
<?php
require_once('check.php'); //引入公共文件,实现检查用户输入,防止SQL注入漏洞的代码
//trim()函数可以截取头尾的空白字符
$username = trim($_POST['username']);
$pwd = md5($_POST['pwd']);


//设置一个错误变量,以便检查错误
$errmsg = '';
if(empty($username)||empty($_POST['pwd']))
{
  $errmsg = '输入数据不完整';
  
}
if(!empty($username)&&empty($errmsg))
{


  include_once(conn.php);
  if(!$conn)
  {
  $errmsg = "数据库连接错误";
  }
  //$sql=mysql_query("select * from tb_yonghu");
  $sql=mysql_query("select * from tb_yonghu where name='$username' and password='$pwd'");
  $info=mysql_fetch_array($sql);
  $row=mysql_num_rows($sql);
  if(!$row){
  $errmsg = "账号或密码错误";
  }
  else{
   
  //使用session保存当前用户
  session_start();
  $_SESSION['username'] = $username;
   
  //在实际应用中可以使用前面提到的重定向功能转到主页
  $errmsg = "登录成功!";
  //更新用户登陆信息
  $ip = $_SERVER['REMOTE_ADDR']; //获取客户端的IP
  $sql = "update tb_yonghu set f_logintimes=f_logintimes+1,f_lasttime=now(),f_loginip='$ip' where name='$username'";
  mysql_query($sql);
  }
   
  //关闭数据库连接
  mysql_close($conn);
  }

?>
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
  <title>User Login</title>
  <style type="text/css">
  <!--
  .alert {color:red}
  .textinput {width:160px}
  .btn {width:80px}
  table {border:3px double;background-color:#eeeeee;}
  -->
  </style>
  
  <script language='javascript'>
  <!--
  //验证表单数据有效性的函数
  //当函数返回true时,说明验证成功,表单数据正常提交
  //当函数返回false时,说明验证失败,表单数据被终止提交
  function doCheck()
  {
  var username = document.frmLogin.username.value;
  var pwd = document.frmLogin.pwd.value;
   
  if(username == '')
  {
  alert('请输入用户名!');
  return false;
  }
  if(pwd == '')
  {
  alert('请输入密码!');
  return false;
  }
  return true;
  }
  -->
  </script>
</head>
<body>
<h1 align="center"><font color="black" size="5"> 登陆<?php echo $info[name] ?> </font></h1>
<form name="frmLogin" method="post" action="login.php" onSubmit="return doCheck();">
  <table width="350" border="0" align="center" cellpadding="8" bgcolor="#eeeeee">
  <tr><td colspan="2" align="center" class="alert"><?php echo $errmsg; ?></td></tr>
  <tr>
  <td>用户名:</td>
  <td><input name="username" type="text" id="username" class="textinput" value="<?php echo $username; ?>" /></td>
  </tr>
  <tr>
  <td>密码:</td>


  <td><input name="pwd" type="password" id="pwd" class="textinput" /></td>
  </tr>
  <tr>
  <td colspan="2" align="center">
  <input type="submit" class="btn" value="登陆" />&nbsp;&nbsp;
  <input type="reset" class="btn" value="重置" />
  </td>
  </tr>
  </table>
</form>
</body>
</html>



[解决办法]
echo "select * from tb_yonghu where name='$username' and password='$pwd'";将结果在mysql下执行,如果有结果的话,估计是你程序未连接到数据库。如果没有,那当然就没有。
[解决办法]

探讨
$row为空  我很纳闷啊  我数据库有数据啊  也按照上面的改了php 代码 为什么还是不行呢  奇怪  崩溃了

[解决办法]
$sql=mysql_query("select * from tb_yonghu where name='$username' and password='$pwd'"); 
$info=mysql_fetch_array($sql); 

print_r($info);
[解决办法]
$sql=mysql_query("select * from tb_yonghu where name='".$username."' and password='".$pwd."'"); 

$sql = "update tb_yonghu set f_logintimes=f_logintimes+1,f_lasttime=now(),f_loginip='".$ip."' where name='".$username."'"; 

都要书写规范

热点排行