2016-05-18 6 views
1

私はフォームを持っていて、投稿ページにあります。ページをリフレッシュすると、再送データが要求されます。私がPRGパターンを実装しなければならないことを知ることを避けるために。誰もCodeIgniterで同じことを実装するのを手伝ってもらえますか?ポストリダイレクトを実装する方法CodeIgniterでパターンを取得する

+0

codeigniter form_validationも使用する必要がありますか? – DFriend

+0

いいえ、私は検証が必要ありません –

+0

それははるかに簡単です。私にいくつか答えてください。 – DFriend

答えて

1

処理関数から表示関数にデータを戻すには、セッションを使用する必要があります。この例では、Codeigniter v3.0.0以上を想定しています。以前のバージョンを使用している場合は、セッションデータの取得とリセットを行う必要があります。

は、ここでそれが存在する場合、これは最後に入力されたパスワードをエコーし​​ます、非常に単純なコントローラ

class TestPRG extends CI_Controller 
{ 
    public function __construct() 
    { 
    parent::__construct(); 
    $this->load->helper('form'); 
    $this->load->library('session'); 
    } 

    public function index() 
    { 
    $data['name'] = $this->session->name; 
    $data['pw'] = $this->session->pw; 
    $this->load->view('test_form_v', $data); 
    unset($_SESSION['name'], $_SESSION['pw']); 
    } 

    public function process_form() 
    { 
    $_SESSION['name'] = $this->input->post('username'); 
    $_SESSION['pw'] = $this->input->post('password'); 
    redirect('testprg', 'location', 303); 
    } 

} 

ビューファイル

<?php  
echo form_open('testprg/process_form'); 
echo form_input('username', isset($name) ? $name : NULL); 
echo form_password('password', ""); 
echo form_submit('Submit', 'Submit'); 
echo form_close(); 
echo isset($pw) ? $pw : ""; 

です。ページを更新したり、ブラウザから戻ることはありません。

関連する問題