Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Несколько вопросов по Коду

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
acter1kc
Отправлено: 27 Августа, 2011 - 17:34:00
Post Id



Новичок


Покинул форум
Сообщений всего: 8
Дата рег-ции: Авг. 2011  


Помог: 0 раз(а)




Вот код:
PHP:
скопировать код в буфер обмена
  1. <?
  2. //Устанавливаем соединение с базой данных
  3. require_once("config.php");
  4. if (!isset($_SERVER['PHP_AUTH_USER']))
  5. {
  6.  Header("WWW-Authenticate: Basic realm=\"Admin Page\"");
  7.  Header("HTTP/1.0 401 Unauthorized");
  8.  exit();
  9. }
  10. else {
  11.  {
  12.   $_SERVER['PHP_AUTH_USER'] = mysql_escape_string($_SERVER['PHP_AUTH_USER']);
  13.   $_SERVER['PHP_AUTH_PW'] = mysql_escape_string($_SERVER['PHP_AUTH_PW']);
  14.  }
  15.  $query = "SELECT pass FROM userlist
  16.           WHERE name='{$_SERVER[PHP_AUTH_USER]}'";
  17.  $lst = @mysql_query($query);
  18.  if (!$lst){
  19.   header("WWW-Authenticate: Basic realm=\"Admin Page\"");
  20.   header("HTTP/1.0 401 Unauthorized");
  21.   exit();
  22.  }
  23.  if (mysql_num_rows($lst) == 0){
  24.    header("WWW-Authenticate: Basic realm=\"Admin Page\"");
  25.    header("HTTP/1.0 401 Unauthorized");
  26.    exit();
  27.  }
  28.  $pass = @mysql_fetch_array($lst);
  29.  if (md5($_SERVER['PHP_AUT_PW']) != $pass['pass']){
  30.   header("WWW-Authenticate: Basic realm=\"Admin Page\"");
  31.   header("HTTP/1.0 401 Unauthorized");
  32.   exit();
  33.  }          
  34. } // end of first if
  35. ?>

Взят наверно как вы уже поняли из книги Кузнецова "Практика Создания Веб-сайтов" в теме про Базовую Аутентификацию.
У меня возникло пара вопросов:
1) Первый вопрос касается подключение файла config.php с помощью require_once("config.php"); Я ни понимаю откуда берется этот файл, Автор пишет что подключаем базу даннных (В базе я предварительно создал таблицу со значениями).
2) Второй вопрос - Никак ни пойму для чего нужен символ @ в этой фразе $lst = @mysql_query($query);. Подскажите где можно про него побольше узнать.
 
 Top
vlom
Отправлено: 27 Августа, 2011 - 17:44:16
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 681
Дата рег-ции: Окт. 2010  
Откуда: Екатеринбург


Помог: 4 раз(а)




1) в этом файле и идет подключение к БД, книги у меня такой нет, поэтому не могу сказать точно откуда он берется, а так он расположен в тойже директории в которой файл с
приведенным выше листингом
Может где в предыдущих главах книги был описан код файла config.php?
посмотрите

2) собака (@) игнорирует ошибки в выражении перед которым поставлено
 
 Top
acter1kc
Отправлено: 28 Августа, 2011 - 14:00:01
Post Id



Новичок


Покинул форум
Сообщений всего: 8
Дата рег-ции: Авг. 2011  


Помог: 0 раз(а)




Большое спасибо. Теперь стало понятнее Закатив глазки
А файл config.php я и правда нашел в предыдушей главе.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Работа с СУБД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB