文章目录[隐藏]
<?phpsession_start(); class chkuserlogin{ private $username; private $password; public function __construct($username,$password){ $this->username=$username; $this->password=$password; require_once("connn.php"); $sql=mysql_query("select account from root where username='".$this->username."' and password='".$this->password."'",$conn); $info=mysql_fetch_array($sql); if($info==false){ echo "<script>alert('用户名或密码输入错误!');history.back();</script>"; exit; }else{ if($_SESSION["unc"]!=""){ session_unregister("unc"); } session_register("unc"); $_SESSION["unc"]=$this->username; mysql_query("update root set logintimes=logintimes+1,lastlogintime='".date("Y-m-d H:i:s")."'",$conn); echo "<script>alert('登录成功!');window.location.href='login.php';</script>"; } } } $obj=new chkuserlogin($_POST["username"],md5($_POST["password"])); $obj->chk();?>
登录验证的一小段代码 我数据库为 localhost root 无密码 , 我数据库已保存了一组密码。 无限密码错误 跳转页面 而且也报错
= – 求解脱 拜谢
回复讨论(解决方案)
$sql=mysql_query("select account from root where username='".$this->username."' and `password`='".$this->password."'",$conn);//17行password外面加``,与mysql函数冲突
请两个错误是在这句出现的
$obj=new chkuserlogin($_POST[“username”],md5($_POST[“password”]));
你可能不是在 post 方式下执行的程序
也可能提交过来的名字不对
var_dump($_POST);
= – 各位大神 我还是不知道怎么改 新手没学几天
你是怎么执行这个程序的
<meta charset="utf-8" /> <title>Administrator</title> <link href="./css/bootstrap.min.css" rel="stylesheet" /> <link href="./css/bootstrap-responsive.min.css" rel="stylesheet" /> <link href="./css/font-awesome.css" rel="stylesheet" /> <link href="./css/adminia.css" rel="stylesheet" /> <link href="./css/adminia-responsive.css" rel="stylesheet" /> <link href="./css/pages/login.css" rel="stylesheet" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <body> <div class="navbar navbar-fixed-top"> <div class="navbar-inner"> <div class="container"> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> Admin <div class="nav-collapse"> </div> <!---ecms -ecms -ecms /nav-collapse --> </div> <!---ecms -ecms -ecms /container --> </div> <!---ecms -ecms -ecms /navbar-inner --> </div> <!---ecms -ecms -ecms /navbar --><div id="login-container"> <div id="login-header"> <h3>欢迎登陆用户保用注册后台</h3> </div> <!---ecms -ecms -ecms /login-header --> <div id="login-content" class="clearfix"> <fieldset> <div class="control-group"> <label class="control-label" for="username">用户名:</label> <div class="controls"> </div> </div> <div class="control-group"> <label class="control-label" for="password">密码:</label> <div class="controls"> </div> </div> </fieldset> <div id="remember-me" class="pull-left"> <label id="remember-label" for="remember">Remember Me</label> </div> <div class="pull-right"> <button type="submit" class="btn btn-warning btn-large"> Login </button> </div> </div> <!---ecms -ecms -ecms /login-content --> </div> <!---ecms -ecms -ecms /login-wrapper --> <!---ecms -ecms -ecms Le javascript================================================== --><!---ecms -ecms -ecms Placed at the end of the document so the pages load faster --><script src="./js/jquery-1.7.2.min.js"></script><script src="./js/bootstrap.js"></script> = - 用这个 页面
<?phperror_reporting(0);$mysql_servername = "localhost"; //主机地址$mysql_username = "root"; //数据库用户名$mysql_password =""; //数据库密码$mysql_database ="root"; //数据库mysql_connect($mysql_servername , $mysql_username , $mysql_password);mysql_select_db($mysql_database); $username=$_POST['username'];$passowrd=$_POST['password'];if ($username && $passowrd){ $sql = "SELECT * FROM account WHERE username = '$username' and password='$passowrd'"; $res = mysql_query($sql); $rows=mysql_num_rows($res); if($rows){ header("refresh:0;url=login.php");//跳转页面,注意路径 exit; } echo "<script language=javascript>alert('用户名密码错误');history.back();</script>";}else { echo "<script language=javascript>alert('用户名密码不能为空');history.back();</script>";}?>
我重新写了这个代码 不用那个链接的 这个没报错了 但是无限用户名 密码不能为空 不管怎么输入
<meta charset="utf-8" /> <title>Administrator</title> <link href="./css/bootstrap.min.css" rel="stylesheet" /> <link href="./css/bootstrap-responsive.min.css" rel="stylesheet" /> <link href="./css/font-awesome.css" rel="stylesheet" /> <link href="./css/adminia.css" rel="stylesheet" /> <link href="./css/adminia-responsive.css" rel="stylesheet" /> <link href="./css/pages/login.css" rel="stylesheet" /> <meta http-equiv="Content-Type" content="text/html; charset=u<strong style="color:transparent">本文来源gao@daima#com搞(%代@#码@网&</strong><strong>搞gaodaima代码</strong>tf-8" /> <body> <div class="navbar navbar-fixed-top"> <div class="navbar-inner"> <div class="container"> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> Admin <div class="nav-collapse"> </div> <!---ecms -ecms -ecms /nav-collapse --> </div> <!---ecms -ecms -ecms /container --> </div> <!---ecms -ecms -ecms /navbar-inner --> </div> <!---ecms -ecms -ecms /navbar --><div id="login-container"> <div id="login-header"> <h3>欢迎登陆用户保用注册后台</h3> </div> <!---ecms -ecms -ecms /login-header --> <div id="login-content" class="clearfix"> <fieldset> <div class="control-group"> <label class="control-label" for="username">用户名:</label> <div class="controls"> </div> </div> <div class="control-group"> <label class="control-label" for="password">密码:</label> <div class="controls"> </div> </div> </fieldset> <div id="remember-me" class="pull-left"> <label id="remember-label" for="remember">Remember Me</label> </div> <div class="pull-right"> <button type="submit" class="btn btn-warning btn-large"> Login </button> </div> </div> <!---ecms -ecms -ecms /login-content --> </div> <!---ecms -ecms -ecms /login-wrapper --> <!---ecms -ecms -ecms Le javascript================================================== --><!---ecms -ecms -ecms Placed at the end of the document so the pages load faster --><script src="./js/jquery-1.7.2.min.js"></script><script src="./js/bootstrap.js"></script> = - 用这个 页面
你的用户名和密码没有提交过去啦
红色框框分别加上
name=”username”
name=”password”
再试试
非常感谢 各位的帮助 让我在这条路上不至于不知道如何继续 问题已解决