我无法正确地将sql表中的文本回显到输入textarea框中

时间:2017-04-11 05:43:56

标签: php sql forms phpmyadmin

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

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

此内容列排序规则为latin_swedish_ci,并且在phpMyAdmin表结构中输入为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框内),它根本没有显示。我期待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'标签。最后它会读取结束'&gt;'对于<textarea .....

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

仅供参考,除了$ content之外 - 我还有$ title。在phpMyAdmin表中,标题列文本是MAMA。我把这样的php页面放进去了:

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

输入框显示MAMA。

2 个答案:

答案 0 :(得分:1)

更改此行:

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

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

再试一次。

说明: texarea中没有value属性。您看到的值是textarea的innerHTML。所以你要打印的是<textarea><?php echo $content; ?></textarea>

答案 1 :(得分:0)

textarea元素没有值属性,该值必须放在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>