想在页面中执行一个函数。先判断访问者浏览器是否支持cookies,如果不支持就算了,如果支持则先查找访问者cookies中是否已经记录,如果有记录就算了,如果没有记录则执行一个函数并且在客户端设置个cookies记录(24小时失效)。求代码。
解决方案 »
- PHP:普通变量能负值全局变量$GLOBALS 何解
- php支持其他扩展文件的设置?
- Error in my_thread_global_end(): 1 threads didn't exit
- php中像论坛那种分页如何实现?
- 基于GD的验证码问题,请大家指教!
- 高手请进!
- 怎么样把一个图片变成提交按钮
- 求助:用php一次更新10万条记录怎么办?
- 高分寻求一解决方案 ! 两台主机之间的有条件限制的安全数据传输 ! 关注有分!
- 请教一个PHP问题,欢迎回答谢谢
- Warning: mysql_query(): 9 is not a valid MySQL-Link resource in ?
- smarty安装,提示错误。
例子:
设置一个name为"csdn",值为"abcd",24小时后失效的cookie
setcookie("csdn","abcd",time()+24*3600);判断浏览器是否支持cookie,可以考虑使用JS,如下:if (navigator.cookieEnabled) {
alert("你的浏览器支持cookie功能");
} else {
alert("你的浏览器不支持cookie"");
}用PHP可以常识这样判断:如下:
foreach($_COOKIE as $n=>$v)
{
if(isset($n))
{echo "不支持cookie";}
else
{...}
}
方法很多,自己常识吧!如果想获取某个cookie值是否存在,那就更直白了!PHP:
if(isset($_COOKIE['name']))
{echo "某值存在"}
else
...
js也可以直接来操作!
<script type="text/javascript">
if(navigator.cookieEnabled) {
//var name="test",value="这是个测试";
var tcookie = getCookie(name) ; //name是要检测的cookie的名称。
if(tcookie == null){
SetCookie(name,value) ;
}
}function SetCookie(name,value)//两个参数,一个是cookie的名子,一个是值
{
var Days = 1; //此 cookie 将被保存 1 天
var exp = new Date(); //new Date("December 31, 9998");
exp.setTime(exp.getTime() + Days*24*60*60*1000);
document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
}
function getCookie(name)//取cookies函数
{
var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
if(arr != null) return unescape(arr[2]); return null;}</script>
setcookie(name,value,time,expire,path,domain,secure);
设置一个name为"csdn",值为"abcd",24小时后失效的cookie
setcookie("csdn","abcd",time()+24*3600);
PHP读COOKIES就更简单了!
$csdn=$_COOKIE['csdn'];//$csdn就是获取到的COOKIE值
总体操作上比JS的优势是,无须另外定义函数,直接都有函数可以操作,函数强大也是我个人认为PHP牛的地方!
至于判断浏览器是否支持COOKIE,好象PHP确实没有这个功能,听说6。0以后有这样一个功能,但是俺没有用过,把自己也给混淆了。但是.net绝对有这个判断功能!
所以就直接用浏览器属性吧,navigator.cookieEnabled