Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

为什么我安装的记账本提示 “您的请求来路不正确或表单验证”

[复制链接]
wyg0608 发表于 2009-2-11 17:00:10 | 显示全部楼层 |阅读模式
为什么我的记账本,提交后 总是出现“您的请求来路不正确或表单验证串不符,无法提交。请尝试使用标准的web浏览器进行操作。”
记账本代码:money.php
  1. <?php

  2. //包含基本文件
  3. include_once('./common.php');

  4. //------这里填写你自己的插件功能代码 开始------
  5. /*
  6. 经常用到的基本变量、函数含义如下:
  7. $_SGLOBAL['supe_uid']         该变量为当前用户的UID
  8. $_SGLOBAL['supe_username']         该变量为当前用户的名字
  9. $_SGLOBAL['db']         数据库操作对象
  10. showmessage(message, url)        该函数为显示跳转信息: message 为信息, url 为跳转url
  11. ckstart(start, perpage)        检查输入的start是否合法:start 为开始数,perpage为每页显示数
  12. smulti(start, perpage, count, url)        获取分页的函数:start 为开始数,perpage为每页显示数,count为当前列表数,url为页面url
  13. $space = getspace(uid)        该函数为获取当前用户的空间信息:uid为用户uid
  14. 其中获取到的$space,常用的有以下几个:
  15. $space['uid']  用户UID
  16. $space['username'] 用户名
  17. $space['frienduid'] 用户的好友UID列表,以逗号分割。例如:1,5,6,7
  18. 添加个人动态的方法:
  19. include_once(S_ROOT.'./source/function_cp.php');
  20. $icon = 'money';        //个人动态前面的图标英文名,随意命名,需要修改css支持
  21. $title_template = '{actor} 更新了自己的 <a href="money.php">记账本</a>';        //标题内容,支持html,其中 {actor} 为内置变量,表示当前人名
  22. feed_add($icon, $title_template);
  23. */

  24. //检查是否登录
  25. if(empty($_SGLOBAL['supe_uid'])) {
  26.         showmessage('请先登录后,再访问', 'do.php?ac=login');
  27. }

  28. //获取当前用户的空间信息
  29. $space = getspace($_SGLOBAL['supe_uid']);

  30. //列表变量
  31. $list = array();
  32. //数量
  33. $count = 0;
  34. //每页显示个数
  35. $perpage = 20;
  36. //分页开始
  37. $start = empty($_GET['start'])?0:intval($_GET['start']);

  38. //检查输入的start是否合法
  39. ckstart($start, $perpage);

  40. //根据不同的方法做不同的处理

  41. //默认的方法
  42. if(empty($_GET['action'])) $_GET['action'] = 'me';

  43. if($_GET['action'] == 'we') {
  44.        
  45.         //好友的记账本
  46.         //检查有没有好友列表
  47.         if(empty($space['frienduid'])) {
  48.                 showmessage('对不起,您当前还没有好友');
  49.         }
  50.         //检索好友的记账本
  51.         $query = $_SGLOBAL['db']->query("SELECT * FROM uch_plug_money WHERE uid IN ($space[frienduid]) AND self='0' LIMIT $start,$perpage");
  52.         while ($value = $_SGLOBAL['db']->fetch_array($query)) {
  53.                 $list[] = $value;
  54.                 //count累加
  55.                 $count++;
  56.         }
  57.         if(empty($list)) {
  58.                 showmessage('现在你的好友还没有公开的记账本', 'money.php');
  59.         }
  60.         //分页处理
  61.         $multi = smulti($start, $perpage, $count, "money.php?action=$_GET[action]");
  62.        
  63. } elseif($_GET['action'] == 'me') {
  64.        
  65.         //检索自己的记账本
  66.         $query = $_SGLOBAL['db']->query("SELECT * FROM uch_plug_money WHERE uid='$_SGLOBAL[supe_uid]'");
  67.         while ($value = $_SGLOBAL['db']->fetch_array($query)) {
  68.                 $list[] = $value;
  69.         }
  70.        
  71. } elseif($_GET['action'] == 'edit') {
  72.        
  73.         //编辑自己的记账本
  74.         //提交保存的处理
  75.         if(submitcheck('editsubmit')) {
  76.                 $content = shtmlspecialchars($_POST['content']);
  77.                 preg_match_all("/([\+\-]\d+)/is", $content, $mathes);
  78.                 $money = 0;
  79.                 if($mathes[1]) {
  80.                         foreach ($mathes[1] as $value) {
  81.                                 $money = $money + $value;
  82.                         }
  83.                 }
  84.                 $self = empty($_POST['self'])?0:1;
  85.                 $_SGLOBAL['db']->query("REPLACE INTO uch_plug_money (uid,username,content,money,self) VALUES
  86.                         ('$_SGLOBAL[supe_uid]','$_SGLOBAL[supe_username]','$content','$money','$self')");
  87.                
  88.                 //产生个人动态feed
  89.                 //需要单独调用该函数库文件
  90.                 include_once(S_ROOT.'./source/function_cp.php');
  91.                 $icon = 'money';        //图标,随意命名,需要修改css支持
  92.                 $title_template = '{actor} 更新了自己的 <a href="money.php">记账本</a>';        //标题内容,支持html,其中 {actor} 为内置变量,表示当前人名
  93.                 feed_add($icon, $title_template);
  94.                
  95.                 showmessage('记账保存成功了', 'money.php');
  96.         }
  97.        
  98.         //获取自己的记账本信息
  99.         $query = $_SGLOBAL['db']->query("SELECT * FROM uch_plug_money WHERE uid='$_SGLOBAL[supe_uid]'");
  100.         $money = $_SGLOBAL['db']->fetch_array($query);
  101. }

  102. //页面的标题
  103. $_TPL['titles'] = array($space['username'], '记账本');
  104. //页面不同的标签激活
  105. $actives = array($_GET['action']=>' class="active"');

  106. //------这里填写你自己的插件功能代码 结束------

  107. //调用模板显示数据
  108. include template('money');

  109. ?>
复制代码
模板文件:money.htm
  1. <!--{template header}-->
  2. <div class="c_header a_header">
  3.         <a href="space.php?uid=$space[uid]"><img src="<!--{avatar($space[uid],small)}-->" alt="$space[username]" class="avatar" /></a>
  4.         <h1>记账本</h1>
  5.         <a href="space.php?uid=$space[uid]" class="spacelink">我的空间</a>
  6. </div>
  7. <div class="tabs_header">
  8.         <a href="money.php?action=edit" class="t_button">我要记账</a>
  9.         <ul class="tabs">
  10.                 <li$actives[we]><a href="money.php?action=we">好友的记账本</a></li>
  11.                 <li$actives[me]><a href="money.php?action=me">我的记账本</a></li>
  12.         </ul>
  13. </div>

  14. <div class="h_status">记录收入和开支</div>

  15. <div>

  16. <!--{if $list}-->

  17.         <table cellspacing="3" cellpadding="3" width="95%" align="center">
  18.         <tr>
  19.                 <td width="120">用户</td>
  20.                 <td>余额</td>
  21.         </tr>
  22.         <!--{loop $list $value}-->
  23.         <tr>
  24.                 <td><a href="space.php?uid=$value[uid]"><img src="<!--{avatar($value[uid],small)}-->" alt="$value[username]" class="avatar" /></a></td>
  25.                 <td>$value[money] 元</td>
  26.         </tr>
  27.         <!--{/loop}-->
  28.         </table>
  29.        
  30.         <div class="page">$multi[html]</div>
  31.        
  32. <!--{else}-->

  33.         <table cellspacing="3" cellpadding="3" width="95%" align="center">
  34.         <tr><td>
  35.                 用 "+金额" 表示收入,用 "-金额" 表示表示支出,保存后,系统会自动记录目前你的余额。<br>
  36.                 例如你这样记账:<br>
  37.                 “我今天发+1000元工资了,去买了电视,花了-200元。”<br>
  38.                 提交保存后,显示余额为 800。就这么简单。
  39.         </td></tr>
  40.         <tr><td>
  41.                 <form method="post" action="money.php?action=edit">
  42.                 <textarea name="content" rows="10" style="width:100%;">$money[content]</textarea><br>
  43.                 <input type="checkbox" name="self" value="1"<!--{if $money[self]}--> checked<!--{/if}-->>仅自己可见
  44.                 <input type="submit" name="editsubmit" value="计算余额" class="submit">
  45.                 </form>
  46.         </td></tr>
  47.         </table>
  48.        
  49. <!--{/if}-->

  50. </div>

  51. <div class="f_status s_clear">
  52.         <a href="javascript:;" onclick="window.scrollTo(0,0);" id="a_top" title="TOP">TOP</a>
  53. </div>
  54. <!--{template footer}-->
复制代码
谢谢各位的帮忙
bboonnee 发表于 2009-12-29 14:12:36 | 显示全部楼层
我已经解决了
1. 修改\\bbs\include\common.inc.php,在开头加入$_SERVER['HTTP_USER_AGENT'] = ereg_replace(": gzip, deflate","",$_SERVER['HTTP_USER_AGENT']);

2.在money.html中修改表单,加入
<input type="hidden" name="formhash" value="<!--{eval echo formhash();}-->" />

3. 进入管理界面,重载缓存

test

good luck
回复

使用道具 举报

601046124 发表于 2010-10-8 20:12:18 | 显示全部楼层
我cao!牛逼!
回复

使用道具 举报

wellshi 发表于 2010-10-9 13:24:33 | 显示全部楼层
牛逼 凶器
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-11-16 02:42 , Processed in 0.030765 second(s), 5 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表