存储变量会话php文档介绍内容,php存储用户会话信息的超级全局变量

发布时间:2023-01-08

本文目录一览:

  1. 在php中,如何启动一个会话?如何用会话变量储存信息
  2. php中的会话到底是什么,做什么用啊?和cookie是什么关系
  3. php 用文件来保存变量
  4. php中$_SESSION是一个什么样的变量

在php中,如何启动一个会话?如何用会话变量储存信息

session_start(); // 开启session 。 session_start(); 前不能有任何输出。

存储信息:

$_SESSION['favcolor'] = 'green';
$_SESSION['animal'] = 'cat';
$_SESSION['time'] = time();

获取信息:

echo $_SESSION['favcolor']; // 输出 green

php中的会话到底是什么,做什么用啊?和cookie是什么关系

  1. Session是指浏览器和服务器之间的连接。确保不会出现重复的情况。
  2. 用于保存每个页面跳转时,提供将信息存在服务端以供下一个页面接收的一种方法。

(服务端)Session是指浏览器和服务器之间的连接。服务器的Session分配有一定的方法确保不会出现重复的情况(对于服务器自身)。至于其他网站(服务器)为其他浏览器分配什么样的Session它无法得知也不受影响。 (客户端)Cookie 是一种在远程浏览器端储存数据并以此来跟踪和识别用户的机制。您可以使用 setcookie() 函数来设置 Cookie。Cookie 是 HTTP 头的一部分,因此 setcookie() 函数必须在其它信息被输出到浏览器前调用,这和对 header() 函数的限制是类似的。您可以使用输出缓冲函数来延迟脚本的输出,直到按照您的需要设置好了所有的 cookies 或者其它 HTTP 头信息。 任何从客户端发送给您的 cookies 将会像 GET 和 POST 数据一样被自动的转换为 PHP 变量,该过程受 register_globalsvariables_order 两个设置变量的影响。如果您希望对一个 cookie 变量设置多个值,则需在 cookie 的名称后加 [] 符号。 在 PHP 4.1.0 及更高版本,自动全局变量数组 $_COOKIE 将总是包含所有客户端发来的 cookies 数据。在老版本的 PHP 中,当 track_vars 设置变量打开时(此设置自 PHP 4.0.3 后总是打开的),系统为 cookies 设置的数组变量是 $HTTP_COOKIE_VARS。 php中的session是建立在cookie的基础上而来的,当然cookie,session不只是php有,asp,php,jsp/servlet都拥有他们。

php 用文件来保存变量

比较好的方法是通过序列化来进行保存。 不妨假设有变量 $a, $b, $c,代码如下:

$array = array("a" => $a, "b" => $b, "c" => $c);
$content = serialize($array);
$fp = fopen("file", "w");
@fwrite($fp, $content);

这样,$a, $b, $c 的内容就保存在了一个叫做 file 的文件中了。用的时候可以这么用:

$handle = fopen("file", "r");
$content = fread($handle, filesize("file"));
fclose($handle);
$array = unserialize($content);
$a = $array["a"];
$b = $array["b"];
$c = $array["c"];

php中$_SESSION是一个什么样的变量

$_SESSION 是 php 的超全局变量,记录了当前的会话。

// page1.php
session_start();
echo 'Welcome to page #1';
$_SESSION['favcolor'] = 'green';
$_SESSION['animal'] = 'cat';
$_SESSION['time'] = time();
// Works if session cookie was accepted
echo '<br /><a href="page2.php">page 2</a>';
// Or maybe pass along the session id, if needed
echo '<br /><a href="page2.php?' . SID . '">page 2</a>';

取不到定义的 $_SESSION 值,原因在于缺少 session_start();