フォームを送信した後、「F5」または「更新」を実行すると、送信されたデータが残っていて、「F5」を押すたびにフォームを最初に送信したときと同じデータが重複して入力されるという問題があります。 、POST データと CI の field_data をクリアしようとしましたが、まだ送信されている値が残っていますform_validation
。必要なルールを設定した場所でトラップできない理由がわかりません。
$this->load->library('form_validation');
$this->form_validation->set_rules('name', 'Name', 'required');
$this->form_validation->set_rules('email', 'Email', 'required|valid_email');
$this->form_validation->set_rules('comment','Comment','required');
if(/*form validation is false*/) //fail
{
// some code for incorrect values
}
else //success
{
$_POST = array();
$this->form_validation->clear_field_data();
//and some code for views
}
現在、通常のプロセスではエラーはありませんが、成功して「F5」を押すか、ページを更新すると、データが再度送信され、DBに再度挿入されます。なぜそれがすでに発生しているのか本当にわかりませんフィールドデータから実際の投稿データまで全てクリアしておりますので、ご存知の方がいらっしゃいましたら是非シェアをお願い致します
ところで、単なるヘッドアップです。私form_validation
はカスタムメイドのもので、CI のネイティブ form_validation を拡張します