2016-10-11 5 views
0

をリダイレクト:CodeIgniterの私はCodeIgniterので続く形を有する空のフォームに

コントローラ:

public function item($alias = NULL){ 
    $this->load->helper('form'); 
    $this->load->library('form_validation'); 
    $data['title'] = 'Edit menu'; 
    $data['menu_item'] = $this->menu_model->get_menu($alias); 
    $data['articole'] = $this->menu_model->get_articole(); 
    $data['menuactive'] = $this->menu_model->get_menuactiv(); 
    $data['errors'] = $this->form_validation->error_array(); 
    $this->form_validation->set_rules('position','Position','required'); 
    $this->form_validation->set_rules('position','Position','numeric'); 
    $this->form_validation->set_rules('name','Name','required'); 

    if ($this->form_validation->run() === FALSE) { 
     $data['name'] = $data['menu_item']['name']; 
     $this->load->view('templates/header', $data); 
     $this->load->view('templates/youarehere', $data); 
     $this->load->view('templates/menu', $data); 
     $this->load->view('templates/admin', $data); 
     $this->load->view('menu/item', $data); 
     $this->load->view('templates/footer'); 
    } 
    else { 
     $this->menu_model->update_menu(); 
     redirect('menu'); 
    } 
} 

項目図である:私は、メニュー項目を編集し、このビューで

<?php echo validation_errors(); ?> 
<?php echo form_open('menu/item'); ?> 

<?php echo form_label('ID ', 'id'); ?> 
<?php echo form_input('id', $menu_item['id'], 'readonly'); ?><br><br> 

<?php echo form_label('Name ', 'name'); ?> 
<?php echo form_input('name', $menu_item['name']); ?><br><br> 

<?php echo form_label('Position ', 'position'); ?> 
<?php echo form_input('position', $menu_item['position']); ?><br><br> 

<?php foreach($articole as $articole_item): 

    $articol1[] = $articole_item['id'] . ' ' . $articole_item['title']; 

endforeach; ?> 

<?php echo form_label('Associated article ', 'associated_article'); ?> 
<?php echo form_dropdown('associated_article', $articol1, $menu_item['articol_asociat']); ?><br><br> 

<?php echo form_label('Menu activ ', 'activ'); ?> 
<?php echo form_checkbox('activ', '1', TRUE); ?><br><br> 

<input type="submit" name="submit" value="Save menu"/> 
</form> 

。すべてがうまくいくと、すべてうまく動作します。文字列を "位置"フィールドに入力すると、項目ビューにはリダイレクトされますが、空のフィールドとエラーメッセージが表示されます。私はフィールドに入力されたものとエラーメッセージを保持したい。

私のコードで何が問題になっていますか?

+0

あなたの古い値置き換えます> menu_model-> get_menu($エイリアス); '。下の行に 'var_dump($ data ['menu_item']); die;'を実行し、そこにデータがあるかどうかを確認します。 – Blinkydamo

+0

はい、あります。 – emilsifu

答えて

1

変更フォーム:

<?php echo form_label('ID ', 'id'); ?> 
<?php echo form_input('id', set_value('id'), 'readonly'); ?><br><br> 

<?php echo form_label('Name ', 'name'); ?> 
<?php echo form_input('name', set_value('name')); ?><br><br> 

<?php echo form_label('Position ', 'position'); ?> 
<?php echo form_input('position', set_value('position')); ?> 

SET_VALUE()私は[ 'MENU_ITEM'] =の$ this - この `$データからのデータを見て持つことから始めたい

+0

ありがとうございます。それは動作します。 – emilsifu

関連する問題