用户输入用户名和密码后,检查它是否是有效用户和有效密码。但是当我尝试登录时,我不断收到此错误。
<?php
session_start();
$servername = "localhost";
$username = "localhost";
$password = "123456789";
$dbname = "escuteiros_db";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT ID, Utilizador, Password FROM criancas";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
if ($_POST['username'] == $row["Utilizador"] && $_POST['password'] == $row["Password"]) {
$_SESSION['Utilizador'] = $_POST['username'];
header("Location: Homepage.php");
}
if ($_SESSION['Utilizador'] == "Administrador"){
header("Location: HomepageAdmin.php");
}else{
$message = "Username and/or Password incorrect.\\nTry again.";
echo "<script type='text/javascript'>alert('$message');</script>";
header("Location: Homepage.php");
}
}
}
$conn->close();
?>
答案 0 :(得分:0)
你的问题与$ result不是对象的事实有关。
你有
$result = $conn->query($sql);
之后$ result不是对象。要检查,请按照AbraCadaver在该行后的建议并检查$ result是否实际上是一个对象。
$result = $conn->query($sql);
if(!$result) {
echo $conn->error;
}
if($result && $result->num_rows > 0) {
//your code here
}