大家要写注册或是登录时应该遇到过当点击回头按钮的时候,
之前填写的表单信息都清空了或出现网页已过期的警告,
这是由于在表单提交页面中使用了 session_start 函数.
由于我们后退浏览的是缓存页,而该函数会强制当前页面不被缓存。
所以出现了’警告: 网页已经过期!’.的提示.下面介绍一下解决的办法:
在你的 Session_start 函数后加入 header(”Cache-control: private”);
注意在本行之前你的PHP程序不能有任何输出和空白。
还有基于session的解决方法:
在session_start前加上如下代码:
session_cache_limiter(’nocache’);// 清空表单
session_cache_limiter(’private’); //不清空表单,只在session生效期间
session_cache_limiter(’public’); //不清空表单,如同有没使用session一样
< ?php
/*
[UCenter Home] (C) 2007-2008 Comsenz Inc.
$Id: cp_credit.php 2009-10-27 22:58:00
@author ymaozi
@copyright http://www.codedesign.cn
@uchome源码交流QQ群:83400263
*/
if(!defined('IN_UCHOME')) {
exit('Access Denied');
}
if(submitcheck('friendsubmit')) {
$showcredit = intval($_POST['stakecredit']); //要赠送的积分数
if($showcredit > $space['credit']) $showcredit = $space['credit'];//如果送的积分数大于本身所有的积分,则将所送的积分设置为本身所有的积分
if($showcredit < 1) {
//如果积分小于1,则提示填写的数字需要大于0,并且小于您的积分数,请确认
showmessage('showcredit_error');
}
阅读全文…
UCHome的对于统计在线用户的操作,是通过向session表中写入用户的信息,然后通过统计session表中的记录值来统计在线用户的数量与信息的.
每当前用户登录的时候,先判断用户的是否登录成功,如果登录成功,之后再检查session表,如果有过期用户的信息,则通过insertsession()函数来更新用户表的信息,如果表中存在该用户的session并且有过期的用户,则删除,插入刚登录用户,来看看他是怎么操作的吧! 阅读全文…
首先我对uc_client的引入文件开始分析:client.php 文件进行分析 通过这个文件,处理不同的关于用户的信息操作
[sourcecode language='php']
< ?php
/**
* 文件名称:client.php
* 功能:通过调用这个文件的不同函数,寻找不同的控制器与不同的方法
*
* @copyright 2009 ymaozi Site:www.codedesign.cn
* QQ群:83400173
* 分析时间:2009-6-7
*/
if(!defined('UC_API')) {
exit('Access dened');
} //是否定义UC_API,在config.php定义的是ucenter的url
error_reporting(0); //屏蔽所有的错误
define('IN_UC', TRUE); //定义IN_UC,以防直接访问控制文件
define('UC_CLIENT_VERSION', '1.5.0'); //定义版本
define('UC_CLIENT_RELEASE', '20081212'); //定义版本更新时间
define('UC_ROOT', substr(__FILE__, 0, -10)); //note 用户中心客户端的根目录 UC_CLIENTROOT
define('UC_DATADIR', UC_ROOT.'./data/'); //note 用户中心的数据缓存目录
define('UC_DATAURL', UC_API.'/data'); //note 用户中心的数据 URL
define('UC_API_FUNC', UC_CONNECT == 'mysql' ? 'uc_api_mysql' : 'uc_api_post'); //如果数据库是mysql则执行uc_api_mysql()函数,否则则执行uc_api_post
$GLOBALS['uc_controls'] = array(); //定义一全局数组
/**
* 在执行sql语句时,在需要在某些字符前加上了反斜线,这些字符有单引号(')、双引号(")、反斜线(\)
*
* @param string/array $string 如果$string 为字符串,则直接用转换,如果是数组的话,通过foreach循环遂个进行转换
* @param bool $force
* @param bool $strip
* @return string
* get_magic_quotes_gpc():本函式取得 PHP 环境设定的变数 magic_quotes_gpc (GPC, Get/Post/Cookie) 值。如果传回0为关闭,1为打开
* string addslashes(string str) 在某些字符前加上了反斜线
* string stripslashes (string str) 将用addslashes()函数处理后的字符串返回原样。
*/ 阅读全文…