Session的设置不同于Cookie,必须先启动,在PHP中必须调用session_start()。
注意:session_start()函数之前不能有任何输出,如果不确定php.ini里是否开启建议:
if (! isset($_SESSION)) {
session_start();
}
推荐存session、取session、删除session方法如下:
/**
* Session控制类
*/
class Session{
/**
* 设置session
* @param String $name session name
* @param Mixed $data session data
* @param Int $expire 超时时间(秒)
*/
public static function set($name, $data, $expire=180){
$session_data = array();
$session_data['data'] = $data;
$session_data['expire'] = time()+$expire;
$_SESSION[$name] = $session_data;
}
/**
* 读取session
* @param String $name session name
* @return Mixed
*/
public static function get($name){
if(isset($_SESSION[$name])){
if($_SESSION[$name]['expire']>time()){
return $_SESSION[$name]['data'];
}else{
self::clear($name);
}
}
return false;
}
/**
* 清除session
* @param String $name session name
*/
public static function clear($name){
unset($_SESSION[$name]);
}
}