我有一个网站,其中包含用于插入,删除和更新数据库记录的表单。
插入和删除记录没有问题,但我似乎无法使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。如何在提交表格后提出残疾人或只读?
答案 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来修复它。但主要问题是“保存”按钮是在提交查询之前放回了已禁用的属性