Потерянные данные при перемещении страницы на страницу - PullRequest
0 голосов
/ 13 февраля 2012

У меня есть форма для публикации, например, с данными "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, используемого для поиска в базе данных, остальные параметры - это те вновь введенные поля, которые будут использоваться для SET в команде UPDATE. Однако XXXXX всегда пуст. Не могли бы вы сказать мне способ получить оригинальное название?

Резюме

Форма 1 (с данными) -> post -> использовать данные как часть URL для GET -> исправить форму (с новыми данными) -> UPDATE [прямо здесь я потерял используемые исходные данные как личность для поиска в БД]

1 Ответ

0 голосов
/ 22 февраля 2012

Это немного двусмысленное ваше описание, я не уверен, что понимаю, чего вы хотите, но я постараюсь предложить решение.

Если вам нужен старый заголовок в методе контроллера, вы можете отправить его в качестве параметра в URL. Для этого необходимо внести следующие изменения:

  1. в представлении, содержащем форму, измените аргумент form_open на что-то вроде
<?php form_open("blog/edit_updated/" . $edit[0]['title'])?>
  1. добавить аргумент в метод контроллера edit_updated () следующим образом
public function edit_updated($old_title = null) {
    ...
    ...
}

и теперь в методе контроллера вы можете заменить эту переменную XXXXXX на $old_title.

Было ли это полезно?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...