下载帝国网站管理系统5.0正式版
 帝国论坛技术交流区网络编程静态页在用户登录和没登录的不同状态显示不同信息
帝国备份王2008版发布
帝国CMS模板下载中心
测试:生成20万数据共用107分钟
《帝国下载系统》全面免费
帝国域名交易网
1G双线帝国空间+200M数据库=158
站长工具 - dotool.cn
广告联系QQ:627174919
主题:静态页在用户登录和没登录的不同状态显示不同信息 [加入收藏夹]   

天浪歌
用户头衔:嘉宾

精华贴   :3
发贴数   :1745
经验值   :3974
注册时间:2006-09-14
信息 搜索 好友 发送悄悄话 《帝国网站管理系统》基础教程下载】   [第 1 楼]
静态页在用户登录和没登录的不同状态显示不同信息
  目的:一静态页要在用户登录和没登录的不同状态显示不同信息.
实现方法肯定是用js了.写了一js取cookie 的方法getCookie(name)
通过”
var u = getCookie(name);
if (u) {
x.innerHTML = u;
} else {
}
方法实现一些信息不同显示
x.innerHTML = u;
目的就是在一处显示u这个cookie得到的信息,问题就出在这里
这个cookie是通过php setcookie设置的,结果js取出的中文是乱码,页面为utf-8
想了几点不是方法,如url编码都不行,最好想到我用js取,那也用js设置cookie不就好了,最好写一js的setCookie 函数
代码大致如下
<?php
setcookie();//一些其它cookie
echo ‘<scrīpt>setCookie (’xxx’,’中文’)</scrīpt>’;//要js取的cookie
?>
最后解决方法很简单,但是一直没有想到,我想对大家有帮助吧
明天帖出js代码

function getCookieVal(offset) {
var endstr = document.cookie.indexOf (“;”, offset);
if(endstr == -1) {
endstr = document.cookie.length;
}
return unescape(document.cookie.substring(offset, endstr));
}
function getCookie(name) {
var arg = name + “=”;
var alen = arg.length;
var clen = document.cookie.length;
var i = 0;
var j = 0;
while(i < clen) {
j = i + alen;
if(document.cookie.substring(i, j) == arg)
return getCookieVal(j);
i = document.cookie.indexOf(“ ”, i) + 1;
if(i == 0)
break;
}
return null;
}
function deleteCookie(name) {
var exp = new Date();
var cval = getCookie(name);
exp.setTime(exp.getTime() - 1);
document.cookie = name + “=” + cval + “; expires=” + exp.toGMTString();
}
var gCookieExpDays = 80;
function setCookie(name, value) {
var argv = setCookie.arguments;
var argc = setCookie.arguments.length;
var exp = (argc > 2) ? argv[2] : gCookieExpDays;
var path = (argc > 3) ? argv[3] : null;
var domain = (argc > 4) ? argv[4] : null;
var secure = (argc > 5) ? argv[5] : false;
var expires = new Date();
deleteCookie(name);
expires.setTime(expires.getTime() + (exp*24*60*60*1000));
document.cookie = name + “=” + value + “; expires=” + expires.toGMTString() +
((domain == null) ? “” : (“; domain=” + domain)) +
((path == null) ? “” : (“; path=” + path)) +
((secure == true) ? “; secure” : “”);
}  
当然,帝国的可以更简单的直接插入PHP代码



ECMSer
有事就Q我    3260602    3260602@qq.com
帝国教程之猪头系列
2007-08-19 00:17:38 已设置保密 顶部 回复 引用 报告 编辑 删除

vip
用户头衔:举人 *

精华贴   :0
发贴数   :308
经验值   :1115
注册时间:2005-03-11
信息 搜索 好友 发送悄悄话 《帝国网站管理系统》零基础实例入门教程】   [第 2 楼]

二级域名下用户登录也是个问题,有办法解决吗?




2007-08-19 00:34:46 已设置保密 顶部 回复 引用 报告 编辑 删除

天浪歌
用户头衔:嘉宾

精华贴   :3
发贴数   :1745
经验值   :3974
注册时间:2006-09-14
信息 搜索 好友 发送悄悄话 《帝国网站管理系统》基础教程下载】   [第 3 楼]

怎么说



ECMSer
有事就Q我    3260602    3260602@qq.com
帝国教程之猪头系列
2007-08-19 00:53:18 已设置保密 顶部 回复 引用 报告 编辑 删除


快速回复
内容

使用EBB代码
使用smile代码
显示签名
自动分析url
自动分析img
表情                   
                
    (按 Ctrl+Enter 直接提交)
    顶部  加入收藏夹
关于帝国 | 广告服务 | 联系我们 | 法律声明 | 隐私条款 | 许可协议
Powered by: EBB Version 2.2.1