Инструкция
1
Давайте организуем самый простой способ защиты страниц от неавторизованных посетителей. Носителем информации о том авторизован ли посетитель будут сессии. Сессия - это аналог кук в браузере, с той только разницей, что создаются они не у нас в компьютере, а на сервере. И используются они для того же, для чего и куки – для хранения разной информации о нас пока мы ходим от страницы к странице одного сайта. Когда мы закрываем браузер, то сервер уничтожает эту сессию, а при следующем нашем заходе создает новую. Этот серверный механизм мы и используем для того чтобы записывать в сессию авторизовался ли уже пользователь или нет. Читая эту информацию, когда посетитель запрашивает страницу, php-скрипт будет либо открывать доступ к запароленным страницам, либо предлагать ввести логин и пароль.

Шаг 1: Создаем страницу для ввода логина и пароля. HTML-код формы авторизации в самом простом варианте может выглядеть так:
<form action="" method="POST">

Логин: <input type="text" name="userName" /><br />

Пароль: <input type="password" name="userPass" /><br />

<input type="submit" name="submit" value="Войти" />

</form>
Сюда же (в самое начало файла) добавим php-код, который будет проверять правильность введенного посетителем логина и пароля. В его начале напишем:
session_start();
Эта команда стартует новую сессию, если ее еще не создано для этого посетителя.
Затем проверим, есть ли в сессии переменная с именем 'userName' - в ней будет храниться имя, если посетитель уже был авторизован. Если такая переменная есть - перенаправим посетителя на главную страницу (index.php) и закончим выполнение этого php-скрипта:
if($_SESSION['userName']){

header("Location: index.php");

exit;

}
Весь остальной код будет выполняться только если пользователь еще не ввел правильного логина и пароля. Укажем которые логин и пароль надо считать правильными:
$validName = 'Я свой!';

$validPass = 'секретный пароль';
Затем проверим - соответствуют ли отправленные из формы значения правильным. Поскольку в форме мы указали метод передачи данных POST, то и читать их следует из суперглобальной переменной $_POST:
if($_POST['userName'] == $validName && $_POST['userPass'] == $validPass) {

$_SESSION['userName'] = $validName;

header("Location: index.php");

exit;

}
Здесь код в фигурных скобках {} будет выполняться при правильных значениях логина и пароля. В строке $_SESSION['userName'] = $validName; ма записываем в сессию переменную с именем 'userName' содержащую логин теперь уже авторизованного пользователя. Это и будет метка о том, что доступ ему открыт повсюду до тех пор, пока действительна его текущая сессия.
А на случай если в форму введены неправильные данные добавим соответствующее сообщение:
else echo "<br />Логин или пароль неверны!<br />";
Весь код, который надо сохранить в файл с именем login.php будет выглядеть так:
<?php

session_start();
if($_SESSION['userName']){

header("Location: index.php");

exit;

}
$validName = 'Я свой!';

$validPass = 'секретный пароль';
if($_POST['userName'] == $validName && $_POST['userPass'] == $validPass) {

$_SESSION['userName'] = $validName;

header("Location: index.php");

exit;

}

else echo "<br />Логин или пароль неверны!<br />";

?>

<br />

<form action="" method="POST">

Логин: <input type="text" name="userName" /><br />

Пароль: <input type="password" name="userPass" /><br />

<input type="submit" name="submit" value="Войти" />

</form>
2
Шаг 2: Создаем блок авторизации - отдельный файл, который будет подключаться к каждой странице, нуждающейся в защите паролем. Этот файл будет содержать только php-код, поэтому расширение у него будет "php", а имя ему дадим по традиции для таких файлов - "auth", то есть "auth.php". И здесь тоже сразу после открывающего тега <?php должна идти инструкция стартовать сессию:
session_start();
Все переменные, которые хранятся в сессии, мы можем прочесть из суперглобального массива $_SESSION. Нам нужно проверить значение переменной "userName" - если посетитель еще не авторизовался, то ее не будет в массиве, и мы перенаправим его на страницу для ввода логина и пароля:
if(!$_SESSION['authorized']){

header("Location: login.php");

exit;

}

Весь код, который надо сохранить в файл auth.php будет выглядеть так:
<?php

session_start();
if(!$_SESSION['admin']){

header("Location: enter.php");

exit;

}

?>
3
Шаг 3: после того, как сохраним эти файлы на сервере, останется во все php-страницы, которые нужно защитить от неавторизованных пользователей подключить блок авторизации. То есть в самое начало каждого php-файла надо будет вставить этот код:

<?php

require "auth.php";

?>

А чтобы изменить пароль доступа нужно будет в файле login.php изменить значения этих переменных:

$validName = 'Я свой!';

$validPass = 'секретный пароль';

$validName - логин, $validPass - пароль.