1. PHP / Говнокод #3251

    +149

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    $sql = " SELECT *, DATE_FORMAT( `date`, '%d.%m.%y %H:%i:%s' ) as `date` FROM `messages` ORDER BY `id` DESC LIMIT {$n->start()},".PNUMBER;
    	if ( $qr=mysql_query( $sql ) )
    	{
    		
    			while ( $row = mysql_fetch_assoc( $qr ) )
    			 {
    				echo htmlspecialchars( $row['name'] ).' ['.htmlspecialchars( $row['date'] ).']<br>';
    				echo smile( htmlspecialchars( $row['message'] ) ).'<br>';
    				if ( $row['otvet'] )
    					echo '<b>Ответ: '.smile( htmlspecialchars( $row['otvet'] ) ).'</b><hr>';
    				else
    					echo '<hr>';
    			}
    	}
    	else 
    	{
    		echo 'Произошла системная ошибка';
    		mysql_function_error( 'Возникла ошибка при запросе. SQL: '.$sql.'|ERROR: '.mysql_error( ) );
    	}

    ...

    Запостил: lugaro, 17 Мая 2010

    Комментарии (9) RSS

    • Где грех?
      Ответить
    • Ну разве что htmlspecialchars() можно было сформировать в метод и обработать полученные данные скопом. И echo внутри цикла можно заменить на sprintf(), а шаблон определить вне цикла.
      Как-то так.
      Ответить
    • Зачем при каждом выводе сообщения, поля пропускать через htmlspecialchars, если это можно сделать один рас при добавлении поста, ладно еще когда этого требует случай, а тут обычная гостя и не где исходный пост c кусками html не нужен, на кройняк можно и htmlspecialchars_decod воспользоваться, вить вывод поста пропущенный через htmlspecialchars нужен чаше чем исходный, это лишнее действие, далее htmlspecialchars( $row['date'] ) а это то поле зачем пускать через htmlspecialchars, если оно получено от сервера DATE_FORMAT( `date`, '%d.%m.%y %H:%i:%s' ) as `date` и в нем и подавно не может быть нежелаемых символов
      Ответить
      • Ну это все верно и правильно, конечно, но не говнокод =)
        Ответить
        • По моему только этого htmlspecialchars( $row['date'] ) достаточно для путевки в говнокод ))
          Ответить
        • Оба варианта имеют право на жизнь. Главное не заморачиваться.
          Ответить
      • Я htmlspecialchars'ом обрабатываю, когда данные в форму идут.
        А так — нет. Фильтрую на входе.
        Ответить
      • моя говорить твоя рюский зная харашо
        Ответить

    Добавить комментарий