Potresti semplicemente creare una tabella degli utenti (con un db o un semplice file .txt o un array dentro il codice: se devi scegliere un db solo per questo ti consiglio sqlite, se hai già un db aggiungi una tabella apposta) con id, username, password (eventualmente codificata p.es. in md5 o altro), tipologia (ti consiglio un valore numerico progressivo: 0 ospite, 1 utente, ... 5 admin) e usa poi le variabili di sessione.
All'accesso di ogni pagina protetta richiama con un inclusione un file tipo "login.php" il quale verifica se è già impostata una variabile di sessione per un utente attivo, se no mostra all'utente un form di accesso (che effettua eventualmente il login vero e proprio).
Potresti anche fare una funzioncina tipo:
Codice PHP:
function Permission($level) {
$USER = ((isset($_SESSION['USER']))?($_SESSION['USER']):(false));
if (!$USER) {
// ... redireziona al login
};
return (LevelOf($USER)>=$level);
};
...dove LevelOf($USER) restituisce il livello (tipologia) dell'utente indicato
Dentro ogni pagina fai un controllo tipo:
Codice PHP:
if (!Permission(3)) { // ipotizzando una pagina di tipo "3"
// ...accesso vietato...
};