За последние 24 часа нас посетили 55345 программистов и 1622 робота. Сейчас ищет 1181 программист ...

Смещение HTML в места php

Тема в разделе "PHP для новичков", создана пользователем Intrerio, 18 апр 2017.

  1. Intrerio

    Intrerio Активный пользователь

    С нами с:
    20 мар 2015
    Сообщения:
    176
    Симпатии:
    7
    Словом опять проблема.
    Начали пеерводить проект на MVC. Проделали колосальную работу и дошли до этапа перемещения проекта на онлайн сервер. Весь процес перевода проходил на локальному сервере под управлением OpenServer. Когда выбросили на основной сервер получили интересную проблемку:
    Есть меню в представлении:
    Линк1
    Линк2
    Линк3
    Каждый линк внедрен в пхп проверку:
    PHP:
    1. <?php if(Sys::checkRule('add_oscpv')): ?>
    Линк1
    PHP:
    1. <?php endif; ?>
    А вот и сама проблема, на локальном сервере все линки сбиты четко друг под другом, а вот на рабочей машине между линками отступы появляются:
    Линк1

    Линк2

    Линк3

    Понимаю что копать нужно в настройки PHP но куда именно не понимаю. Помогите люди добрые
     
  2. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.866
    Симпатии:
    753
    Адрес:
    Татарстан
    это как вы определили в какую сторону копать то?
    Вообще изменение визуального отображения - из другой оперы
    посмотрите в инспекторе html - не появляется ли лишних символов невидимых, типа перевода страницы,
    может дело - то что в разных браузерах смотрите, может еще что - причин миллион, вы хотя б ссылку на проект на хосте дали, чтоб можно было что-то предположить
     
  3. Intrerio

    Intrerio Активный пользователь

    С нами с:
    20 мар 2015
    Сообщения:
    176
    Симпатии:
    7
    Никаких символов не доавляеться.
    Вот новое наблюдение:
    Есть метод checkRule в классе Sys
    PHP:
    1. $db = Db::getConnection();
    2.         $usr = User::getUserById($_SESSION['user']);
    3.         $sql = 'SELECT rules,actions FROM `user_group` WHERE id = :id';
    4.         $result = $db->prepare($sql);  
    5.         $result->bindParam(':id',$usr['grupa'],PDO::PARAM_INT);
    6.         $result->execute();
    7.         $rules = $result->fetch();
    8.         $explode = explode(",",$rules['actions']);
    9.         $explode1 = explode(",",$rules['rules']);
    10.         if(in_array($action,$explode) or in_array($action,$explode1)){
    11.           return true;                    
    12.         }
    13.        
    Если убрать все и оставить лишь return true то с линками все ок,но если же вернуть все обратно то линки опять лезут вниз
     
  4. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.866
    Симпатии:
    753
    Адрес:
    Татарстан
    Без ссылки на работающий пример телепатов нема.
     
  5. Intrerio

    Intrerio Активный пользователь

    С нами с:
    20 мар 2015
    Сообщения:
    176
    Симпатии:
    7
    Не могу пока открыть доступ. Только вечером смогу прогрузить на тестовый сервер. Такое впечетление что с вызовом метода подтягуется еще что то, но через var_dump я получаю лишь bool(true) тоесть ничего лишнего не должно быть
     
  6. Intrerio

    Intrerio Активный пользователь

    С нами с:
    20 мар 2015
    Сообщения:
    176
    Симпатии:
    7
    Решил переписать шалон. Отпишусь после теста что из этого получилось
    --- Добавлено ---
    Кстати еще одну фишку заметил.После переноса на основной сервер сверху появилась белая полоса. Просто весь шаблон сполз вниз. Высота полосы на один символ.Сейчас поменяю шаблон и отпишусь че из этого вышло
     
  7. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    А потом удивляются, почему я рекомендую сразу на линуксе разрабатывать, а не городить деплой с винды на линь.
    Есть вероятность, что где-то в верстке используется \n, и где-то верстка прогоняется через nl2br, которая на винде могла не обрабатывать \n без \r перед ним. А на линуксе обрабатывает. Там по-другому перевод строки обозначается. Это на вскидку. А так..открываете исходный код страниц так и там (исходный код, а не построенное DOM-дерево). И сравниваете каким-нибудь diff_ом, чтобы найти разницу. И ищете причины.
     
  8. Intrerio

    Intrerio Активный пользователь

    С нами с:
    20 мар 2015
    Сообщения:
    176
    Симпатии:
    7
    UTF без BOM в файле настройки соединения с БД решила проблему :)