提交表单时无法更新sql表

时间:2018-04-16 02:12:09

标签: php mysql

我有一个网站,其中包含用于插入,删除和更新数据库记录的表单。

插入和删除记录没有问题,但我似乎无法使UPDATE正常工作。我做错了什么?

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'");
}

我得到的错误信息是这样的: “注意:未定义的索引:文字”

更新 我有两个按钮,一个用于编辑(删除已禁用),另一个用于保存(放回禁用和提交)。 删除按钮“保存”的javascript后,我设法进行了更新。 在删除保存按钮的javascript后管理到UPDATE。如何在提交表格后提出残疾人或只读?

4 个答案:

答案 0 :(得分:2)

您的元素名为&#34; text&#34;已禁用,因此不会在提交时发布。我怀疑你遇到的问题是$ _POST [&#39; text&#39;]是空白的,但你不清楚你看到的是什么错误(如果有的话)。

答案 1 :(得分:2)

禁用的输入不会提交数据。

使用readonly属性:

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

答案 2 :(得分:1)

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

删除“已禁用的属性”并尝试使用。

如果这不起作用。 看起来您的textarea输入字段未与表单链接。 所以在表单中添加一个name属性,然后将一个form属性添加到textarea,其值为表单的名称。

<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>

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

答案 3 :(得分:0)

感谢您的回复。

我管理通过将disabled替换为readonly来修复它。但主要问题是“保存”按钮是在提交查询之前放回了已禁用的属性