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是否有任何数据。使用打印