2012-02-13 5 views
0

У меня есть форма для публикации, например, с информацией о названии, после нажатия кнопки отправки модель будет использоваться для обработки данных. контроллер затем использует обработанные данные для отображения в представлении пользователю. Это поток, за которым я следую. После получения представления пользователь выберет что-нибудь изменить. поэтому он должен вернуться к редактируемой форме (такой же, как и исходный), чтобы исправить данные заголовка. Вот формаУтерянные данные при переходе страницы на страницу

<?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()?> 

Эта форма будет вызывать следующую функцию Controler

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 используется только для Seach и обновлять указанный элемент с точным соответствием данного названия. Я тестирую, и он всегда возвращает один (используется команда UPDATE). XXXX - это заголовок заголовка NOT_YET_TO_FIX, который используется для поиска в базе данных, остальные параметры - это те вновь введенные поля, которые будут использоваться для SET в команде UPDATE. Однако XXXXX всегда пуст. Не могли бы вы рассказать мне способ получить исходное название?

Резюме

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

+0

XXXXX - это переменная php, такая как $ table_name или что-то в этом роде? –

+0

Не используйте заголовок для поиска строки, которую вы хотите обновить, но id. – Mischa

ответ

0

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

Если вам нужен старый заголовок в методе контроллера, вы можете отправить его в качестве параметра в 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.

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

Смежные вопросы