教你如何使用php的session
来源:才华咖 本文已影响1.56W人
来源:才华咖 本文已影响1.56W人
学会php session可以在很多地方使用,比如做一个后台登录的功能,要让程序记住用户的session,其实很简单,看了下面的文章你就明白了。
PHP session用法其实很简单它可以把用户提交的数据以全局变量形式保存在一个session中并且会生成一个唯一的session_id,这样就是为了多了不会产生混乱了,并且session中同一浏览器同一站点只能有一个session_id,下面我们一起来看看关于session使用方法。
如何使用session,凡是与session有关的,之前必须调用函数session_start();
为session赋值很简单,如:
复制代码 代码如下:
<?php
Session_start();
$Name = "这是一个Session例子";
Session_Register("Name");//注意,不要写成:Session_Register("$Name");
Echo $_SESSION["Name"];
//之后$_SESSION["Name"]为"这是一个Session例子"
?>
在php4.2之后,可以为session直接赋值:
复制代码 代码如下:
<?PHP
Session_Start();
$_SESSION["name"]="value";
?>
取消session可以这样:
复制代码 代码如下:
<?php
session_start();
session_unset();
session_destroy();
?>
读取 session
PHP 内置的` $_SESSION 变量可以很方便的访问设置的 session 变量。
复制代码 代码如下:
<?php
session_start();
echo "登记的用户名为:".$_SESSION["username"]; //输出 登记的用户名为:nostop
?>
检查变量是否被登记为会话变量 session_is_registered
语法:boobean session_is_registered(string name);
这个函数可检查当前的session之中是否已有指定的变量注册,参数name就是要检查的变量名。成功则返回逻辑值true。
复制代码 代码如下:
<?php
session_start();
if(!session_is_registered("gender")){ //判断当前会话变量是否注册
session_register("gender"); //注册变量
}
$gender="女";
echo $_SESSION['gender']; //女
?>
存取当前会话名称 session_name
语法:boolean session_name(string [name]);
这个函数可取得或重新设置当前session的名称。若无参数name则表示获取当前session名称,加上参数则表示将session名称设为参数name。
复制代码 代码如下:
<?php
$sessionName = session_name(); //取得当前 Session 名,默认为 PHPSESSID
$sessionID = $_GET[$sessionName]; //取得 Session ID
session_id($sessionID); //使用 session_id() 设置获得的 Session ID
?>
存取当前会话标识号session_id
语法:boolean session_id(string [id]);
这个函数可取得或重新设置当前存放session的标识号。若无参数id则表示只获取当前session的标识号,加上参数则表示将session的标识号设成新指定的id。
设置 Session 的生存期
复制代码 代码如下:
<?php
session_start
// 保存一天
$lifeTime = 24 * 3600;
setcookie(session_name(), session_id(), time() + $lifeTime, "/");
?>
session_set_cookie_params:设置 Session 的生存期的,该函数必须在 session_start() 函数调用之前调用。
如果客户端使用 IE 6.0 , session_set_cookie_params(); 函数设置 Cookie 会有些问题,所以我们还是手动调用 setcookie 函数来创建 cookie。
复制代码 代码如下:
<?php
// 保存一天
$lifeTime = 24 * 3600;
session_set_cookie_params($lifeTime);
session_start();
$_session["admin"] = true;
?>
设置 Session 文件的保存路径
session_save_path() :必须在 session_start() 函数调用之前调用。
复制代码 代码如下:
<?php
// 设置一个存放目录
$savePath = "./session_save_dir/";
// 保存一天
$lifeTime = 24 * 3600;
session_save_path($savePath);
session_set_cookie_params($lifeTime);
session_start();
$_session["admin"] = true;
?>
<?php
session_start(); //启动Session
$username='nostop';
session_register('username'); //注册一个名为username变量
echo '登记的用户:'.$_SESSION['username']; //登记的用户:nostop 读取Session变量
$_SESSION['age']=23; //声明一个名为age的变量,并赋值
echo '年龄:'.$_SESSION['age']; //年龄:23
session_unregister('username'); //注销Session变量
echo $_SESSION['username']; //空
echo $_SESSION['age'];//23
unset($_SESSION['age']); //注销Session变量
echo '登记的用户:'.$_SESSION['username']; //空
echo '年龄:'.$_SESSION['age']; //空
?>
注意:
1:在调用Session_Start()之前不能有任何输出.例如下面是错误的.
1行
2行 <?PHP
3行 Session_Start();//之前在第一行已经有输出
4行 .....
5行 ?>
提示1:
凡是出现"ers already sent..........",就是Session_Start()之前向浏览器输出信息.
去掉输出就正常,(COOKIE也会出现这种错误,错误原因一样)
提示2:
如果你的Session_Start()放在循环语句里,并且很难确定之前哪里向浏览器输出信息,可以用下面这种方法:
1行 <?PHP Ob_Start(); ?>
........这里是你的程序......
2:这是什么错误
Warning: session_start(): open(/tmpsess_7d190aa36b4c5ec13a5c1649cc2da23f, O_RDWR) failed:....
因为你没有指定session文件的存放路径.
解决方法:
(1)在c盘建立文件夹tmp
(2)打开,找到_path,修改为_path= "c:/tmp"
php中Session存储到Redis的方法
Is a Test of Spoken English Necessary英语四级作文
php如何设置一个严格控制过期时间的session
php实现Session存储到Redis
PHP用Redis替代文件存储Session的方法
PHP中session使用方法详解
如何区分PHP isset()与empty()的使用
PHP会话session 时间设定使用入门
PHP中使用session实现保存用户登录信息
php语言中session用法
Zend studio for eclipse中使php可以调用mysql相关函数的设置方
PHP中session和cookie无效的解决方法
How to Enhance the Sense of Happiness英语四级作文
PHP创建和使用session cookie变量
php使用sessioncookie变量的方法
windows8.1下Apache+Php+MySQL配置教程
如何使用firework制作效果逼真的Philips手机
unit 29 Shopping-Lesson 116
WebSphere MQ Solution Designer认证考试
用Photoshop如何绘制Google Currents图标
如何使你的简历不被PASS?
Unit10 You’re supposed to shake handsB评课稿
教你如何用简历秒杀HR
初三英语《The worlds population Lesson》教案设计
教你如何使用屡见不鲜造句
On Happiness英语作文
关于 response方法的javascript asp教程第六课
帮助别人就是帮助自己 Helping Others is Helping Ours英语作文
小学六年级英语教学设计:The sports meeting Lesson
Help others is helping ourselves英语作文
英语阅读:Life is inevitable consequence of physics
PEP英语UnitThreeisthisyourskirt的教学设计
教你制作iPhone的SOAP应用
PHP实现多服务器共享SESSION 数据
初二下册英语期中Feelings and impressions的考试复习知识
如何使用PHP session
WIndows 8可以支持Photoshop CS6和Lightroom 4
JSP内置session对象的调用方法
英语Lesson14家庭作业:Happymemories
关于PHP中session 存储方式的详细介绍