大家好我正在尝试为学校项目制作一个简单的登录系统,当我没有实现数据库时,我让它工作。但正如你现在可以看到我试图实现数据库它不能很好地工作,因为我无法在回声的开始和结束时制作PHP标签,无论如何谁能帮助我? 正如我所说的那样,当我刚写了一个随机的用户名和密码,并且没有任何数据库的东西。
<?php
session_start();
include('../inc/dbconnection_inc.php');
$result=mysqli_query($dbconnection, 'SELECT * FROM users');
$row=mysqli_fetch_array($result);
$p=$_POST['password'];
$u=$_POST['username'];
if ($u==echo $row["username"] AND $p==echo $row["password"]);
{
$_SESSION['username'] = echo $row["username"];
header("Location: admin.php");
}
else
{
header("Location: ../index.php");
}
答案 0 :(得分:0)
我不确定你需要echo
。根据手册,echo不返回任何内容。
尝试从代码中删除所有echo
,例如
...
if ($u === $row["username"] && $p === $row["password"])
{
$_SESSION['username'] = $row["username"];
header("Location: admin.php");
}
(我通常使用&&
代替AND
,这也可能是原因)
除了你的代码只检查第一个获取的行(我想你知道吗?)
答案 1 :(得分:0)
$p=$_POST['password'];
$u=$_POST['username'];
$query = 'SELECT * FROM users WHERE username = ?';
if($result=mysqli_query($dbconnection, $query)){
mysqli_stmt_bind_param($result, "s", $u);
mysqli_stmt_execute($result);
$row=mysqli_fetch_array($result);
if ($u == $row["username"] && $p == $row["password"]);
{
$_SESSION['username'] = echo $row["username"];
header("Location: admin.php");
}
else
{
header("Location: ../index.php");
}
}else{
//fail
}