PHP和ASP的session

本文对比了ASP和PHP中Session的实现方式及其特点。ASP的Session默认启用且保存在内存中,而PHP需要手动启动Session,并以文件形式保存。此外,还介绍了如何在PHP中自定义Session的有效期及保存位置。
摘要由CSDN通过智能技术生成
ASP的SEssion就是启用的,需要使用,直接赋值就可以了!
但是:PHP一定要自己先用session_start()启动,才能赋值。(php.ini设置更改过的除外!)


在过期时间设置上,ASP设置比较灵活一些,默认是20分钟,要自定义,直接用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;
?>

但是对浏览器的似乎不是很感冒:IE6.0下使用session_set_cookie_params()函数设置Cookie会有问题!
没有关系。我们可以使用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()设置获得的SessionID
session_id($sessionID);
session_set_cookie_params($lifeTime);
session_start();
//一下注册SESSION?>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值