提交表单时无法更新sql表

vyu0f0g1  于 2021-06-21  发布在  Mysql
关注(0)|答案(4)|浏览(278)

我有一个网站,有表格插入,删除和更新数据库的记录。
我没有问题插入和删除记录,但我似乎不能把更新工作。我做错什么了?
html格式

<form class="about-form" action="" method="POST">
    <p class="title">About</p>
    <textarea class="textarea" name="text" rows="8" cols="80" disabled><?php echo $about->content_text; ?></textarea><br>
    <input class="edit-button" type="button" name="edit" value="Edit">
    <input type="submit" name="save" value="Save" class="save-button">
</form>

PHP

//get a content text from the database
$about = $db->get_single_row("SELECT * FROM content WHERE content_id='2'");
if(isset($_POST['save'])) {
    $aboutText = $_POST['text'];
    $db->query("UPDATE content SET content_text='$aboutText' WHERE content_id='2'");
}

我得到的错误信息是:“注意:未定义的索引:文本”
更新:我有两个按钮,一个编辑(删除禁用的)和一个保存(放回禁用和提交)。在删除按钮“save”的javascript之后,我成功地进行了更新。删除“保存”按钮的javascript后,已成功更新。提交表格后,我如何放置禁用或只读?

f4t66c6m

f4t66c6m1#

谢谢你的回复。
我设法用disabled代替readonly来修复它。但主要的问题是“save”按钮,它在提交查询之前放回禁用的属性

li9yvcax

li9yvcax2#

您名为“text”的元素已禁用,因此在提交时不会发布。我怀疑您遇到的问题是$\u post['text']为空,但您不清楚看到的是什么错误(如果有)。

sshcrbum

sshcrbum3#

为什么要将disabled属性放在文本区域?

删除“disabled attribute”并重试。

如果这不起作用。您的textarea输入字段似乎未与表单链接。因此,在表单中添加一个name属性,然后在textarea中添加一个form属性,并将value设置为表单的name。

<form class="about-form" action="" method="POST" name="myform">
  <p class="title">About</p>
  <textarea class="textarea" name="text" rows="8" cols="80" form="myform" disabled><?php echo $about->content_text; ?></textarea><br>
  <input class="edit-button" type="button" name="edit" value="Edit">
  <input type="submit" name="save" value="Save" class="save-button">
</form>

所以请把你尝试后得到的错误信息。

gpfsuwkq

gpfsuwkq4#

禁用的输入将不提交数据。
使用readonly属性:

<textarea class="textarea" name="text" rows="8" cols="80" readonly >

相关问题