отправить HTML-код в Textarea в PHP через форму - PullRequest
4 голосов
/ 16 января 2010

Я хочу иметь текстовую область, где я могу редактировать HTML-код напрямую. После отправки формы содержимое текстовой области (с тегами html) должно быть сохранено в базе данных MySQL. Я использую PHP, чтобы получить дату и сохранить ее в базе данных. Моя проблема в том, что HTML-код неправильно отправляется в PHP. Я не получаю код HTML, а только текст. Как я мог это исправить?

моя форма выглядит так:

<form method="post" enctype="multipart/form-data" action="form.php">
   <textarea name="html_code">
      <a href="link">testlink</a>
   </textarea>
   <input type=submit value="submit"/>
</form>

Файл form.php теперь должен отображать содержимое текстовой области

echo $_POST['html_code'];

показывает: testlink

Я хочу: <a href="link">testlink</a>

Ответы [ 4 ]

4 голосов
/ 16 января 2010

Спасибо всем за ваши ответы. Я нашел проблему. Это была Joomla. Joomla удалила теги HTML, когда я получил строки через getVar. Мне пришлось использовать опцию маски JREQUEST_ALLOWRAW, чтобы решить эту проблему.

JRequest::getVar('html_code', '', 'post' , 'STRING', JREQUEST_ALLOWRAW);
1 голос
/ 16 января 2010

Вы используете неправильный тип кодировки.

Вместо «multipart / form-data» это должно быть «text / plain».

Вам не нужно кодировать данные, как сказал Дуг выше; но он будет закодирован для вас при отправке формы, поэтому не забудьте декодировать перед использованием.

1 голос
/ 16 января 2010

Ваша форма должна быть:

<form method="post" enctype="multipart/form-data" action="form.php">
   <textarea name="html_code">
      &lt;a href=&quot;link&quot;&gt;testlink&lt;/a&gt;
   </textarea>
   <input type=submit value="submit"/>
</form>

(Нет, это не запутано. Они называются HTML-сущностями )

Вы можете использовать htmlentities () в PHP для достижения этого.

1 голос
/ 16 января 2010

Вы выводите это на страницу HTML? Поскольку код будет проанализирован в фактическую ссылку.

Просмотр исходной страницы вывода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...