为什么我的记账本,提交后 总是出现“您的请求来路不正确或表单验证串不符,无法提交。请尝试使用标准的web浏览器进行操作。”
记账本代码:money.php- <?php
- //包含基本文件
- include_once('./common.php');
- //------这里填写你自己的插件功能代码 开始------
- /*
- 经常用到的基本变量、函数含义如下:
- $_SGLOBAL['supe_uid'] 该变量为当前用户的UID
- $_SGLOBAL['supe_username'] 该变量为当前用户的名字
- $_SGLOBAL['db'] 数据库操作对象
- showmessage(message, url) 该函数为显示跳转信息: message 为信息, url 为跳转url
- ckstart(start, perpage) 检查输入的start是否合法:start 为开始数,perpage为每页显示数
- smulti(start, perpage, count, url) 获取分页的函数:start 为开始数,perpage为每页显示数,count为当前列表数,url为页面url
- $space = getspace(uid) 该函数为获取当前用户的空间信息:uid为用户uid
- 其中获取到的$space,常用的有以下几个:
- $space['uid'] 用户UID
- $space['username'] 用户名
- $space['frienduid'] 用户的好友UID列表,以逗号分割。例如:1,5,6,7
- 添加个人动态的方法:
- include_once(S_ROOT.'./source/function_cp.php');
- $icon = 'money'; //个人动态前面的图标英文名,随意命名,需要修改css支持
- $title_template = '{actor} 更新了自己的 <a href="money.php">记账本</a>'; //标题内容,支持html,其中 {actor} 为内置变量,表示当前人名
- feed_add($icon, $title_template);
- */
- //检查是否登录
- if(empty($_SGLOBAL['supe_uid'])) {
- showmessage('请先登录后,再访问', 'do.php?ac=login');
- }
- //获取当前用户的空间信息
- $space = getspace($_SGLOBAL['supe_uid']);
- //列表变量
- $list = array();
- //数量
- $count = 0;
- //每页显示个数
- $perpage = 20;
- //分页开始
- $start = empty($_GET['start'])?0:intval($_GET['start']);
- //检查输入的start是否合法
- ckstart($start, $perpage);
- //根据不同的方法做不同的处理
- //默认的方法
- if(empty($_GET['action'])) $_GET['action'] = 'me';
- if($_GET['action'] == 'we') {
-
- //好友的记账本
- //检查有没有好友列表
- if(empty($space['frienduid'])) {
- showmessage('对不起,您当前还没有好友');
- }
- //检索好友的记账本
- $query = $_SGLOBAL['db']->query("SELECT * FROM uch_plug_money WHERE uid IN ($space[frienduid]) AND self='0' LIMIT $start,$perpage");
- while ($value = $_SGLOBAL['db']->fetch_array($query)) {
- $list[] = $value;
- //count累加
- $count++;
- }
- if(empty($list)) {
- showmessage('现在你的好友还没有公开的记账本', 'money.php');
- }
- //分页处理
- $multi = smulti($start, $perpage, $count, "money.php?action=$_GET[action]");
-
- } elseif($_GET['action'] == 'me') {
-
- //检索自己的记账本
- $query = $_SGLOBAL['db']->query("SELECT * FROM uch_plug_money WHERE uid='$_SGLOBAL[supe_uid]'");
- while ($value = $_SGLOBAL['db']->fetch_array($query)) {
- $list[] = $value;
- }
-
- } elseif($_GET['action'] == 'edit') {
-
- //编辑自己的记账本
- //提交保存的处理
- if(submitcheck('editsubmit')) {
- $content = shtmlspecialchars($_POST['content']);
- preg_match_all("/([\+\-]\d+)/is", $content, $mathes);
- $money = 0;
- if($mathes[1]) {
- foreach ($mathes[1] as $value) {
- $money = $money + $value;
- }
- }
- $self = empty($_POST['self'])?0:1;
- $_SGLOBAL['db']->query("REPLACE INTO uch_plug_money (uid,username,content,money,self) VALUES
- ('$_SGLOBAL[supe_uid]','$_SGLOBAL[supe_username]','$content','$money','$self')");
-
- //产生个人动态feed
- //需要单独调用该函数库文件
- include_once(S_ROOT.'./source/function_cp.php');
- $icon = 'money'; //图标,随意命名,需要修改css支持
- $title_template = '{actor} 更新了自己的 <a href="money.php">记账本</a>'; //标题内容,支持html,其中 {actor} 为内置变量,表示当前人名
- feed_add($icon, $title_template);
-
- showmessage('记账保存成功了', 'money.php');
- }
-
- //获取自己的记账本信息
- $query = $_SGLOBAL['db']->query("SELECT * FROM uch_plug_money WHERE uid='$_SGLOBAL[supe_uid]'");
- $money = $_SGLOBAL['db']->fetch_array($query);
- }
- //页面的标题
- $_TPL['titles'] = array($space['username'], '记账本');
- //页面不同的标签激活
- $actives = array($_GET['action']=>' class="active"');
- //------这里填写你自己的插件功能代码 结束------
- //调用模板显示数据
- include template('money');
- ?>
复制代码 模板文件:money.htm- <!--{template header}-->
- <div class="c_header a_header">
- <a href="space.php?uid=$space[uid]"><img src="<!--{avatar($space[uid],small)}-->" alt="$space[username]" class="avatar" /></a>
- <h1>记账本</h1>
- <a href="space.php?uid=$space[uid]" class="spacelink">我的空间</a>
- </div>
- <div class="tabs_header">
- <a href="money.php?action=edit" class="t_button">我要记账</a>
- <ul class="tabs">
- <li$actives[we]><a href="money.php?action=we">好友的记账本</a></li>
- <li$actives[me]><a href="money.php?action=me">我的记账本</a></li>
- </ul>
- </div>
- <div class="h_status">记录收入和开支</div>
- <div>
- <!--{if $list}-->
- <table cellspacing="3" cellpadding="3" width="95%" align="center">
- <tr>
- <td width="120">用户</td>
- <td>余额</td>
- </tr>
- <!--{loop $list $value}-->
- <tr>
- <td><a href="space.php?uid=$value[uid]"><img src="<!--{avatar($value[uid],small)}-->" alt="$value[username]" class="avatar" /></a></td>
- <td>$value[money] 元</td>
- </tr>
- <!--{/loop}-->
- </table>
-
- <div class="page">$multi[html]</div>
-
- <!--{else}-->
- <table cellspacing="3" cellpadding="3" width="95%" align="center">
- <tr><td>
- 用 "+金额" 表示收入,用 "-金额" 表示表示支出,保存后,系统会自动记录目前你的余额。<br>
- 例如你这样记账:<br>
- “我今天发+1000元工资了,去买了电视,花了-200元。”<br>
- 提交保存后,显示余额为 800。就这么简单。
- </td></tr>
- <tr><td>
- <form method="post" action="money.php?action=edit">
- <textarea name="content" rows="10" style="width:100%;">$money[content]</textarea><br>
- <input type="checkbox" name="self" value="1"<!--{if $money[self]}--> checked<!--{/if}-->>仅自己可见
- <input type="submit" name="editsubmit" value="计算余额" class="submit">
- </form>
- </td></tr>
- </table>
-
- <!--{/if}-->
- </div>
- <div class="f_status s_clear">
- <a href="javascript:;" onclick="window.scrollTo(0,0);" id="a_top" title="TOP">TOP</a>
- </div>
- <!--{template footer}-->
复制代码 谢谢各位的帮忙 |