设为首页 收藏本站
查看: 535|回复: 0

[经验分享] php基础知识(3)-会话使用

[复制链接]

尚未签到

发表于 2017-3-30 08:19:49 | 显示全部楼层 |阅读模式
php基础知识-会话使用
示例代码下载页http://xieye.iteye.com/blog/1336095(在附件)
会话是指:服务器对同一个用户在一段时间内的各种连接的识别。
会话原理,有多种,但实际上主要是cookie。
cookie原理:web协议规定,服务器返回请求时可以将一小部分数据存在浏览器客户端,浏览器在下次往同域名服务器请求信息时,会
同时自动把该段信息再发送给服务器,而这一切是对用户透明的,用户不需要理解这些东西可以照常上网。
cookie的一个特点是,服务器存客户端时可以带有时间参数,浏览器会根据这个参数决定cookie是否过期来处理,如果过期了,这个cookie就
不会到服务端。
cookie的另一个特点是多个名称和值的组合。
php实现会话的机制:
php会话开启有两种途径:
一种设置php.ini里的大约1014行
session.auto_start = 0;
改为1的话,会话会自动开启。
第二种方法是使用session_start()函数。
在现实应用中,一般都取消配置文件中的自动开启,而手动使用函数开启会话。
开启了会话之后,
假如客户端没有传来一个称为PHPSESSID的cookie的话,那么服务端会在返回时自动发送该名称的cookie给用户,值是随机的一串乱码
并在服务器的会话目录中建一个文件,名字是名为PHPSESSID的cookie的值,内容为空。
假如客户端传来一个名为PHPSESSID的cookie,则服务器会按照该cookie的值到会话目录中找到对应文件,并把值取出放进会话全局数组中,
程序可以随意读取。
可以简单理解为php会话是以(名为phpsessid的cookie的值)这个文件名对应的文件里的内容。
对于php程序开发的网站,在不做特殊修改php配置的情况下,
用户把浏览器关闭,再打开,一般来说会生成新的会话。原因是php发送的cookie默认浏览器关闭则cookie过期
程序还可以随意的修改会话里的内容。

会话应用,登录,注册等。
例子1:展示,不使用数据库,使用会话来记住客户在网站中留下的痕迹。
http://localhost/command/peixun/session/6.php
可以点击文章查看,点击任意文章(例子就两篇)查看后,再点击返回,
可以发现系统能够记录用户查看过的文章,使用的是会话。
说明:如果浏览器关闭,就不行了,如果想长期保存,则需要用户登录机制,且保存在数据库。
      存cookie方案不推荐,因为cookie容量最多2K,实在是太小了。

代码可下载
6.php

<?php
//会话的第一个例子
require_once('../Public/CommandLine.php');
session_start();
if (!isset($_SESSION['news'])) {
$_SESSION['news'] = array();
}
echo '
请查看文章
<ul>
<li><a href="7.php">多家银行否认用户资料外泄 工信部要求网站自查</a></li>
<li><a href="8.php">春运火车票开售 各地开设网络购票换票窗口</a></li>
</ul>
最近看过的文章列表
<br />
<ul>
';

foreach ($_SESSION['news'] as $value) {
echo '<li>' . $value ."</li>";
}
echo '</ul>';


7.php

<?php
//会话的第1个例子
require_once('../Public/CommandLine.php');
session_start();
$_SESSION['news'][] = '多家银行否认用户资料外泄 工信部要求网站自查('.date('Y-m-d H:i:s') .')';
$html = <<<longs
<html>
<h2>多家银行否认用户资料外泄 工信部要求网站自查</h2>
本报讯 (记者林其玲 阳淼 李媚玲 苏曼丽)互联网用户数据泄密事件继续发酵。继CSDN、天涯、新浪等互联网公司后,京东商城、网易公司、支付宝也被卷入“泄密门”。昨日又有网友爆料称,交通银行和民生银行用户资料也遭外泄。
昨日中午,有爆料称交通银行7000万客户、民生银行3500万用户以及工行用户资料外泄,泄露数据包括用户的姓名、卡号、密码等敏感信息,并发布信息截图。

<br >
<a href="6.php">返回列表页</a>
</html>
longs;
echo $html;


8.php

<?php
//会话的第一个例子
require_once('../Public/CommandLine.php');
session_start();
//if (!isset($_SESSION['news'])) {
//    $_SESSION['news'] = array('春运火车票开售 各地开设网络购票换票窗口');
//}
$_SESSION['news'][] = '春运火车票开售 各地开设网络购票换票窗口('.date('Y-m-d H:i:s') .')';
$html = <<<longs
<html>
<h2>春运火车票开售 各地开设网络购票换票窗口</h2>
中广网综合报道 今天(29日)是各地列车春运订票的第一天,又是启动网络购票第一年,各大火车站迎来售票高峰。各地记者实地体验多途径购票,看看今年网络购票能不能解决买票难题。
  武汉高校火车票预售期调整为28天 学生青睐窗口买票

  <br >
<a href="6.php">返回列表页</a>
  </html>
longs;
echo $html;

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-357338-1-1.html 上篇帖子: 使用php模拟post提交数据 下篇帖子: php error_reporting 和 display_errors
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表