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

    +158

    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
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    <?
    //include('../root/start.php');
    include('start.php');
    
    
    
    
    $hotels_menu_id = GetSettingsParam('hotels_menu_id');
    
    if ($image_id = $_GET['image_id']) {
        $row = mysql_fetch_assoc(mysql_query(
                        'select co.id co_id, co.title co_title, ' .
                        'ci.id ci_id, ci.title ci_title, ' .
                        'h.id h_id, h.title h_title ' .
                        'from ' . _mysql_tbl_prefix . 'countries co ' .
                        'left join ' . _mysql_tbl_prefix . 'cities ci on co.id = ci.country_id ' .
                        'left join ' . _mysql_tbl_prefix . 'hotels h on ci.id = h.city_id ' .
                        'left join ' . _mysql_tbl_prefix . 'hotel_images hi on hi.hotel_id = h.id ' .
                        'where hi.image_id = ' . $image_id));
        echo mysql_error();
    # $src = '../../hotel_images/'.(int)($image_id/2000).'/'.$image_id.'.jpg';
        $src = './hotel_images/' . (int) ($image_id / 2000) . '/' . $image_id . '.jpg';
    }
    ?>
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
            <title>Фото отеля "<?= $row['h_title'] ?>" (<?= $row['ci_title'] . ', ' . $row['co_title'] ?>) - Туроператор</title>
        </head>
        <link rel="stylesheet" href="../hotel_image.css">
        <body>
            <table height="100%" width="100%">
                <tr>
                    <td valign="middle" align="center">
                        <h1 class="hotel-image-title"><?=
    'Фото отеля "<a href="../index.php?menu_id=' . $hotels_menu_id . '&hotel_id=' . $row['h_id'] . '">' . $row['h_title'] . '</a>" ' .
            '(<a href="../index.php?menu_id=' . $hotels_menu_id . '&city_id=' . $row['ci_id'] . '">' . $row['ci_title'] . '</a>, ' .
            '<a href="../index.php?menu_id=' . $hotels_menu_id . '&country_id=' . $row['co_id'] . '">' . $row['co_title'] . '</a>)'
    ?></h1>
                        <a href="#" onClick="window.close()"><img src="<?= $src ?>" class="hotel-image" alt="Фото отеля "<?= $row['h_title'] ?>" (<?= $row['ci_title'] . ', ' . $row['co_title'] ?>)"></a>
                    </td>
                </tr>
            </table>
        </body>
    </html>

    Попросили так сазать исправить))
    я был ошеломлен "магическим числом" 2000

    Запостил: rainerg, 22 Февраля 2011

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

    • SQL инекция? не, не слышал.
      Ответить
    • > я был ошеломлен "магическим числом" 2000
      Кажется - это из-за преобразования типов, пхп ругается когда "многа цифер", особенно на x32 платформах
      --
      echo mysql_error();
      Вот это "красиво". К тому же вообще без условий...
      Ответить
      • Видимо автор не предполагал, что там может не быть ошибки)))
        Ответить
    • и опять windows-1251
      Ответить
    • Это из-за того, что на некоторых системах иметь многие десятки, сотни тысяч файлов в одном каталоге практически невозможно. Поэтому вводится двухуровневая система, по 2000 файлов в подкаталогах.
      Ответить

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