【问题标题】:I cannot echo text from sql table into input textarea box correctly我无法将 sql 表中的文本正确回显到输入文本区域框中
【发布时间】:2017-09-06 08:23:24
【问题描述】:

在我的表格中有一个包含文本的列内容:

<h2>LAGU</h2><p>Pada minggu ke kota.<br />Naik delman.</p><p>Pak kusir.</p>

在 phpMyAdmin 表结构中,此 Content 列排序规则为 latin_swedish_ci,类型为 Text

在我的 PHP 页面中,在查询之后 - 我给它一个名字 $content

HTML:

<?php echo $content ?>

<form action="update.php" method="post" enctype="multipart/form-data">
    <div id="div_content">
    <label id="label_content">Content</label>
    <textarea id="content" name="content" value="<?php echo $content ?>"></textarea>
    </div>
</form>

内容确实在第一个回显中正确显示。标头标签中的内容,显示为标头。段落标记中的内容显示为段落。

但第二个回声(在文本区域框内)根本不显示。我希望 textarea 框将显示与 php 表中的文本完全相同的内容,因此如果出现拼写错误或其他问题 - 用户可以直接在 textarea 框中进行编辑。

我尝试了一个撇号而不是双撇号

<textarea id="content" name="content" value='<?php echo $content; ?>'></textarea>

textarea 框还是空的。

我也为 textarea 尝试过这个

<textarea id="content" name="content" value='.<?php echo $content ?>.'></textarea>

还有这个

<textarea id="content" name="content" value="'.<?php echo $content ?>.'"></textarea>

还是空的。

但是在我尝试过之后:

<textarea id="content" name="content" value=<?php echo $content ?>></textarea>

文本区域框显示如下:

LAGU</h2><p>Pada minggu ke kota.<br />Naik delman.</p><p>Pak kusir.</p>>

它在开始时丢失了“h2”标签。最后它读取&lt;textarea .....的结束'>'

但最奇怪的是,如果在 PhpMyAdmin 中我通过键入 dar der dor(只是没有任何奇怪字符的纯文本)来更改表格内容列,那么无论我在 php 页面中做了什么技巧,textarea 框都是空的。

仅供参考,除了 $content - 我还有 $title。在 phpMyAdmin 表中,标题列文本为 MAMA。我像这样放入php页面:

<input type="text" id="title" name="title" value="<?php echo $title ?>">

输入框显示MAMA。

【问题讨论】:

  • &lt;textarea&gt; CONTENT &lt;/textarea&gt;
  • 文本区域没有值属性

标签: php sql forms phpmyadmin


【解决方案1】:

改变这一行:

<textarea id="content" name="content" value="<?php echo $content ?>"></textarea>

<textarea id="content" name="content"><?php echo $content; ?></textarea>

然后再试一次。

解释: texarea 没有 value 属性。您看到的值是textarea 的innerHTML。所以你想打印的内容是在&lt;textarea&gt;&lt;?php echo $content; ?&gt;&lt;/textarea&gt;

【讨论】:

  • Mayank Pandeyz,你是我的救星!非常感谢。也谢谢你的解释。
  • 听起来不错!!
【解决方案2】:

textarea 元素没有 value 属性,该值必须放在 textarea 元素内。

这应该是你的解决方案:

<?php echo $content ?>

<form action="update.php" method="post" enctype="multipart/form-data">
    <div id="div_content">
        <label id="label_content">Content</label>
        <textarea id="content" name="content"><?php echo $content; ?></textarea>
  </div>
</form>

【讨论】:

  • sy_,感谢您的帮助。是的,正如您和 Mayank 所建议的那样 - 我按照说明进行操作,现在它可以正常工作了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-03-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多