php
  • codeigniter
  • 2016-06-22 1 views 2 likes 
    2

    私はたくさんのフォームを扱うプロジェクトに取り組んでいます。私は検索結果を検索してみましたが、どれも働いていませんでした。Codeigniter:ビューを読み込んだ後にURLを変更します

    私のコードビューコード「uprofile.phpは」次のようにされて次のように

    <form class="form-horizontal" method="post" action='<?php echo base_url() . "home/addnewagency" ?>'> 
         <div class="form-group"> 
          <label for="company" class="col-sm-3 control-label">New Agency Name:</label> 
          <div class="col-sm-4"> 
           <input type="text" class="form-control" id="newagency" name="newagency" placeholder="Plase Enter New Agency Name"> 
          </div> 
         </div> 
         <div class="form-group"> 
          <div class="col-sm-offset-3 col-sm-9"> 
           <button type="submit" class="btn btn-primary">Add</button> 
          </div> 
         </div> 
        </form> 
    

    マイコントローラー「home.php」のコードは次のようになります。

    public function addnewagency() { 
         $newagency = $this->input->post('newagency'); 
         $this->dis_model->newagency_model(strtoupper($newagency)); 
         $this->loadprofile(); 
        } 
        public function loadprofile() { 
         $data['inscompanyname'] = $this->dis_model->getcompany(); 
         $data['agentname'] = $this->dis_model->getagent(); 
         $data['agencyname'] = $this->dis_model->getagency(); 
         $data['clientname'] = $this->dis_model->getclient(); 
         $data['deptname'] = $this->dis_model->getdept(); 
         $this->load->view('uprofile', $data); 
        } 
    

    私は、フォームを送信すると、制御がaddnewagency()に渡され、データベースにデータが挿入され、URLはhttp://localhost/dis/home/addnewagencyになります。呼び出し元の関数に戻ると、loadprofile()に移動し、ビューuprofileをロードします。しかし、URLは同じままです。しかし、私はhttp://localhost/dis/home/loginとしたいと思うし、データを渡したい。誰もこれを達成する方法に関する考えを持っていますか?

    歓迎されているすべての正の提案...事前に

    おかげで...あなたがそうのようなあなたのaddnewagency()方法の下部にredirect()機能

    を使用したい

    +0

    同じURLには何がありますか? – Gopalakrishnan

    +0

    リダイレクト( "home/login")を試しましたか。関数内でaddnewagency() – Gopalakrishnan

    +0

    あなたがセッション中にこれをやっているように見えます。値を入力してセッションを破棄し、ログインのリダイレクト( "home/login");にリダイレクトできます。その場合はちょうどアイデア – Ankit

    答えて

    3

    これで、addnewagency()内で$ this-> loadprofile()を呼び出しています。 URLを変更したい場合は、CodeIgniterのredirect()関数を使う必要があります。

    は、コードの以下の行を持つ

    $this->loadprofile()  
    

    を交換し、それはあなたのために動作します。

    redirect(base_url() . 'home/loadprofile'); 
    
    +0

    redirect()を使用してデータを渡すことはできますか? – V15HM4Y

    +0

    redirect()関数ではパスできませんが、セッションでデータを設定することができます –

    +0

    しかし、多くのデータがあります。あなたは、そのセッションの多くのデータを保存することが可能だろうと思いますか? – V15HM4Y

    0

    public function addnewagency() { 
        $newagency = $this->input->post('newagency'); 
        $this->dis_model->newagency_model(strtoupper($newagency)); 
        redirect(base_url() . 'home/loadprofile'); 
    } 
    
    2

    url use redirect(base_url()。 'home/loadprofile')を変更する場合は、あなたのコントローラのaddnewagency();あなたがリダイレクト機能でデータを送信できるかどうかを知るためにこの質問を参照してください。 Sending data along with a redirect in CodeIgniter

    関連する問題