PHP和ASP的session对比
一直以来自己都是以asp开发为主,PHP仅有小量的使用!
前几天,一个小小的错误,导致PHP程序出错,郁闷死了。
还我在服务器上捣鼓了N久!搞了半天是自己在验证的时候忘记开启session了。
由此想到了ASP和PHP在session管理上的不同。
默认,ASP的SEssion就是启用的,需要使用,直接赋值就可以了!
但是:PHP一定要自己先用session_start() 启动,才能赋值。(php.ini设置更改过的除外!)
我自己就是因为没有使用这个函数,所以,会员老是不能登录-_-!
在过期时间设置上,ASP 设置比较灵活一些,默认是2o分钟,要自定义,直接用session.timeout=时间间隔就可以了!
但是,PHP中,默认是24分钟,而且这个时间需要改变PHP.INI设置才行,但并不是每个人都能控制它滴!
今天在深空上看到一篇关于php的SESSION会话使用入门到文章,看到了一个函数:session_set_cookie_params(); 他必须在session_start() 之前使用!
例子:
没有关系。我们可以使用SESSION和COOKIE结合的方式在做验证:
例子:
在ASP中,session 是直接保存在内存中的,而不是以文件的方式保存的,PHP是以文件的方式,默认保存在系统的临时文件夹中的,这个似乎不安全,因此,PHP提供一个函数让你可以改变它的保存位置:session_save_path(); 这个函数也和前面的session_set_cookie_params()一样,要在session_start()函数之前 (要是在之后,你怎么保存-_-)!
如果客户端禁止了cookie,ASP方面:我还没见过有人解决过(估计是我孤陋寡闻!)
PHP倒是提供函数session_id(),让我们通过URL的方式传递。好帅 -_-!
使用的例子:
暂时就想到这么多!
如果你知道更多,欢迎留言给我!
前几天,一个小小的错误,导致PHP程序出错,郁闷死了。
还我在服务器上捣鼓了N久!搞了半天是自己在验证的时候忘记开启session了。
由此想到了ASP和PHP在session管理上的不同。
默认,ASP的SEssion就是启用的,需要使用,直接赋值就可以了!
但是:PHP一定要自己先用session_start() 启动,才能赋值。(php.ini设置更改过的除外!)
我自己就是因为没有使用这个函数,所以,会员老是不能登录-_-!
在过期时间设置上,ASP 设置比较灵活一些,默认是2o分钟,要自定义,直接用session.timeout=时间间隔就可以了!
但是,PHP中,默认是24分钟,而且这个时间需要改变PHP.INI设置才行,但并不是每个人都能控制它滴!
今天在深空上看到一篇关于php的SESSION会话使用入门到文章,看到了一个函数:session_set_cookie_params(); 他必须在session_start() 之前使用!
例子:
<?php
// 保存一天
$lifeTime = 24 * 3600;
session_set_cookie_params($lifeTime);
session_start();
$_SESSION["admin"] = true;
?>
没有关系。我们可以使用SESSION和COOKIE结合的方式在做验证:
例子:
<?php
session_start();
// 保存一天
$lifeTime = 24 * 3600;
setcookie(session_name(), session_id(), time() + $lifeTime, "/");
?>
在ASP中,session 是直接保存在内存中的,而不是以文件的方式保存的,PHP是以文件的方式,默认保存在系统的临时文件夹中的,这个似乎不安全,因此,PHP提供一个函数让你可以改变它的保存位置:session_save_path(); 这个函数也和前面的session_set_cookie_params()一样,要在session_start()函数之前 (要是在之后,你怎么保存-_-)!
如果客户端禁止了cookie,ASP方面:我还没见过有人解决过(估计是我孤陋寡闻!)
PHP倒是提供函数session_id(),让我们通过URL的方式传递。好帅 -_-!
使用的例子:
<?php
// 取得当前 Session 名,默认为 PHPSESSID
$sessionName = session_name();
$sessionID = $_GET[$sessionName];
// 使用 session_id() 设置获得的 Session ID
session_id($sessionID);
session_set_cookie_params($lifeTime);
session_start();
//一下注册SESSION?>
暂时就想到这么多!
如果你知道更多,欢迎留言给我!
1.发财猫 说 发表评论于2007-11-22 23:01:09发送邮件 个人网站
网站不错,内容也不错,顶一下:)
www.swissworld.org
2.飞飞 说 发表评论于2007-11-23 0:22:58发送邮件 个人网站
谢谢,我做到还不够!
PS,你的站么?PR好高。嘿嘿
我来说几句: