Главная страница / Программирование на PHP / страница доступа по паролю

При написании страницы для разрешения доступа к меню админа галлереии возникла вот такая проблема --- после того как введен пароль страничка должна дать доступ к меню настроек, но вместо этого снова спрашивается пароль и только после того как он снова введен и отправлен получаешь доступ к меню, т.е. пароль почему-то спрашивается дважды. Листинг странички такой:
if (!isset($_COOKIE["bunya"])):
/*IsSet($bunya) === false*/
if (isset($_POST['passd'])):
if ($_POST['pass'] == 'bubu')
setcookie("bunya","allow", 0, "/", $HTTP_HOST, 0) or die("cannot set cookie");
/*действия если пароль подошел*/
/*если пароль не подошел*/
/* вывод формы для ввода пароля*/
if (isset($mode)):/*mode скрытое поле в форме меню админа*/
/*выполняем действия выбранные пользователем в меню админа*/
/*вывод меню админа*/

Вот скрипт, который я, написав однажды, теперь применяю всегда, когда речь идёт именно о панели админа:
    header("WWW-Authenticate: Basic realm=\"Введите имя и пароль:\"");
    header("HTTP/1.0 401 Unauthorized");
    print "Вам необходимо ввести имя и пароль для доступа к этой странице!\n";
if(((!isset($_SERVER['PHP_AUTH_USER']))&& (!isset($HTTP_SESSION_VARS['gg_fuCnameKEY095rr']))
)||((isset($HTTP_SESSION_VARS['logout']))&&($HTTP_SESSION_VARS['logout']=="1"))){
    $HTTP_SESSION_VARS['logout']="0";
    for($i=0;$i<$l;$i++){
        if($logon!="1"){
            if(((trim($parts[0])==$_SERVER['PHP_AUTH_USER']
)&&(trim($parts[1])==$_SERVER['PHP_AUTH_PW']))){
                                  session_register('gg_fuckingKEY095rr','ht_fingKEna
meTRRErr');
                $gg_fuCnameKEY095rr = $_SERVER['PHP_AUTH_USER'];
                $ht_fingKEpassTRRErr = $_SERVER['PHP_AUTH_PW'];
            }elseif((isset($HTTP_SESSION_VARS['gg_fuCnameKE
Y095rr']))&& (isset($HTTP_SESSION_VARS['ht_fingKEpassTRRErr']))
&& (trim($parts[0])==$HTTP_SESSION_VARS['gg_fuCnameKE
Y095rr'])&& (trim($parts[1])==$HTTP_SESSION_VARS['ht_fingKEpas
sTRRErr'])){
if($logon!="1"){
             // вот тут продолжаем программу, если авторизации пройдена
Этот скрипт нужно качественно вставить в начало каждой страницы, доступ к каторой должен быть защищён веб программирование.
При этом, на одном уровне с файлами с этим скриптом должен находиться файл accounts.txt с текстом вида:
логин1\tпароль1\n
логин2\tпароль2\n
логин3\tпароль3
(т.е. через табуляцию)
Необходимо помнить, чтобы выйти из админки и залогиниться заново, есть файл logout.php:
unset($HTTP_SESSION_VARS['gg_fuCnameKEY095rr'],$HT
TP_SESSION_VARS['ht_fingKEpassTRRErr']);
if((isset($HTTP_SESSION_VARS['logout']))&&($HTTP_SESSION_VARS['logout']==0)){
    $HTTP_SESSION_VARS['logout']=1;
    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=windows-1251\">\n
    print "<font class=\"just_text\">Вы вышли!<br></font>
    <a href=\"index.php\" class=\"all_links\">(Войти снова)</a>";

Главная страница / Программирование на PHP / страница доступа по паролю / Вот скрипт, который я, написав однажды, теперь применяю всегда,