PHP Session 变量
发布:smiling 来源: PHP粉丝网 添加日期:2014-08-02 14:12:50 浏览: 评论:0
当您运行一个应用程序时,您会打开它,做些更改,然后关闭它,这很像一次会话,计算机清楚你是谁,它知道你何时启动应用程序,并在何时终止,但是在因特网上,存在一个问题:服务器不知道你是谁以及你做什么,这是由于 HTTP 地址不能维持状态.
通过在服务器上存储用户信息以便随后使用,PHP session 解决了这个问题(比如用户名称、购买商品等),不过,会话信息是临时的,在用户离开网站后将被删除,如果您需要永久储存信息,可以把数据存储在数据库中.
Session 的工作机制是:为每个访问者创建一个唯一的 id (UID),并基于这个 UID 来存储变量。UID 存储在 cookie 中,亦或通过 URL 进行传导.
开始 PHP Session
在您把用户信息存储到 PHP session 中之前,首先必须启动会话,session_start() 函数必须位于 <html> 标签之前:
- <?php session_start(); ?>
- <html>
- <body>
- </body>
- </html>
上面的代码会向服务器注册用户的会话,以便您可以开始保存用户信息,同时会为用户会话分配一个 UID.
存储 Session 变量
存储和取回 session 变量的正确方法是使用 PHP $_SESSION 变量:
- <?php
- session_start();
- // store session data
- $_SESSION['views']=1;
- ?>
- <html>
- <body>
- <?php
- //retrieve session data
- echo "Pageviews=". $_SESSION['views'];
- ?>
- </body>
- </html>
- //输出:Pageviews=1
在下面的例子中,我们创建了一个简单的 page-view 计数器,isset() 函数检测是否已设置 "views" 变量,如果已设置 "views" 变量,我们累加计数器,如果 "views" 不存在,则我们创建 "views" 变量,并把它设置为 1:
- session_start();
- if(isset($_SESSION['views']))
- $_SESSION['views']=$_SESSION['views']+1;
- else
- $_SESSION['views']=1;
- echo "Views=". $_SESSION['views'];
php session_start()关于Cannot send session cache limiter - headers
解决办法:修改php.ini中的session.auto_start = 0 为 session.auto_start = 1 ,output_buffering =改为on或者任何数字,然后别忘记重新启动...
错误提示:
Warning: Cannot send session cookie - headers already sent
Warning: Cannot send session cache limiter - headers already sent
分析及解决办法:
这一类问题的原因是你在程序中使用PHP session_start()时,之前已经有实际的html内容输出了,或许你说,我没有啊,我只不过是echo或print一条消息了,很抱歉,你的echo或print语句所产生的输出,就是实际的html内容输出,解决此类问题的办法是,将你的session_start()调到程序的第一行.
Warning: Trying to destroy uninitialized session in
分析及解决方法
出类这样的提示,一般情况都是你直接调session_destroy()函数造成的,很多的朋友认为session_destroy()函数可以独立的运行,其实不然,解决的方法是在你调session_destroy()函数之前,要用PHP session_start()开启session的功能.
Tags: PHP Session 变量
相关文章
- ·php简单设置与删除cookie代码(2013-11-13)
- ·phpmyadmin登录模式为http(2013-11-29)
- ·PHP购物车产生代码(2013-12-09)
- ·PHP中常见的Session问题(2013-12-09)
- ·php session工作原理分析(2014-01-03)
- ·Mysql存储PHP Session(2014-01-09)
- ·php中利用cookie实现购物车实例(2014-01-11)
- ·用PHP控制您的浏览器cache(2014-01-13)
- ·PHP如何读取COOKIES(2014-01-14)
- ·php $_COOKIE简单应用实例(2014-01-15)
- ·正确理解cookie和session机制原理(2014-02-10)
- ·php中session一些基础知识(2014-02-16)
- ·php中session学习笔记(2014-02-17)
- ·php中session与thinkphp中session的一些用法(2014-02-21)
- ·php中session实现保存用户登录信息(2014-03-11)
- ·php setcookie详解用法(2014-05-23)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)