Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.02.2009, 00:40   #1
Lain
Новичок
Джуниор
 
Аватар для Lain
 
Регистрация: 17.02.2009
Сообщений: 2
Вопрос Вход в админку (PHP)

Короче суть в том, что делаю вход в админку для троих админов. У каждого - свои привилегии по управлению сайтом. Механизм следующий - вход через скрипт, который выдаёт окошко браузера при попытке зайти на страницу админки. В базе - таблица с тремя паролями, точнее - парами - пароль-логин. Всё работает, вводе любой из пар пропускает на страничку. А вот только как мне теперь вычислить того, кто зашёл?.. ведь для каждого - свои формы и кнопки для управления...

Вот скрипт:

PHP код:
<?php
include("blocks/db.php");
if (!isset(
$_SERVER['PHP_AUTH_USER']))

{
        
Header ("WWW-Authenticate: Basic realm=\"ENTER YOUR LOGIN & PASSWORD\"");
        
Header ("HTTP/1.0 401 Unauthorized");
        exit();
}

else {
        if (!
get_magic_quotes_gpc()) {
                
$_SERVER['PHP_AUTH_USER'] = mysql_escape_string($_SERVER['PHP_AUTH_USER']);
                
$_SERVER['PHP_AUTH_PW'] = mysql_escape_string($_SERVER['PHP_AUTH_PW']);
        }

        
$query "SELECT pass FROM admins WHERE user='".$_SERVER['PHP_AUTH_USER']."'";
        
$lst = @mysql_query($query);

        if (!
$lst)
        {
            
Header ("WWW-Authenticate: Basic realm=\"ERROR !!!\"");
        
Header ("HTTP/1.0 401 Unauthorized");
        exit();
        }

        if (
mysql_num_rows($lst) == 0)
        {
           
Header ("WWW-Authenticate: Basic realm=\"ERROR !!!\"");
           
Header ("HTTP/1.0 401 Unauthorized");
           exit();
        }

        
$pass =  @mysql_fetch_array($lst);
        if (
$_SERVER['PHP_AUTH_PW']!= $pass['pass'])
        {
            
Header ("WWW-Authenticate: Basic realm=\"ERROR !!!\"");
           
Header ("HTTP/1.0 401 Unauthorized");
           exit();
        }


}




?>
Форматируйте код!! //модератор

Последний раз редактировалось SkyM@n; 26.02.2009 в 00:47.
Lain вне форума Ответить с цитированием
Старый 26.02.2009, 03:11   #2
mv28jam
Старожил
 
Аватар для mv28jam
 
Регистрация: 09.09.2008
Сообщений: 2,624
По умолчанию

А вот сюда - $_SERVER['PHP_AUTH_USER'], разве не логин пользователя пишется?
Изучайте то что используете!
Если Ваш вопрос с "программистского" языка перевести на "человеческий"
получиться:"Как узнать имя человека, который только что сказал мне своё имя?"
Стрелок-охотник
mv28jam вне форума Ответить с цитированием
Старый 27.02.2009, 21:31   #3
FANATID
Пользователь
 
Регистрация: 12.02.2009
Сообщений: 62
По умолчанию

добавьте в базе ещё какой-нибудь столбец, например id
а по id уже определяйте, кто какими правами обладает.
mv28jam, $_SERVER['PHP_AUTH_USER'] это и есть логин
FANATID вне форума Ответить с цитированием
Старый 28.02.2009, 04:06   #4
mv28jam
Старожил
 
Аватар для mv28jam
 
Регистрация: 09.09.2008
Сообщений: 2,624
По умолчанию

Цитата:
mv28jam, $_SERVER['PHP_AUTH_USER'] это и есть логин
ой, спасибо, а я и не знал
Все кругом такие умные одна я дурочка.
Стрелок-охотник
mv28jam вне форума Ответить с цитированием
Старый 01.03.2009, 22:13   #5
Lain
Новичок
Джуниор
 
Аватар для Lain
 
Регистрация: 17.02.2009
Сообщений: 2
Восклицание

Модератор! Удалите пожалуйста эту тему...
Lain вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вход limon PHP 4 14.01.2009 17:46
на сайте (через админку) не сохраняется информация Ниолай Свободное общение 4 21.10.2008 21:08
Вход после activation date expired Artificial Операционные системы общие вопросы 4 08.08.2008 21:42
Вход под одним пользователем Mihael Безопасность, Шифрование 3 21.11.2007 12:14