Home  >  Article  >  php教程  >  php session

php session

WBOY
WBOYOriginal
2016-06-06 19:52:27858browse

session_id()功能: 获取设置当前回话ID。 函数说明: string session_id ([ string $id ] ) 参数: 如果指定了参数$id,那么函数会替换当前的回话id. session_id()函数必须在session_start()函数之前调用. 返回值: session_id返回当前会话id字符串。如果当前没

session_id()功能:

获取设置当前回话ID。

函数说明:

string session_id ([ string $id ] )

参数:

如果指定了参数$id,那么函数会替换当前的回话id. session_id()函数必须在session_start()函数之前调用.

返回值:

  session_id返回当前会话id字符串。如果当前没有产生会话,则返回空字符串"".

代码示例1:

输出 session_id()

1

2

3

4

<?php

    session_start();

    echo session_id(); 

?>

 

设置 session_id()

1

2

3

4

5

<?php

    session_id("NowaMagic");

    session_start();

    echo session_id();

?>

 

代码示例2:

用户会话保存变量

1.php文件

1

2

3

4

<?php

session_start();

$_SESSION["str"]="我是中国人!!!";

?>

2.php文件

1

2

3

4

<?php

session_start();

echo $_SESSION["str"];

?>

先执行1.php,再执行2.php,会看到在1.php里面设置的变量被输出了,会话用来保存跨页面的变量。

 

php中的session_id函数恢复session的内容方法

  php的session是可以程序恢复的,这个和java不太一样。session的恢复机制可以实现多个应用程序session的共享,因为php的session都是以文件形式或者数据库存储的。首先是session_id的获取是通过session_id()函数获取,这个值可以进行传递。程序恢复session,首先要知道session_id,大家通过手册可以知道session的恢复通过session_id($id);但是在恢复时要注意一个先后顺序,要得到之前session的内容,必须在session_start()之前执行session_id($id),这样才能在执行了session_start时初始化session的时候恢复到之前的内容,否则的话你得到的是一个空的session,你什么也得不到。之前session被重新初始化了。这个和session_start()的作用有密切关系,因为session_start告诉php,session要初始化,要从session文件中反序列化session内容,所以session_start的作用就是把之前存储的文件内容反序列化。session_start序列化之前要知道session_id,如果没有就生成一个新的session_id。如果有就反序列化相应文件的内容。

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn