将页面移动到页面时丢失数据

时间:2012-02-13 09:06:11

标签: php mysql codeigniter

我有一个表格,例如" title"数据,一旦按下提交按钮,模型将用于处理数据。然后,控制器使用处理后的数据在视图中显示给用户。这就是我遵循的流程。 获取视图后,用户将选择编辑某些内容。因此,他需要回到可编辑表格(与原始表格相同)来修复标题数据。这是表格

<?php form_open("blog/edit_updated")?>
          Title:<input type="text" col="30" value="<?=$edit[0]['title']?>" name="edit_title"/><br/>
          Comment:<br/><textarea name="edit_comment" width="20" col="5"><?=$edit[0]['comment']?></textarea><br/>
          <input type="hidden" name="postcomment" value="TRUE"/>          
          <input type="submit" value="Update"/>
         <?=form_close()?>

该表单将调用以下控制器函数

public function edit_updated()
    {        
        if(!file_exists('application/views/blog/edit_succeed.php'))
        {
            show_404();
        }
        else
        {
            print_r($this->url_title);

            if($this->blog->update_row_with_title(XXXXX,$_POST['edit_title'],$_POST['edit_comment']))
               $this->load->view('blog/edit_succeed');
        }

    }

函数update_row_with_title仅用于搜索和更新指定项目,并与给定标题完全匹配。我测试它总是返回一个(使用UPDATE命令)。 XXXX是用于在数据库中搜索的NOT_YET_TO_FIX标题的标题,其余参数是将在UPDATE命令中用于SET的新输入字段。但是,XXXXX始终为空。你能告诉我一种检索原始标题的方法吗?

摘要

表格1(带有数据) - &gt;发布 - &gt;使用数据作为GET网址的一部分 - &gt;修复表单(使用新数据) - &gt;更新[在这里我丢失了用作数据库搜索标识的原始数据]

1 个答案:

答案 0 :(得分:0)

你的描述有点含糊不清,我不确定我理解你想要什么,但我会尝试提供解决方案。

如果您需要控制器方法中的旧标题,您实际上可以将其作为参数发送到URL中。为此,您必须进行以下更改:

  1. 在包含表单的视图中将form_open的参数更改为类似
  2. 的内容
    <?php form_open("blog/edit_updated/" . $edit[0]['title'])?>
    
    1. 为edit_updated()控制器方法添加一个参数,如
    2. public function edit_updated($old_title = null) {
          ...
          ...
      }
      

      现在在控制器方法中,您可以将XXXXXX变量替换为$old_title

      这有用吗?