我是PHP和mysql的新手。我试图建立一个登录系统,但我已经陷入困境,无法弄清楚我做错了什么。
我让它工作了一次,但后来又添加了一些功能,现在我不能让它继续工作了。这是代码:
<?php
session_start();
error_reporting(E_ALL ^ E_NOTICE ^ E_ERROR ^ E_WARNING);
require('./pages/connections.php');
if ($con){
if($_SERVER["REQUEST_METHOD"] == "POST")
{
mysqli_set_charset($con,"utf8");
$username=mysqli_real_escape_string($con,$_POST['username']);
$password=mysqli_real_escape_string($con,$_POST['password']);
$sql_query="SELECT Username FROM user WHERE Username='$username' and Password='$password'";
$result=mysqli_query($con,$sql_query);
$row=mysqli_fetch_array($result,MYSQLI_ASSOC);
$count=mysqli_num_rows($result);
if($count == 1)
{
$_SESSION['login_user']=$username;
header("location: home.php");
}
else
{
echo '<div class="center-block" name="errormsgphp" id="errormsgphp">Invalid username or password.</div>';
}
}
}
else
echo '<div class="center-block" name="errormsgphp" id="errormsgphp">Error with database connection.</div>';
?>
它一直把我扔到if($count == 1)
aka的else循环中。无法从数据库中找到对吗?
我几乎100%确定数据库格式正确并正常工作,因为我可以在那里注册用户,并且我的登录工作只是提前一点。 如果有人能发现我的错误,那么我会很高兴!提前谢谢。
答案 0 :(得分:0)
尝试这样我希望这会对你有所帮助
$sql = "SELECT email, password, status FROM agent_register WHERE email='".$email_input."' && password='".$password_input."' && status = 1 ";
$result = mysql_query($sql);
$row = mysql_num_rows($result);
if($row > 0){
$details = mysql_fetch_assoc($result);
$_SESSION['flag'] = true;
echo "<pre>"; print_R($details);
}
答案 1 :(得分:0)
好的,
我现在开始工作,但绝对不知道出了什么问题。我只是将ctrl + z保留回来,以至于我找到了之前正在运行的部分。唯一的区别是我使用较早的if($count==1)
代替if($count == 1)
。也许就是那个或者我的xampp正在弄乱我或者什么......但仍然感谢所有回复!