Hacer que el inicio de sesión sea más seguro

He usado este código para iniciar sesión como administrador. loginhome.php debe abrirse solo cuando un usuario ingresa el nombre de usuario y contraseña correctos. Pero luego, me di cuenta de que esto no es seguro en absoluto. cualquiera podría ir directamente a mywebsite / loginhome.php sin iniciar sesión. Después de cerrar sesión, loginhome.php se puede abrir con el botón Atrás. ¿Cómo puedo hacer esto de manera más segura?

<?php

$submit=isset($_POST['submit']);
if($submit)
{
    $first=$_POST['first'];
    $password=$_POST['password'];
    $db = new mysqli("localhost", "root","","learndb");
    $sql = "select * from admin where username = '" . $first . "' and password = '". $password . "'";
    $result = $db->query($sql);
    $result=mysqli_num_rows($result);

  if($result>0)
{

     include_once "loginhome.php";

}
else
{
    include_once"errorlogin.php";
}   

Aquí está el formulario html si es necesario.

<form method="post" action="input.php">
Username:<input type="Text" name="first"><br>
password:<input type="password" name="password"><br>
<input type="submit" name="submit" value="LOGIN">
</form>

Respuestas a la pregunta(1)

Su respuesta a la pregunta