[英]Can't get the login function to work
我现在在这里坐了三个小时,但我解决不了这个问题。
每次我要登录时都会显示错误(找不到用户)。
这是登录功能:
if($_SERVER['REQUEST_METHOD'] === 'POST' && $_POST['submit']=="login") {
if(!empty($_POST['username']) && !empty($_POST['password']) && checkAnum($_POST['username']) && checkAnum($_POST['password']))
{
$Cmdlogin = "SELECT * FROM database.account WHERE username='".$_POST['username']."' AND password=PASSWORD('".$_POST['password']."') LIMIT 1";
$sqllogin = mysqli_query($sqlHp,$Cmdlogin);
if(mysqli_num_rows($sqllogin)>0)
{
$getAdmin = mysqli_fetch_object($sqllogin);
$_SESSION['user_id'] = $getAdmin->id;
$_SESSION["user_username"] = $getAdmin->username;
}else{echo'error';}
}
}
这是表格:
<FORM action="index.php?s=login" method="POST">
<TD>
<TABLE>
<TR>
<TD align="left">Username</TD>
<TD align="left"><input type="text" name="username" maxlength="15"/></TD>
</TR>
<TR>
<TD align="left">Password</TD>
<TD align="left"><input type="password" name="password" maxlength="30"/></TD>
</TR>
</TABLE>
<BR>
<input type="submit" class="button" value="login" name="submit" />
</FORM>
有人知道哪里出了问题吗? 我不明白 此刻确实让我发疯,stackoverflow是我的最后希望。
编辑:我已修复它。 密码行的长度设置为30,而密码需要30个以上的字母。
添加session_start();
session_start();
$_SESSION['user_id'] = $getAdmin->id;
$_SESSION["user_username"] = $getAdmin->username;
我认为你应该把$ _POST放在变量
$user = $_POST['username'];
$pass = $_POST['password'];
$Cmdlogin = "SELECT * FROM database.account WHERE username='".$user."' AND password=PASSWORD('" . $pass . "')' LIMIT 1";
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.