За последние 24 часа нас посетили 60888 программистов и 1744 робота. Сейчас ищут 993 программиста ...

вопрос к юзерам DbSimple

Тема в разделе "Прочие вопросы по PHP", создана пользователем creage, 6 май 2008.

  1. creage

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

    С нами с:
    12 мар 2008
    Сообщения:
    131
    Симпатии:
    0
    Адрес:
    Киев
    Если кто юзает данную либу от Дмитрия Котерова, помогите с вопросом http://forum.dklab.ru/viewtopic.php?p=155455#155455 , а то на том форуме или все умерли, или считают это ламерским вопросом. Но описк по их форуму ничего не дал.
     
  2. Anonymous

    Anonymous Guest

    Кусок кода, как постишь, покажи.
    Имхо, либа тут не при чем.
     
  3. Вльдемар

    Вльдемар Активный пользователь

    С нами с:
    20 май 2006
    Сообщения:
    635
    Симпатии:
    0
    Адрес:
    Белхород
    Попробуй волшебные кавычки отключить
     
  4. creage

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

    С нами с:
    12 мар 2008
    Сообщения:
    131
    Симпатии:
    0
    Адрес:
    Киев
    сейчас детальнее перечел о волшебных кавычках - думаю дело именно в них. вечером дома попробую, отпишусь.
     
  5. creage

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

    С нами с:
    12 мар 2008
    Сообщения:
    131
    Симпатии:
    0
    Адрес:
    Киев
    короче хрень какая-то.

    по дифолту echo get_magic_quotes_gpc(); возвращает 1. установка
    PHP:
    1. ini_set('magic_quotes_gpc', 0);
    2. ini_set('magic_quotes_sybase', 0);
    (спецом написал все возможное) дает 0, но вот такой элементарный код
    PHP:
    1.  
    2. <?php
    3. ini_set('magic_quotes_gpc', 0);
    4. ini_set('magic_quotes_sybase', 0);
    5. echo $_POST['data'];
    6.     echo <<< HTML
    7.             <form method="post" action="/test.php">
    8.                 <textarea name="data"></textarea>
    9.                 <input type="submit">
    10.             </form>
    11. HTML;
    12. ?>
    при посте даты
    HTML:
    1. <p><a href="/data/Image/758417_20050527172209.jpg">data/Image/758417_20050527172209.jpg</a>
    получаю
    HTML:
    1. <p><a href=\"/data/Image/758417_20050527172209.jpg\">data/Image/758417_20050527172209.jpg</a>           <form method="post" action="/test.php">
    2.                 <textarea name="data"></textarea>
    3.                 <input type="submit">
    4.             </form>
    в коде страницы - т.е. лишнее экранирование. в чем косяк и как лечить?

    UPDATE: сразу полез в доку и на форумы, нашел как насильно отключить эти ипучие волшебные кавычки. короче добавление строки
    PHP:
    1. php_flag magic_quotes_gpc Off
    в .htaccess всю эту хрень вырубило, и сейчас все работает как надо. Только вот не понятно, почему рантайм на эти кавычки не дествовал?
     
  6. Dagdamor

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

    С нами с:
    4 фев 2006
    Сообщения:
    2.095
    Симпатии:
    1
    Адрес:
    Барнаул
    creage
    Потому, что _сначала_ PHP генерирует список входных параметров для твоего скрипта, и только _потом_ запускается скрипт и переключает твои настройки.
    Изменение в .htaccess - единственный способ, хотя имхо, уважающий себя скрипт вообще-то должен такие ситуации обрабатывать корректно...
     
  7. creage

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

    С нами с:
    12 мар 2008
    Сообщения:
    131
    Симпатии:
    0
    Адрес:
    Киев
    так ведь я указывал set_magic_quotes_runtime(0); ini_set('magic_quotes_gpc', 0); перед обработкой всех GPC, но эти настройки никак не влияют на GPC, и почему это так - я не понял. Т.е. если в главном ини прописано ON для меджик квот - то изменить их можно только через .htaccess, что для меня является странным. Это баг, или у меня крывые руки?
     
  8. Dagdamor

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

    С нами с:
    4 фев 2006
    Сообщения:
    2.095
    Симпатии:
    1
    Адрес:
    Барнаул
    creage
    Еще раз, смотри хронологию событий:
    1. Юзверь запрашивает скрипт.
    2. PHP генерирует входные данные, т.е. создает массивы _GET, _POST и т. п.
    3. PHP запускает скрипт.
    4. Отключаются волшебные кавычки (но это ни на что не влияет, т.к. массивы уже сформированы).