[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как вам курсы Попова ?
Страницы: 1, 2, 3, 4, 5, 6, 7, 8
glock18
Krevedko
большие и очень

1. вывод неформатированных данных printf
2. смешение html и php.
3. код плохо читается. не видно четко начало и конец блоков.

в общем, все перечислять даже смысла нет. лично я вижу в каждой из этих строк хотя бы маленький недочет. собственно вижу и нелогичность, которая вряд ли оправдана.
конкретно -
PHP
if ($alp[alp]==Z) break;}
twin
Ну и я один раз напишу для наглядности.

PHP
<?php           
             while 
($alp = mysql_fetch_array ($result))
             {printf ("<a href='alp.php&al=%s'>%s</a>", $alp[id], $alp[alp]);
             echo " ";
             if ($alp[alp]==Z) break;}
             echo "<br>";
             while ($alp = mysql_fetch_array ($result))
             {printf ("<a href='alp.php&al=%s'>%s</a>", $alp[id], $alp[alp]);
             echo " ";  }


1. $alp - что обозначает? Если эта переменная находится в зоне видимости (визуальной), то можно сообразить, что массив значений, и то приходится отвлекаться, что бы разобраться в этом. Читаем мануал: Возвращает массив с обработанным рядом результата
Логично назвать переменную $row или $rows на худой конец. Тогда ясно, что это такое.
2. Применение mysql_fetch_array() тут неоправдано, потому что используется только ассоциативный массив. Бережливее и прозрачнее, а значит уместнее тут mysql_fetch_assoc()
3. Открывающая фигурная скобка спрятана так, что не сразу её разглядишь.
4. Использование printf вообще моветон. Очень путанная и непрозрачная конструкция.
5. При обращении к элементам ассоциативного массива обязательно нужно ставить апострофы, так как иначе это интерпретируется не как строка, а как константа.
6. Стиль не выдержан. Операторы сравнения не отделены пробелом, хотя выше это сделано.
7. Что такое Z? Константа? Если да, то она должна быть осмысленной, отображать суть. Если строка - то в апострофах.
8. оператор break стоит в одной строке с if, что путает. Потому что не сразу ясно, что он относится к циклу.
9. Закрывающая фигурная скобка спрятана не лучше открывающей.
10. Теперь ляп. Очень серьёзный. Текст из базы выводится в браузер без предварительной обработки. Это чревато кривостью отображения в лучшем случае, XSS в худшем.
Второй цикл аналогично. Так что почти каждый знак этого кода - кривой. Про логику отдельная тема, я не буду затрагивать. Ровно как и разделение её с представлением.

Теперь найди 10 отличий:

PHP
while ($row = mysql_fetch_assoc ($result))
{
  $row = array_map('htmlspecialchars', $row);

  echo '<a href="alp.php&al='.$row['id'].'">'.$row['alp'].'</a> ';

    if ($row['alp'] == 'Z')
    break;
}
echo "<br />";


_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.