注意:尝试在第18行的C:\ xampp \ htdocs \ pap \ confirme.php中获取非对象的属性

时间:2015-10-22 18:33:01

标签: php login

用户输入用户名和密码后,检查它是否是有效用户和有效密码。但是当我尝试登录时,我不断收到此错误。

<?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();
?>

1 个答案:

答案 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
  }