0

sessionCodeigniter で問題に直面しています。

検索を実行するための選択ボックスを含むフォームがあります。フォームが送信されると、検索条件がセッションに保存されます。これは、ユーザーがフォームに戻ったときにフォーム フィールドに入力するために使用されます。私のローカル マシンでは、正常に動作します。ただし、サーバーでは、選択ボックスには対応していません。ブラウザのキャッシュのみをクリアすると、機能します。
セッション変数をエコーし​​ました。フォームの外。そして、それは正しいデータを保持しています.Firebugでは、正しい値も示しています - <option selected="selected">foobar</option>. しかし、選択ボックスに選択した値が表示されません。
参考までに、選択ボックスを印刷するために次のCIフォームヘルパーを使用しています。

<?php echo form_dropdown('product', $search_options['product_list'], 
      stripslashes($this->session->userdata('qes_product')), 
      'id="qes_product" tabindex="1"'); 
?>


何か案が ?

4

1 に答える 1

0

1) Cookie ではなく、セッションに DB ストレージを使用していることを確認してください。Cookie のサイズには制限があり、何か間違ったことをしている場合、つまり値を置き換えるのではなく、常にセッションに追加している場合は、いっぱいになる可能性があります。これはあなたが調べるべき他のものです(あなたのセッションに保存するもの)

2) ビューで $this->session を使用しないでください。セッションの配列 ($formdata など) にすべてを格納し、コントローラーで取得してビューに渡します。

を使用してフォームでアクセスできます$formdata['ques_product']

上記で解決しない場合はsess_expire_on_close、セッション構成の値を変更してみてください。CIには奇妙なバグがあるようです。

幸運を!

于 2012-07-14T09:47:45.213 に答える