PHP中session函数的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP中session函数的问题相关的知识,希望对你有一定的参考价值。

有没有人告诉我session的一些原理和一些例子啊?

<?php
session_start();//使用session前必须启动会话
$_SESSION['views']=1;//赋予SESSION值
//判断SESSION是否存在
if(isset($_SESSION['views']))

echo $_SESSION['views'];//输出session的值

else

echo "session不存在!";

//unset() 函数用于释放指定的 session 变量
unset($_SESSION['views']);
//也可以通过 session_destroy() 函数彻底终结 session
//注:session_destroy() 将重置 session,您将失去所有已存储的 session 数据
session_destroy();
?>追问

我想问一下,第五行的那行代码if(isset($_SESSION['views'])) 中的isset 可以用empty取代吗? 是什么意思么

追答

empty() 认为没有配置,isset() 能够取得 $id 的值
$id=0;
empty($id)?print "It's empty .":print "It's $id .";
//结果:It's empty .
print "";
!isset($id)?print "It's empty .":print "It's $id .";
//结果:It's 0 .
所以这里isset不能换成empty

追问

能不能+ 你的扣...扣问呢

追答

可以的,你可以在线联系我Q:1606083272

参考技术A session是php的一个全局函数(似乎叫做函数不怎么恰当)
他是以数组形式存在的
主要作用是用于在服务器端储存信息,他具有唯一性,也就是每个用户之间、每个域之间的储存的session的值都是不相同的,由于这个特性,一般都会使用session来记录用户的唯一性数据,经常用于判断用户是否登录(有会员系统的程序)
在php中使用session之前都需要对session进行开启,代码是session_start();
但在写这个代码之前不能有任何输出
比如
<?php
echo 1;
session_start();
?>
或者
<html>
<?php session_start();?>
等都是错误的
比如判断用户是否登录:
<?php
session_start();
$UserName = $_SESSION['username'];
if ( empty( $UserName ) )
die('您尚未登录或者登陆超时!请重新登陆');
追问

<?php
session_start();
$UserName = $_SESSION['username'];
if ( empty( $UserName ) )
die('您尚未登录或者登陆超时!请重新登陆');
这个小程序是什么意思?

参考技术B 页面上一般使用:
把信息保存到session中:
session_start();
$_SESSION['sessionIndex']=value;
其他页面中读取session中的值:
session_start();
echo $_SESSION['sessionIndex'];
就是一个保存全局信息的变量即可!
参考技术C 你就把session当成存在服务端内存中的cookie就是了 参考技术D 楼上的朋友都答得很对,文字描述可能吧主理解的不清楚,个人建议你可以看看韩顺平php教程 session那章,有原理也有例子。

PHP基础知识--函数

session函数:

session_cache_expire 返回当前缓存的到期时间

session_decode 解码会话数据(反序列化方法不同于unserialize(),序列化方法是php内置的,可以通过session.serialize_handler()配置项进行修改)

session_destroy 销毁一个会话中的全部数据

session_encode 将当前会话数据编码为一个字符串(反序列化方法不同于serialize(),序列化方法是php内置的,可以通过session.serialize_handler()配置项进行修改)

session_get_cookie_params() 获取会话cookie的参数

session_id() 可以用来获取/设置 当前会话id

session_name() 读取/设置会话的名称(session_name()返回当前会话的名称,如果指定name参数,session_name()函数会更新会话名称,并返回原来的会话名称)

session_save_path()(读取/设置当前会话的保存路径)

session_status() 返回当前会话的状态

session_unset() 释放所有的会话变量

 

以上是关于PHP中session函数的问题的主要内容,如果未能解决你的问题,请参考以下文章

PHP 在类函数中使用 $_SESSION 变量作为默认值

php中session_id()函数详细介绍,会话id生成过程及session id长度

PHP session_set_cookie_params 中断 php session_start() 函数和 $_SESSION 变量

php中如何启动Session会话

php中Session使用方法详解

php中Session使用方法详解