2014-02-06 4 views
0

У меня есть клиент с пользовательской CMS. Страница контактной формы HTML хранится в таблице MySQL. Мне нужно изменить форму, и мне нужно добавить запрос PHP и MySQL в форму для заполнения Combobox со значениями, хранящимися в другой таблице на том же БД.Сохраните PHP-код в MySQL и запустите его для запуска

Когда я пытаюсь вставить PHP-код в эту форму (в таблице MySQL), php-код не отображает. Например, если добавить

<?php echo "string"; ?> 

в середине HTML кода, хранящегося на поле БД в браузере визуализируется:

<!--?php echo "string"; ?--> 

так, не показано.

EDIT:

Что я имею на БД и нужно изменить следующий:

У меня есть форма, хранящиеся на БД и один из входов представляет собой текст-бокс. Это необходимо изменить в раскрывающемся меню с параметрами, заполняемыми из одного из полей таблиц БД. Следовательно, необходимо иметь php и mysql-запрос в середине формы HTML ...

+0

Вам действительно нужно опубликовать примеры кода для тех, кто диагностирует и поможет вам с этой проблемой. –

+5

Я имею в виду это смиренно и, не пытаясь натолкнуться, как суровый, но это ужасная идея. –

+0

OP фактически включал исходный код, но не форматировал его должным образом, чтобы он не отображался как видимый. – eebbesen

ответ

0
$str = '<?php echo "string"; ?>'; // Your DB content 

eval("?> $str <?php "); 
+1

Хотя его плохая практика для хранения php-кода в db и использования его так. Вместо этого нужно работать с такими движками шаблонов, как Smarty. –

1

Вам нужно изменить код, выводящий содержимое из базы данных, чтобы содержавшийся PHP-код выполнялся вместо того, чтобы просто эхом. Проверьте функцию eval().

Как указано в комментариях: это шаблон, который обычно считается небезопасным. Любой, кто может писать в вашу базу данных, теперь имеет возможность получить любой PHP-код, выполняемый на сервере. См. Этот вопрос для подробного обсуждения этого вопроса: When is eval evil in php?

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