Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Практика создания web-сайтов (2-е изд.), TOPFORUM.PHP
 
 автор: Leklerk   (16.11.2009 в 11:50)   письмо автору
 
 

Выдержка из UTILS / TOPFORUM.PHP:
if (empty($title))
{
    // Предотвращаем SQL-инъекцию
    $id_forum = intval($_GET['id_forum']);
    // Извлекаем название форума
    $query = "SELECT name FROM $tbl_forums
              WHERE id_forum = $id_forum AND
                    hide != 'hide'";
    $frm = mysql_query($query);
    if (!$frm)
    {
        throw new ExceptionMySQL(mysql_error(),
            $query,
                              "Ошибка при выборке
                               названия форума");
    }
    if (mysql_num_rows($frm)) $title = @mysql_result($frm, 0);
}
if (!isset($title)) $title = $titleall;

Разве isset($title) может когда-нибудь вернуть FALSE?

  Ответить  
 
 автор: Trianon   (16.11.2009 в 14:00)   письмо автору
 
   для: Leklerk   (16.11.2009 в 11:50)
 

если до приведенного фрагмента переменной не было, а SELECT не вернул ни одной строки - вполне.

[поправлено модератором]

  Ответить  
 
 автор: Leklerk   (18.11.2009 в 10:44)   письмо автору
 
   для: Trianon   (16.11.2009 в 14:00)
 

Да, вы правы, действительно может. Я только не понимаю, зачем писать проверку if (empty($title)), если до этого $title не определялась...

  Ответить  
 
 автор: Valick   (18.11.2009 в 10:47)   письмо автору
 
   для: Leklerk   (18.11.2009 в 10:44)
 

может глобалом просквозило?)

  Ответить  
 
 автор: Leklerk   (18.11.2009 в 10:52)   письмо автору
 
   для: Valick   (18.11.2009 в 10:47)
 

Да, наверно на случай включенной register_globals. Но в книге считается, что она Off.

  Ответить  
 
 автор: Valick   (18.11.2009 в 10:54)   письмо автору
 
   для: Leklerk   (18.11.2009 в 10:52)
 

плевать на регистргобалс)) переменную можно и определить как глобальную насильственным образом)

  Ответить  
 
 автор: Leklerk   (18.11.2009 в 14:00)   письмо автору
 
   для: Valick   (18.11.2009 в 10:54)
 

Нет, Valick, такого там точно нет.

  Ответить  
 
 автор: cheops   (19.11.2009 в 15:57)   письмо автору
 
   для: Leklerk   (16.11.2009 в 11:50)
 

>Разве isset($title) может когда-нибудь вернуть FALSE?
Конечно, переменная может быть не определена ни в самом файле не за его пределами. topfourm.php высутпает как включаемый файл, поэтому isset() в нем более чем уместен.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования