Javascript 表单中的预填充字段不带ajax

Javascript 表单中的预填充字段不带ajax,javascript,php,jquery,mysql,oop,Javascript,Php,Jquery,Mysql,Oop,这是我的第一个项目。我想,当我在表单中更新我的记录时,所有字段都预先填充了以前的数据。这些数据存储在表中 这是我的功能代码:- public function getData($query) { $result = $this->connection->query($query); if ($result == false) { return false; } $rows = array();

这是我的第一个项目。我想,当我在表单中更新我的记录时,所有字段都预先填充了以前的数据。这些数据存储在表中

这是我的功能代码:-

    public function getData($query)
      {        
    $result = $this->connection->query($query);
    if ($result == false) {
        return false;
    } 

    $rows = array();

    while ($row = $result->fetch_assoc()) {
        $rows[] = $row;
    }

    return $rows;
}
这是我的html文件代码:

      <?php
      $result = $crud->getData("SELECT * FROM creative_workshop ");
      foreach ($result as $res) {
      $id = $res['id'];
      $title = $res['title'];
      $message = $res['message'];
      $title1 = $res['title1'];
      $message1= $res['message1'];
      $image1= $path .$res['image1'];
      $title2 = $res['title2'];
      $message2= $res['message2'];
      $image2= $path .$res['image2'];
       }
       ?>
<form name="form" method="post" action="" enctype="multipart/form-data">
<textarea rows="4" cols="50" name="title" value="<?php echo $title;?>">
<textarea rows="4" cols="50" name="message" value="<?php echo $message;?>">
 </form>


Textarea没有值属性。 你可以用。像

<form name="form" method="post" action="" enctype="multipart/form-data">
 <textarea rows="4" cols="50" name="title" ><?php echo $title;?></textarea>
 <textarea rows="4" cols="50" name="message" ><?php echo $message;?></textarea>
</form>

Textarea没有值属性。 你可以用。像

<form name="form" method="post" action="" enctype="multipart/form-data">
 <textarea rows="4" cols="50" name="title" ><?php echo $title;?></textarea>
 <textarea rows="4" cols="50" name="message" ><?php echo $message;?></textarea>
</form>

问题在这一行语句中

$result = $crud->getData("SELECT * FROM creative_workshop ");

确保成员函数
$crud->getData
工作正常,getData没有返回获取的结果

问题在这一行语句中

$result = $crud->getData("SELECT * FROM creative_workshop ");

确保成员函数
$crud->getData
工作正常,getData没有返回获取的结果

首先:

您当前在表单上所做的是从表中获取所有行,并对它们进行循环,最终获取返回的最后一行,并将其显示在表单中

不幸的是,数据库并不能保证您的数据会在短时间内返回

这意味着在
SELECT
的结果上循环可能会返回输入的最后一行,但不能保证返回结果

相反,您希望选择带有
ORDER BY的行,或者添加一个获取特定行的位置,这样会更有效

如果你有一个自动递增的ID字段,你可以看看

秒:

要在
textarea
字段中显示数据,您需要将数据回显到标记内容中,而不是属性中,即:

第三名:

将文本直接从数据源(在您的情况下是DB表)回显到页面是不安全的

你应该考虑避开它,以避免不希望的行为——特别是在数据渲染中使用HTML。 想象一下,

$text
是这样的:

alert('uh-oh')

将其解析到表单中会使页面上生成的HTML看起来像这样,从而导致在页面上执行JS

alert('uh-oh')

通过使用以下方法避免这种行为:

此时,输出变为:

/textareascriptalert('uh-oh')/脚本


看起来很愚蠢,但阻止浏览器将内容呈现为HTML,从而保护您的表单:-)

首先:

您当前在表单上所做的是从表中获取所有行,并对它们进行循环,最终获取返回的最后一行,并将其显示在表单中

不幸的是,数据库并不能保证您的数据会在短时间内返回

这意味着在
SELECT
的结果上循环可能会返回输入的最后一行,但不能保证返回结果

相反,您希望选择带有
ORDER BY的行,或者添加一个获取特定行的位置,这样会更有效

如果你有一个自动递增的ID字段,你可以看看

秒:

要在
textarea
字段中显示数据,您需要将数据回显到标记内容中,而不是属性中,即:

第三名:

将文本直接从数据源(在您的情况下是DB表)回显到页面是不安全的

你应该考虑避开它,以避免不希望的行为——特别是在数据渲染中使用HTML。 想象一下,

$text
是这样的:

alert('uh-oh')

将其解析到表单中会使页面上生成的HTML看起来像这样,从而导致在页面上执行JS

alert('uh-oh')

通过使用以下方法避免这种行为:

此时,输出变为:

/textareascriptalert('uh-oh')/脚本


看起来很愚蠢,但阻止浏览器将内容呈现为HTML,因此,保护您的表单:-)

使用Ajax处理此问题没有Ajax您可以打印
$result
来检查有什么吗?好的,等等,当我打印结果时,我将尝试他们的好友,我得到的结果与$result一样。使用Ajax处理此问题没有Ajax您可以打印
$result
来检查有什么吗?好的,等等,我将在打印结果时尝试他们的好友我得到的结果和$Result一样。只需检查$Result是否有任何数据。使用print_r仅检查$result是否有任何数据。使用打印