2013-09-15 3 views
0

У меня есть 3 формы все очень похож с wp_editor внутри:

<tr valign="top"> 
    <th scope="row"> 
     <label for="mymessage">Message</label> 
    </th> 
    <td> 
     <?php wp_editor(
      $mymessage, 
      'mymessage', 
      array(
       'media_buttons' => false, 
      ) 
     ) ?> 
     <input type="hidden" id="mymessage" name="mymessage" value=""/> 
    </td> 
</tr> 

На форме представить, первое содержимое редактора переходит в скрытое поле с помощью JavaScript:

$('#my_form').submit(function(){ 
     if ($("#wp-mymessage-wrap").hasClass("tmce-active")){ 
      $('#my_message').val(tinyMCE.activeEditor.getContent()); 
     }else{ 
      $('#my_message').val($('#mymessage').val()); 
     } 
     return true; 
    }); 

Затем он переходит к действию, которое является действием Symfony executeUpdate.
Первая строка в этом действии выводит содержимое $ _POST.
Если я ставлю «привет», как мое сообщение, вот результаты в каждой из форм:

\"hello\" - который получает сохраненные как "hello" - спасся один раз - правильный путь
\\\"hello\\\" - который получает сохраненное в \"hello\" - бежал дважды - дополнительный слэш
\\\\\\\"hello\\\\\\\" - который будет сохранен в \\\"hello\\\" - спасся четыре раза - дополнительные 3 Slashes

Магия Котировки вЫКЛЮЧЕН - Я outputed phpinfo() и проверил.

Почему 3 разных формы сбрасывают сообщение по-разному, и как я могу заставить их всех сбежать только один раз?

Моя форма находится в Wordpress, и действие, которое вызывается, переходит в my api, что является symfony.

Любые идеи будут высоко оценили

ответ

-1

Выключите волшебные кавычки.

Смотрите документацию: http://de3.php.net/magic_quotes особенно http://de3.php.net/manual/en/security.magicquotes.disabling.php

+0

Пожалуйста, прочтите этот вопрос более тщательно, прежде чем ответить , Я написал: «Magic Quotes выключен - я вывел phpinfo() и проверил». – user2306941

+0

Если вы прямо печатаете содержимое $ _POST, и оно содержит обратную косую черту, а функция 'get_magic_quotes_gpc()' возвращает false одной строкой позже, то, вероятно, Javascript виноват. Вы проверили данные запроса POST, например. Firebug? – Sven

+0

Когда я смотрю на консоли Chrome в разделе «Запрос полезной нагрузки», я вижу это значение, но без каких-либо экранов – user2306941

Смежные вопросы