【问题标题】:content from database as default for text area in html form来自数据库的内容作为 html 表单中文本区域的默认值
【发布时间】:2010-10-19 05:53:36
【问题描述】:

我想知道从数据库字段中提取文本并将其设置为文本区域的默认文本的最简单方法。

我现在计划将该字段分配给一个变量,然后使用 javascript 将其设置为默认文本,但我不确定如何执行最后一部分。

【问题讨论】:

    标签: php javascript html ajax


    【解决方案1】:

    在您的 PHP 代码中,可能在您的 HTML 上方:

    // Database connection calls here...
    $row = mysql_fetch_array();
    $databaseField = $row["databaseField"];
    

    在您的 HTML 中:

    <textarea name="databaseField" rows="5">
       <?php= $databaseField ?>
    </textarea>
    

    【讨论】:

      【解决方案2】:

      如果您使用的是服务器端语言,则不需要额外的 javascript 步骤。您可以简单地填充“值”属性的值。这是一个使用 PHP 的示例:

      <input type="text" 
        name="phoneNumber" 
        value="<?php print($phone_number_from_database); ?>" />
      

      【讨论】:

        【解决方案3】:

        别忘了转义你的数据库内容!

        <textarea id="foo">
          <?php echo htmlspecialchars($databasefield); ?>
        </textarea>
        

        否则,您会遇到包含 html 标记(如 'foo &lt;/textarea&gt;bar baz')的内容的问题。 bar baz 将逃脱您的文本区域!这可能会导致cross site scripting 安全问题(如果您允许用户输入)或至少导致html 损坏。如果同学们忘记清理他们边做边学的留言簿应用程序中的条目,我曾经用 javascript 打开无数新窗口来惩罚他们。带有图像的窗口没有一个理智的人想看到。美好时光:)

        htmlspecialchars 将 &lt;, &gt;, ", &amp;, ... 转换为实体 (&amp;lt;, &amp;gt;, &amp;quot;, &amp;amp;, ...),防止内容脱离。

        【讨论】:

          猜你喜欢
          • 2018-10-01
          • 1970-01-01
          • 1970-01-01
          • 2011-03-20
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-12-27
          相关资源
          最近更新 更多