私はCodeIgniter1.7.1を使用しています。これがシナリオです。フォームが送信されるたびに、2つのことを行う必要があります。
1)ドロップダウンで選択した値を保持します。2)を使用してsession->set_flashdata()
、カスタムデータベースメッセージを設定する必要があります。
ご存知のように、このフラッシュデータを設定する前にリダイレクトする必要があります。
これは私が書いたコードです。
if ($this->form_validation->run() == TRUE){
$this->session->set_flashdata(‘msg’, ‘Taha Hasan’);
redirect(current_url());
$this->ShowReceiveInventoryView();
}
また、ドロップダウンビューでset_selectを使用して、値を永続化します。
<select name=“myselect”>
<option value=“one” <?php echo set_select(‘myselect’, ‘one’, TRUE); ?> >One</option>
<option value=“two” <?php echo set_select(‘myselect’, ‘two’); ?> >Two</option>
<option value=“three” <?php echo set_select(‘myselect’, ‘three’); ?> >Three</option>
</select>
ここに問題があります…フラッシュメッセージが表示されますが、現在のページにリダイレクトしているため、ドロップダウンのset_select値が失われます!!! デフォルト値が選択範囲に表示されます:(..コードのリダイレクト行を削除すると、ドロップダウン値が表示されますが、フラッシュデータは設定されません!!!
皆さんがこの問題の解決策を持っていることを願っています…