首页 » SEO优化 » php里session用法技巧_PHP运用session

php里session用法技巧_PHP运用session

访客 2024-11-17 0

扫一扫用手机浏览

文章目录 [+]

调用session_start()函数打开一个session。

例:session_start.php

php里session用法技巧_PHP运用session

<?php

php里session用法技巧_PHP运用session
(图片来自网络侵删)

session_start();//打开一个session

......//其他代码

?>

虽然session_start()函数之前不能发送信息,但是可以调用ini_set()等后台掌握函数。

例:session_ini.php

<?php

ini_set(‘session.use_cookies’, 1);//设置php.ini中的session.use_cookies为真

ini_set(‘session.use_only_cookies’, 1);//设置php.ini中的session.use_only_cookies为真

session_start();//打开一个session

......//其他代码

?>

注:通过设置php.ini中的session.auto_start => 1 来打开自动session ,让php在用户每次访问时自动打开一个session。
如果设置自动打开session,那么就不能把一个工具放在session中。

2.访问session中的数据

1)把数据写入session

把数据写入session的意思便是对$_SESSION变量赋值。
例如:$_SESSION[‘name’] = ‘zhangsan’。

2)从session中读取数据

例如:$NAME = $_SESSION[‘name’]。

注:如果session变量是利用session_register()注册的。
检讨变量是否存在就一定利用session_is_register()函数检讨,但由于安全缘故原由不建议直策应用session_register()。

在读取$_SESSION变量前可以用isset( $_SESSION[‘name’])来检讨$_SESSION[‘name’]是否存在,如果存在,返回TRUE,否则返回FALSE。

来看看如何写入session和读取session数据

例:session_page1.php

<?php

session_start(); //打开一个session

print 'Welcome to page 1'; //打印Welcome to page 1

$_SESSION['name'] = 'liuran';//$_SESSION['name']赋值为liuran

$_SESSION['ID'] = '123456';//$_SESSION['ID']赋值为123456

$_SESSION['time'] = time();//$_SESSION['time']赋值为当前韶光

print '<br /><a href=\"大众session_page2.php\公众>page 2 with cookie</a>';//打印page 2 with cookie路径

print '<br /><a href=\"大众session_page2.php?'.SID.'\公众>page 2 with SID</a>';//打印page 2 with SID路径

//unset($_SESSION['name']);

?>

session_page2.php

<?php

session_start();//打开一个session

print '<pre>';//按预格式化的文本

print 'Welcome to page 2<br />';//打印Welcome to page 2

if (isset($_SESSION['name'])) { //判断$_SESSION['name']是否存在

print '$_SESSION[\'name\']='.$_SESSION['name'].'<br />'; //如果$_SESSION['name']存在则读取并打印其值

} else {

print '$_SESSION[\'name\'] 没有设置<br />'; //如果$_SESSION['name']不存在则提示用户其没有设置

}

if (isset($_SESSION['ID'])) {//判断$_SESSION['ID']是否存在

print '$_SESSION[\'ID\']='.$_SESSION['ID'].'<br />';//如果$_SESSION['ID']存在则读取并打印其值

} else {

print '$_SESSION[\'ID\'] 没有设置<br />'; //如果$_SESSION['ID']不存在则提示用户其没有设置

}

if (isset($_SESSION['time'])) {//判断$_SESSION['time']是否存在

print '$_SESSION[\'time\']='.date('Y m d H:i:s', $_SESSION['time']).'<br />';//如果$_SESSION['time']存在则读取并打印其值

} else {

print '$_SESSION[\'time\'] 没有设置<br />'; //如果$_SESSION['time']不存在则提示用户其没有设置

}

print '$_SESSION=';//打印$_SESSION=

var_dump($_SESSION);//打印$_SESSION的数据机构,用于给读者展示其内部构造

print '<br /><a href=\"大众session_page1.php\"大众>page 1</a>';//打印page 1路径,方便返回

?>

结果:

3.把数据从session中打消

1)unset()函数

实质上$_SESSION是一个标准的数组,可以像数组那样写入和读取。
以是把数据从session中打消也可像操作数据那样利用unset()函数。
例如unset($_SESSION['name'])

回到session_page1.php中测试。

结果:

2)session_destroy()

如果结束当前的session则调用session_destroy()函数,这个函数会清空当前会话中的以是资源。
但不会打消与当前session干系联的全局变量,也不会删除客户真个session cookie。

例:

<?php

session_start();//打开一个session

$_SESSION = array();//删除所有的session变量

if (isset($_COOKIE[session_name()])) { //调用session_name()获取session id ,然后检讨$_COOKIE是否包含这个session

setcookie(session_name(), '', time()-42000, '/');//调用setcookie()删除包,含此session id 的cookie

}

session_destroy();//末了彻底销毁一个session

?>

标签:

相关文章

介绍百度网盘,云端存储时代的创新先锋

随着互联网技术的飞速发展,云计算已经成为现代生活不可或缺的一部分。而在这其中,百度网盘作为国内领先的云存储服务提供商,以其卓越的性...

SEO优化 2025-01-03 阅读1 评论0

介绍监控屏蔽技术,守护个人隐私的利器

随着科技的发展,监控设备已经深入到我们生活的方方面面。在享受便利的隐私安全问题也日益凸显。如何有效屏蔽监控,保护个人隐私,成为人们...

SEO优化 2025-01-03 阅读1 评论0

介绍番号观看方法,轻松驾驭影视世界

随着互联网的普及,网络影视资源日益丰富,番号作为影视作品的标识码,已经成为广大观众了解、搜索和观看影视作品的重要途径。如何正确地使...

SEO优化 2025-01-03 阅读1 评论0

介绍盗微信号黑幕,网络安全的严峻挑战

在数字化时代,微信已成为人们生活中不可或缺的通讯工具。随着微信用户数量的激增,盗微信号的事件也日益增多。本文将深入剖析盗微信号的方...

SEO优化 2025-01-03 阅读1 评论0