您的位置:首页 > 编程语言 > PHP开发

PHP会话技术-Session

2013-05-09 15:30 309 查看
Session 是服务端技术,利用这个技术,服务器在运行时可以为每一个用户的浏览器创建一个其独享的session文件,由于session为用户浏览器独享,所以用户在访问服务器的web资源时,可以把各自的数据放在各自的session中,当用户再去访问服务器中的其它web资源时(前提会话没有结束),其他web资源再从用户的各自session中取出数据为用户服务。

Session 是最重要的用户行为跟踪技术(防止用户非法登录/验证码等)。

默认情况下session文件被保存在C:/Windows/temp 目录下。

下面是对session的CRUD的操作

1、创建session

<?php

//创建session
//初始化session
session_start();
//保存数据
$_SESSION['name']="pawm";
//session 文件中可以保存dobule,integer,string,bool, array,object

//保存bool integer
$_SESSION['age']=20;
$_SESSION['isBoy']=true;

$_SESSION['arr']=array("北京","张三","xiaoming");

//保存对象到session 中
class Dog{
private $name;
private $age;
private $intro;

public function __construct($name,$age,$intro){

$this->name=$name;
$this->age=$age;
$this->intro=$intro;
}
}

$dog1=new Dog("狗狗",5,"很听话的狗");
$_SESSION['dog1']=$dog1;
echo "保存成功";
?>


要点:

1、保存的数据格式:name|s:4:"pawm";age|i:20;isBoy|b:1;

  name:就是key

  s:表示数据类型

  4:表示数据大小

2、session 中可以保存的数据类型是:dobule,integer,string,bool, array,object

2、取出session操作

<?php

require_once "Dog.class.php";
echo "<pre>";
//使用到session的地方必须要初始化session
session_start();
//取出全部
print_r($_SESSION);

echo "</pre>";

//单个取出
//$name=$_SESSION['name'];
if(!empty($_SESSION['name'])){
echo "名字是:".$_SESSION['name'];
}else{
echo 'name没有了<br>';
}
if(!empty($_SESSION['age'])){
echo "年龄是:".$_SESSION['age']."<br>";;
}else{
echo 'age没有了<br>';
}
//echo $_SESSION['isBoy'];  //输出1

if(!empty($_SESSION['arr'])){

$arr=$_SESSION['arr'];
foreach($arr as $key=>$val){
echo "$val";
}
}else{
echo 'arr没有了<br>';
}
echo "<br>";
//取出对象的实例的时候要把类的信息引入进来,不然出现错误

if(!empty($_SESSION['dog1'])){
$dog=$_SESSION['dog1'];
//var_dump($dog);
echo "<br>".$dog->show();
//echo $dog->name;
//echo '名字是'.$name."年龄是".$age;
}else{
echo 'dog没有了<br>';
}
?>


3、更新session

<?php

//更新session

session_start();
//更新name
$_SESSION['name']="小明";

echo "更新成功";

?>


4、删除session

<?php

//删除session

session_start();
//单个删除,删除name
//unset($_SESSION['name']);

//删除全部
session_destroy();
echo "删除session成功";

?>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: