0

私は codeigniter を初めて使用し、それを使用して最初の Web アプリケーションを開発しています。最初にベストプラクティスを実行していることを確認したいので、後で修正するために戻る必要はありません。そうは言っても、これが私がしていることです。

DB でメモを編集したいのですが、レコードが更新された後、別のページにリダイレクトされます。

私のモデルは正しくコーディングされているので心配はありませんが、コントローラーは次のようになります (これはおそらく正しくありません:

public function edit($id) {
    $this->load->model('Notes_model');

    if (isset($_POST["edit"]))
    {
    $data['data']  = $this->Notes_model->edit($id);
        $url = "/Notes/view/" . $id;
        redirect($url);
    }
    $data['notes'] = $this->Notes_model->viewNotes($id);
    $this->load->view('templates/header');
    $this->load->view('notes/edit', $data);
    $this->load->view('templates/footer');

}

うまくいけば、これは理にかなっています。基本的にここでやりたいことは次のとおりです。1.) 編集ノートページを表示します。

これはかなり良いように見えますか、それとももっと良い変更を加える必要がありますか?

4

2 に答える 2

0
<?php
class Home extends CI_Controller
{
    function __construct() {
    parent::__construct();

    $this->m_auth->notLogin();
    $this->load->library('form_validation');
    $this->load->library('ajax_pagination');
    $this->load->library('dateconverter');
    $this->load->helper('template');
    $this->load->helper('check');
    $this->load->model('mymodels/crud_model');
    $this->lang->load('personal',  $this->m_auth->get_language());
    $this->lang->load('global',  $this->m_auth->get_language());        
}

function index()
{
    $this->get_recs(); 
}

function get_recs()
{
    //get for view or first page to be showed
}
/**
 * Register New User
 */
function updateRecords()
{

    $this->form_validation->set_rules('ministery','<span class="req">(Ministry)</span>','trim|required');
    $this->form_validation->set_rules('directorate','<span class="req">(Directorate)</span>','trim|required');
    if($this->form_validation->run()==FALSE)
    {
        header_tpl($this->m_auth->get_language(),'a');
        banner_tpl($this->m_auth->get_language(),'a');
        left_tpl($this->m_auth->get_language(),'a');
        $content = $this->load->view('personal/edit_personal',  $this->POST,true);
        content_tpl($content);
        footer_tpl();
    }
    else
    {
        $form_data = array(

                    'ministry'            => $this->input->post('ministery'),
                    'directorate'         => $this->input->post('directorate'),
                    'job_province'        => $this->input->post('job_province'),
                    'job_district'        => $this->input->post('job_district'),
                    'first_name'          => $this->input->post('fname'),
                    'last_name'           => $this->input->post('lname')

                     );


       if($this->crud_model->update_recs('ast_emp_property',$form_data)==TRUE)
       {
            $this->session->set_flashdata("msg","<span class='m_success'>".$this->lang->line('global_insert_success')."</span>");
            redirect('/home/success_reg/'.$id.'','refresh');
       }
       else
       {
            $this->session->set_flashdata("msg","<span class='m_error'>".$this->lang->line('global_insert_error')."</span>");
            redirect('home','refresh');
       }
    }

}

} ?>

于 2013-06-15T11:00:01.793 に答える