In tutte le pagine "protette" metti questo pezzo di codice
Codice PHP:
session_start();
if(!isset(
$_SESSION["autorizzato"]))
  
header("Location: nonautorizzato.php"
Che manderà alla pagina "nonautorizzato.php" l'utente che non ha ancora messo la password

In una pagina a tua scelta (anche nonautorizzato.php) metti un form con la password da inviare
Codice PHP:
<form method="post" action="autorizza.php">
<
input type=password name="pass" value="">
<
input type="submit" name="invia" value="invia">
</
form
E infine crei la pagina autorizza.php
Codice PHP:
if(!isset($_POST["pass"]))
  
header("Location: nonautorizzato.php");
$pass htmlentities($pass);
if(
$pass != "miapassword")
  
header("Location: nonautorizzato.php");
session_start();
$_SESSION["autorizzato"] = true;
header("Location: 'dovetipare.php'); 

Ovviamente dovrai sostituire il controllo
if($pass != "miapassword")

Con qualcosa di tuo gusto, come il confronto con un valore del database, magari criptato con md5