0

我在我的网站上为我的项目制作了更新表格。在我的 php 中,我使用数据库中的现有信息填充输入文本标签的值。我希望能够将输入标签的值更改为我输入的任何内容,但似乎不起作用。当我点击提交时,值根本没有改变(我检查了我的数据库,字段的值与以前相同)。

我觉得这是一个非常简单的想法,基本上任何 WYSIWYG/CMS 功能都相同。我究竟做错了什么?我可能需要什么 Javascript/jQuery 来完成这个?

(糟糕)这是我的代码

(我正在使用 CodeIgniter)这是我的输入标签的 PHP:

<?php 
    $title_input = array(
        'name' => 'title',
        'id' => 'title',
        'autocomplete' => 'off'
    );

    if (isset($updating)) {
        $title_input['value'] = $project->title;
    }
    echo form_input($title_input);
?>

吐出:

<input type="text" name="title" value="My Project Title" id="title" autocomplete="off">

提交表单后,这就是我(尝试)更改数据库中信息的方式:

$project->title = $this->input->post('title');

这与我创建新项目时使用的代码完全相同,只是我希望它能够检测到更改的输入文本值。:/

4

1 回答 1

0

我目前有一个页面,它接受输入并将其存储在数据库中,当重新访问该页面时,如果以前存储了任何信息,它就会被加载并可以编辑。提交后,我再次保存。

你应该考虑的事情:

  • 确保在处理更新的函数中检查 $_POST。如果您使用的函数过于独立(对于 new 和 for update),则使用 echo 语句检查所有 if 语句参数是否有效且不为空)。
  • 尽可能多地使用 isset 与 != '' 的组合,这将确保正确评估 if 语句。
  • 维护一个单独的模型函数来处理更新。恕我直言,最好的办法是再次保存整个表格。不要只检查修改过的字段。您可以检查必填字段不要设置为空,但除此之外,如果可能,重新提交整个表单

如果您愿意分享您的代码,可以提供更多帮助

于 2013-10-19T08:48:13.767 回答