//session_start(),先在服务器创建一个session文件的名字,然后再把文件名字响应给客户端
session_start();
session:
应用场景:多个php文件之间共享数据
防跳墙操作:
防止未经登陆,直接进入到服务器首页
check.php 登陆验证操作(登陆成功之后,在session文件中写入一个数据)
index.php 后台首页(查询session文件是否有,check.php写入的数据)
session增删改查:
写入文件:
session_start();
//写入session数据,数据可以是除了resource类型之外的任意数据
$_SESSION['name'] = array('zhangsan','lisi');
读取数据:
session_start();
var_dump($_SESSION['name']);
修改数据:
$_SESSION['name'] = 'wangwu';
删除数据:
session_start();
//删除一个session数据
unset($_SESSION['sex']);
//将所有的session全部删除
//思路:找到session数组中的每一个元素,分别unset
foreach($_SESSION as $k=>$v){
unset($_SESSION[$k]);
}
//将session文件给删除
session_destroy();
购物车应用:
good_list.php
<body>
<ul>
<li>
<span>笑傲江湖</span>
<a href="buy.php?name=笑傲江湖">点击购买</a>
</li>
<li>
<span>天龙八部</span>
<a href="buy.php?name=天龙八部">点击购买</a>
</li>
<li>
<span>射雕英雄传</span>
<a href="buy.php?name=射雕英雄传">点击购买</a>
</li>
<li>
<span>雪山飞狐</span>
<a href="buy.php?name=雪山飞狐">点击购买</a>
</li>
</ul>
<a href="show_cart.php">点击进入购物车</a>
buy.php
<?php
//首先,接受购买的商品
//地址栏传递的参数用get
$book = isset($_GET['name'])?$_GET['name']:'';
//将商品信息存储到session文件
session_start();
if(isset($_SESSION['cart'][$book])){
$_SESSION['cart'][$book]++;
}else{
//说明没有购买这本书,数量为1
$_SESSION['cart'][$book] = 1;
}
echo '购买成功';
echo '<a href="good_list.php">点击返回购物车列表</a>';
?>
show_cart.php
<?php
//读取session文件中的商品信息
session_start();
foreach ($_SESSION['cart'] as $k=>$v){
echo '您购买了:<br>'.$k.'数量:'.$v.'<br>';
}
?>