发布网友 发布时间:2022-04-07 09:21
共2个回答
懂视网 时间:2022-04-07 13:42
首先,在Yii框架中,你不需要像标准PHP代码那样使用session_start(), 在 Yii 框架中,autoStart 属性缺省被设置为true,所以, 虽然没有使用 session_start(),你仍然可以使用 $_SESSION 全局变量,但最好使用 Yii框架封装的 Yii::app->session:设置session变量:Yii::app()->session['var']='value'; (推荐学习:yii框架)
使用: echo Yii::app()->session['var']; 移除:unset(Yii::app()->session['var']);
更为复杂一点的使用时如何配置你的session 配置项可设在 protected/config/main.php的components中:
'session'=>array( 'autoStart'=>false(/true), 'sessionName'=>'Site Access', 'cookieMode'=>'only', 'savePath'='/path/to/new/directory', ),
将session保持在数据库的设置:
'session' => array ( 'class' => 'system.web.CDbHttpSession', 'connectionID' => 'db', 'sessionTableName' => 'actual_table_name', )
热心网友 时间:2022-04-07 10:50
import javax.servlet.http.HttpSession; //需要引入servlet-api.jar HttpSession session = request.getSession(); session.setAttribute("变量名", 值对象); session.getAttribute("变量名"); //此时取出来的是Object, 一般需要强转 session.removeAttribute("变量名"); session.invalidate(); //删除所有session中保存的键 ------------------------------------------------------ HttpSession是不能new出来的, 要从HttpServletRequest中调用getSession方法得到. 一般也就是request.getSession();