PHP中session函数的问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP中session函数的问题相关的知识,希望对你有一定的参考价值。
有没有人告诉我session的一些原理和一些例子啊?
<?phpsession_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('您尚未登录或者登陆超时!请重新登陆');
这个小程序是什么意思?
把信息保存到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_id()函数详细介绍,会话id生成过程及session id长度
PHP session_set_cookie_params 中断 php session_start() 函数和 $_SESSION 变量