session

2015-11-13 10:53:14php


sessionhtml



1.一、在淘宝里,每一个人购买不同的商品,购物车显示的也不同数据库


解决:可用session 实现apache

还有数据库,cookie数组


1.2思考:浏览器

当登陆一个网站,打开每一个网页如何查看到用户名??安全


1.2.一、用数据库服务器

每打开一个页面,就要打开数据库cookie

可能频繁打开数据库网络

——》会形成数据库卡机

一个页面到另外一个页面,你如何知道第一个页面是用这个用户名呢


1.2.二、用cookie

把用户名存在cookie里,再把信息从cookie

但每次都要取一次,形成安全性不高,,在网络传数据,形成带宽浪费

,若是用户多,每一个人都点击了多个页面,形成多大的带宽浪费


1.2.三、session

session 文件保存在服务器里

安全性提升 了

由公司工做人员来维护


第一个页面把数据存在服务器里,打开第二个页面直接在服务器里获取数据就行 了,省了带宽,方便了


1.3思考问题?

1.3用户无需登陆就能够访问管理页面,而且能够对用户进行操做??

解决:一、在页面里添加 用户是否登陆 过

把登陆信息存在在cookie,页面在判断 是否存在cookie,,可是存在漏动,信 息不安全,可能被人随便写点信息也能够保存cookie了

二、用数据库麻烦 

三、最后解决用session 



1.4session 的初步介绍

一、是服务器端技术 

二、浏览器——浏览php文件 把数据保存到session文件里 ,

session的默认路径是c:/widows/temp文件


三、第二个php文件 可从session文件中取出信息



2.1数据库,cookie,session都有增删改查


2.1.1session使用


一、先初始化

session_start();

保存数据

$_SESSION['name']='xian';

$_SESSION['age']='13';

session可保存浮点数据 ,整数,数组,英文,对象,字符串,布尔值

utf-8每一个汉字是以三个字节保存的




2.1.2保存格式 

name|s:8:"xian";

名字key|数据类型:数据大小:值



2.1.3获取session数据 

1.把全部的session获取


echo "<pre>";

printf_r($_SESSION)

echo "</pre>";


二、经过key来指定获取一个值

echo "名字为:".$_SESSION['name'];


$arr1=$_SESSION['arr1'];

echo "<br>";

foreach($arr1 as $key=>$val){

echo "<br>--$var";

}


总结:

一、要使用session都要初始化

二、session文件中能够放入多个,key==>val对

key不能重复

三、一次会话:

以打开一个浏览器窗口,关闭浏览器为一次会话,准确地说是 一个进程



2015-11-19 11:07:22


2.1为何session在使用前必定要初始化?

由于session_start();是为此次会话服务建立一个session文件 ,若是没有session文件下面的操做就不能进行

一次会话可多个session_start();




2.1更新就是修改值

<?php require_once "dog.class.php";?>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 

<title>获取session数据</title>

</head>

<body>

<form id='form1' name='form1' method="post" action='common.php?<?=session_name();?>=<?=session_id();?>'>

</form>

<?php

echo "获取session数据<br>";

session_start();

//$_SESSION['name']='凌汐阳';

$_SESSION['name']='秦逸阳';

//2.经过key来指定获取某个值

echo "<br>名字是:".$_SESSION['name'];


?>

</body>

</html>


结果:

获取session数据

名字是:秦逸阳



2.2函数:

2.2.1require_once();要在开头加载否则在后面不加载了、


2.2.2session_destroy();

把当前浏览器对应的文件 删除

2.2.3获取sessionid

session_id();


2.3php.ini

2.3.1session_save_path("D:/amp");

session文件的路径是可修改的在php.ini中

session.save_path=""


2.3.2session文件默认存放时间是1440秒=24分钟

可在php.ini修改


php.ini中

session.gc_maxlifetime=1440

session的最大生命周期 

用了session就从新计算时间

可修改

修改后要从新启动apache才或用



cookie说是几分钟就几分钟不会从新计算




2.4会话:

一个会话对应一个session文件

同一个浏览器,产生一个session文件 ,

关闭浏览器,再打开浏览器会产生一个新的session文件 

session技术把用户的数据写用用户独占的$_SESSION中存在服务器的某个路径文件中



2.5有些在你退出时会提示是否“安全退出”,

其实这个中间有不少的工做,其中有把服务器或电脑 里的session,和cookie文件 删除 

否则保存在服务器里的session就等待自动垃圾回收




2.6思考 :若是没有手动删除session那么系统是怎么维护



2.7session可用来作什么 ?

一、网上商城的购物车

二、保存登陆用户的信息

三、将某些数据放session中供同一用户的各个页面使用

四、防止用户非法登陆到某个页面





2.八、在使用session时先初始化

方法:

一、须要session的每一个页面写入session_start();

二、用在php.ini设置

sesseion.auto_start=1这个会影响效率


2.9为何 在同一个浏览器里,多页面里,如何知道是哪一个session文件 呢并且知道是同一个session文件 呢?

*服务器如何实现一个session为一个会话浏览器服务的?

 


wKiom1ZNgKmBzzAdAAGnmN972cY336.jpg

相关文章
相关标签/搜索