学会php session可以在很多地方使用,比如做一个后台登录的功能,要让程序记住用户的session,其实很简单,看了下面的文章你就明白了。

PHP session用法其实很简单它可以把用户提交的数据以全局变量形式保存在一个session中并且会生成一个唯一的session_id,这样就是为了多了不会产生混乱了,并且session中同一浏览器同一站点只能有一个session_id,下面我们一起来看看关于session使用方法。

如何使用session,凡是与session有关的,之前必须调用函数session_start();

为session赋值很简单,如:

Session_start();

$Name = "这是一个Session例子";

Session_Register("Name");//注意,不要写成:Session_Register("$Name");

Echo $_SESSION["Name"];

//之后$_SESSION["Name"]为"这是一个Session例子"

?>

在php4.2之后,可以为session直接赋值:

Session_Start();

$_SESSION["name"]="value";

?>

取消session可以这样:

session_start();

session_unset();

session_destroy();

?>

读取 session

PHP 内置的 $_SESSION 变量可以很方便的访问设置的 session 变量。

session_start();

echo "登记的用户名为:".$_SESSION["username"];    //输出 登记的用户名为:nostop

?>

检查变量是否被登记为会话变量 session_is_registered

语法:boobean session_is_registered(string name);

这个函数可检查当前的session之中是否已有指定的变量注册,参数name就是要检查的变量名。成功则返回逻辑值true。

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。

$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 的生存期

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。

// 保存一天

$lifeTime = 24 * 3600;

session_set_cookie_params($lifeTime);

session_start();

$_session["admin"] = true;

?>

设置 Session 文件的保存路径

session_save_path() :必须在 session_start() 函数调用之前调用。

// 设置一个存放目录

$savePath = "./session_save_dir/";

// 保存一天

$lifeTime = 24 * 3600;

session_save_path($savePath);

session_set_cookie_params($lifeTime);

session_start();

$_session["admin"] = true;

?>

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:

凡是出现"........headers 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)打开php.ini,找到session.save_path,修改为session.save_path= "c:/tmp"

php session string,教你如何使用php session相关推荐

  1. 教你如何使用php session

    source: http://www.jb51.net/article/42500.htm PHP session用法其实很简单它可以把用户提交的数据以全局变量形式保存在一个session中并且会生成 ...

  2. C# 系统应用之Cookie\Session基础知识及php读取Cookie\Session

    本文主要是毕业设计"个人电脑使用记录清除软件"系列系统应用文章中关于Cookie方面的知识,主要从介绍Cookie的基础知识和PHP关于Cookie\Session两个会话管理机制 ...

  3. java session事件,Java开发网 - 再论Session事件的捕获

    最近又有网友问到,如何用Session实现在线统计的功能,其实只要对Servlet规范详细了解一下,明白其基本原理,编写一个类似的功能并不是一件很复杂的事情.我以前的一篇文章,最初也是发表在JavaR ...

  4. java session 永不过期_Java Web Application使Session永不失效(利用cookie隐藏登录)

    在做 Web Application 时,因为 Web Project 有 session 自动失效的问题,所以如何让用户登录一次系统就能长时间运行三个月,就是个问题. 后来,看到 session 失 ...

  5. (重温)JavaWeb--Cookie 和 Session入门总结(了解cookie和session这一篇就够了)

    1.Cookie 饼干 a)什么是 Cookie? Cookie 翻译过来是饼干的意思. Cookie 是服务器通知客户端保存键值对的一种技术. 客户端有了 Cookie 后,每次请求都发送给服务器. ...

  6. 【微服务之分布式Session】Session机制详解及分布式中Session共享解决方案

    一.为什么要产生Session http协议本身是无状态的,客户端只需要向服务器请求下载内容,客户端和服务器都不记录彼此的历史信息,每一次请求都是独立的. 为什么是无状态的呢?因为浏览器与服务器是使用 ...

  7. go session 存取数据 gin sessions包存储session

    今天要用到session存储登录用户信息的时候记录一下这个学习过程,同时,解决相应的问题 开始应用session r := gin.Default() store := cookie.NewStore ...

  8. 集群共享session;shiro实现session共享;springboot实现redis共享session;

    shiro实现共享session;springboot集成redis共享session;集群环境下shiro共享session 一.实现session共享 1. 聊聊session共享 2. shir ...

  9. Session机制详解及分布式中Session共享解决方案

    Session机制详解及分布式中Session共享解决方案 参考文章: (1)Session机制详解及分布式中Session共享解决方案 (2)https://www.cnblogs.com/jing ...

  10. python如何使用session和cookie_django进阶之cookie和session的使用示例

    Cookies :是浏览器为 Web 服务器存储的一小段信息. 每次浏览器从某个服务器请求页面时,它收到服务器回发送过来的cookies.它保存在浏览器下的某个文件夹下. Session:Django ...

最新文章

  1. 嵌入式系统想学习笔记之五--uboot之常用命令
  2. Vue怎样新建并启动项目(图文教程详解)
  3. 谁占用了我的Buffer Pool
  4. 开发工具:Git 代码回退功能详解,很实用!
  5. shell编程之awk
  6. Oracle获取指定时间段内的所有日期
  7. .net chart控件的使用技巧
  8. 国际区块链专利:中国蚂蚁、平安、腾讯、复杂美位列前十
  9. 推荐一些本科生理工科书籍
  10. 现代治理10.0:Diligent研究院报告称,进入董事会的少数女性董事在董事会领导职务的角逐中超越男性董事
  11. CPC认证的常规测试项目
  12. python学习笔记9——第八章 异常
  13. hdoj--1495--非常可乐(搜索+隐式图)
  14. 【财富空间】幸福,就是有这3种能力
  15. matlab中求x的y次幂,Matlab求关于x,y的三元函数的幂的拟合
  16. 5.2 BGP水平分割
  17. 【Linux上分之路】第十二篇:Linux三剑客grep、sed、awk
  18. wlan autoconfig 启动错误:1068依赖服务或组无法启动解决方案
  19. flink实时写入数据到 clickhouse 报错Could not initialize class ru.yandex.clickhouse.ClickHouseUtil
  20. 引水入城(dfs的做法)洛谷p1514

热门文章

  1. Android 开发错误集锦
  2. 31.go 函数式编程
  3. 16.docker ps
  4. 18.输入和输出函数
  5. 18.Argument replacement
  6. 第5讲 zend原理深度剖析
  7. 桌面有u盘符计算机里没有了,教你电脑不显示u盘盘符怎么办
  8. LoadRunner监控SQLServer
  9. Linux命令整理-Ubuntu
  10. 如何为Redis中list中的项设置过期时间