我正在尝试建立一个包含登录页面的网站,但每次我输入电子邮件和密码时,我都会得到错误的凭据"。以下是我的代码,首先是我的HTML代码:
<form class="form-login" action = "check.php">
<div class="errorHandler alert alert-danger no-display">
<i class="fa fa-remove-sign"></i> You have some form errors. Please check below.
</div>
<fieldset>
<div class="form-group">
<span class="input-icon">
<input type="text" class="form-control" name="user" placeholder="Username">
<i class="fa fa-user"></i> </span>
</div>
<div class="form-group form-actions">
<span class="input-icon">
<input type="password" class="form-control password" name="pass" placeholder="Password">
<i class="fa fa-lock"></i>
<a class="forgot" href="#">
I forgot my password
</a> </span>
</div>
<div class="form-actions">
<label for="remember" class="checkbox-inline">
<input type="checkbox" class="grey remember" id="remember" name="remember">
Keep me signed in
</label>
<button type="submit" class="btn btn-green pull-right" name="btn-login"> Login <i class="fa fa-arrow-circle-right"></i></button>
然后我的check.php代码:
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
// username and password sent from form
$myusername=$_POST['user'];
$mypassword=$_POST['pass'];
echo "$myusername";
$sql="SELECT * FROM $tbl_name WHERE email='$myusername' and password='$mypassword'";
$result=mysql_query($sql);
$count=mysql_num_rows($result);
// If result matched $myusername and $mypassword, table row must be 1 row
if($count==1){
// Register $myusername, $mypassword and redirect to file
session_register("myusername");
session_register("mypassword");
header("location:.index2.html");
}
else {
echo "Wrong credentials!";
}
这是我的第一行表格: admins table
我完全输入Korivand.neshat@gmail.com作为用户名,输入123456789作为相关字段中的密码。
答案 0 :(得分:2)
我完全输入Korivand.neshat@gmail.com作为用户名
由于表中的记录为"korivand.neshat@gmail.com"
,如果您的数据库使用区分大小写的比较,那么您输入的用户名不正确。
使用该用户名还可能存在多条记录吗?在这种情况下,您的比较将失败:
if($count==1)
此外,还有一些 非常重要的 备注:
编辑正如@Fred在下面的评论中指出的那样。您的表单正在使用GET方法:
<form class="form-login" action = "check.php">
但您正在检查POST值:
$myusername=$_POST['user'];
要么改变其中一个。