2012-06-01 2 views
0

Я использую скрипт phpMyDataGird для редактирования таблиц базы данных MySQL через Интернет без использования PhpMyAdmin (я просто использовать PhpMyAdmin для управления значениями, но этот скрипт для управления данными)где поставить htmlspecialchars()

Проблема возникает когда я добавляю HTML в поле. Я хочу видеть их как код и не позволять им трансформироваться.

Это пример того, как выглядит script. Если вы нажмете на поле, вы сможете его отредактировать. В первой строке второй столбец я написал <i><b>someone</b></i>, и, как вы можете видеть, он не показывает код, но выделен полужирным шрифтом и выделен курсивом.

Это main page сценария, где я добавляю свою информацию о MySQL и изменяю параметры, и эта главная страница подключена к page, где написан весь сценарий.

Может кто-нибудь взглянуть на эти страницы и рассказать мне, где добавить вызов htmlspecialchars(), потому что я пытался, но он не работает.

+1

Показать нам ** ваш код **. – Romain

+2

Я опубликовал ссылки на слова «Сценарий» (экзамен) «Главная страница» и «Страница» (страница сценария) Спасибо :)! – Meh

+1

Для справок в будущем ваши ссылки могут не работать больше, поэтому, пожалуйста, разместите соответствующий код здесь. –

ответ

2

Если Вы хотите, чтобы показать специальные символы HTML только в сетке (и они могут остаться, как они) пытаются изменить строку 1612 в «страницы» сценарий - это должно быть mask функция:

 function mask($value,$mask,$datatype,$aselect,$row){ 
      switch ($datatype){ 
        ... 
        default:    
/*1612 line here --> */ return htmlspecialchars($value); 
      } 
     } 

Но я не уверен, если это то, что вы хотите достичь ...

EDIT: также сохранить данные в htmlspecialchar отформатированные значения, попробуйте изменить строку 927 из

$strUpdate = "UPDATE $this->tablename set $value=".magic_quote($nt)." $updWhere Limit 1"; 

в

$strUpdate = "UPDATE $this->tablename set $value=".htmlspecialchars(magic_quote($nt))." $updWhere Limit 1"; 

но опять же, я не уверен ... Если это нормально, то вы можете удалить htmlspecialchars в предыдущем примере (строка 1612).

+0

это сработало спасибо, но после того, как я отредактировал и ударил, введите его преобразование снова, но если я обновляю страницу, он вернется к коду ... есть ли где-нибудь еще мы могли бы добавить этот код? :), Еще раз спасибо за помощь! – Meh

+0

@Meh - см. Мое редактирование. И добро пожаловать! – shadyyx

+0

это не сработало, этот код теперь сохраняет html-коды как '<B>' .. В любом случае, первый код исправил мою проблему, это нормально :) Но у меня есть вопрос, если вы можете мне помочь ... когда Я пытаюсь добавить html-код как ' текст' .. его записывается в базу данных как ' текст' ... я добавил 'stripslashes()', где мы добавили htmlspecial chars 'return stripslashes (htmlspecialchars ($ value));' и он больше не отображает слэши на странице, но добавляется в базу данных ... У вас есть идея, как избежать этих косых чернил из базы данных? – Meh

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