通过 Form 将 Textarea 中的 HTML 代码发送到 PHP

发布于 2024-08-18 10:30:25 字数 616 浏览 7 评论 0原文

我想要一个可以直接编辑 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

我想要: testlink

i want to have a textarea where I can edit html code directly. After submitting the form the content if the textarea (with html tags) should be saved to a MySQL database. I use PHP to receive the date and save it to the database. My problem is, that the HTML code is not properly sent to PHP. I do not receive the HTML code but just the text. How could I fix this?

my Form looks like this:

<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>

The form.php should now be able to show the content of the textarea

echo $_POST['html_code'];

shows: testlink

I want: <a href="link">testlink</a>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

ペ泪落弦音 2024-08-25 10:30:25

谢谢大家的回答。我发现了问题。是乔姆拉。当我通过 getVar 获取字符串时,Joomla 删除了 HTML 标签。我必须使用掩码选项 JREQUEST_ALLOWRAW 来解决该问题。

JRequest::getVar('html_code', '', 'post' , 'STRING', JREQUEST_ALLOWRAW);

Thank you all for your answers. I found the problem. It was Joomla. Joomla removed HTML tags when I got strings via getVar. I had to use the mask option JREQUEST_ALLOWRAW to solve the issue.

JRequest::getVar('html_code', '', 'post' , 'STRING', JREQUEST_ALLOWRAW);
走过海棠暮 2024-08-25 10:30:25

您是否将其回显到 HTML 页面中?因为代码会被解析成实际的链接。

查看输出页面的来源。

Are you echoing it into an HTML page? Because the code will be parsed into an actual link.

View the source of your output page.

固执像三岁 2024-08-25 10:30:25

您使用了错误的编码类型。

它应该是“text/plain”,而不是“multipart/form-data”。

您不必像 Doug 上面所说的那样对数据进行编码;但当您提交表单时,它会为您编码,所以在使用前不要忘记解码。

You're using the wrong encoding type.

Instead of "multipart/form-data", it should be "text/plain".

You don't have to encode the data as Doug says above; but it will be encoded for you when you submit the form, so don't forget to decode before using.

哆啦不做梦 2024-08-25 10:30:25

您的表单应该是:(

<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>

不,它没有搞砸。它们被称为 HTML 实体)

您可以在 PHP 中使用 htmlentities() 来实现这一点。

Your form should be:

<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>

(No, it's not messed up. They're called HTML entities)

You can use htmlentities() in PHP to achieve that.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文