0

我遇到session了 Codeigniter 的问题。

我有一个包含选择框的表单来执行搜索。当表单被提交时,搜索条件存储在会话中,一旦用户返回表单,它将用于填充表单字段。在我的本地机器上,它工作正常。但在服务器中,它不适用于选择框。仅清除浏览器缓存后,它就可以工作。
我刚刚回应了会话变量。在表格之外。它拥有正确的数据。在 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。Cookie 的大小有限,如果您做错了什么,即不替换值而是不断将它们添加到会话中,那么它可能会被填满。这是您应该研究的其他内容(您在会话中存储的内容)

2) 不要在你的视图中使用 $this->session。将所有内容存储在会话中的数组(如 $formdata)中,然后在控制器中检索它并将其传递给您的视图。

您可以使用您的表单访问它$formdata['ques_product']

如果以上没有帮助,请尝试更改sess_expire_on_close会话配置中的值。CI中似乎有一个奇怪的错误。

祝你好运!

于 2012-07-14T09:47:45.213 回答