问题描述:
修改价格后再次点击使用财付通支付时出现“[3006]您的请求无效,请重新再试。”
解决方案
\includes\modules\payment\tenpay.php 行 104
原来的为
$bill_no = str_pad($order[‘log_id’], 10, 0, STR_PAD_LEFT);
现在修改为
$bill_no = str_pad(rand(1,99),2,0,STR_PAD_LEFT).str_pad($order[‘log_id’], 8, 0, STR_PAD_LEFT);
问题解决
点击下图看大图
月度归档:2011年04月
回复
ecshop系列:前端根据商品属性显示库存数量
ecshop系列:search的静态化
一般说来搜索的结果静态化可以持久的保持搜索结果,给客户良好的印象
ecshop 的搜索结果是 search.php?encode=base64编码字符串
我们希望用 /search_搜索关键字_p页码.html 来做静态优化
那么方法是什么呢:
首先写 .htaccess 文件
RewriteRule ^search_(.+?)_p([0-9]+).html$ search2\.php\?keywords=$1&page=$2 [QSA,L]
我们复制 search.php 成 search2.php 注释掉行18-行66
然后加入
$string["keywords"]=addslashes($_GET["keywords"]); $string["page"]=addslashes($_GET["page"]); $string["search_encode_time"] = $_SERVER["REQUEST_TIME"];
测试 http://域名/search_关键字_p1.html
如果和 http://域名/search2.php?keywords=关键字&page=1
的结果一致
然后我们去修改页码处的连接
行 501
$pager = get_pager2('search_', $pager['search'], $count, $page, $size);
在include/lib_main.php 里面 复制get_pager 函数成 get_pager2
然后修改成如下
$url_format = $url . $param_url . 'page='; $url_format2 = $url . $param['keywords'] . '_p'; $pager['page_first'] = ($page - $_offset > 1 && $_pagenum < $page_count) ? $url_format2 . "1.html" : ''; $pager['page_prev'] = ($page > 1) ? $url_format2 . $page_prev.".html" : ''; $pager['page_next'] = ($page < $page_count) ? $url_format2 . $page_next.".html" : ''; $pager['page_last'] = ($_to < $page_count) ? $url_format2 . $page_count.".html" : ''; $pager['page_kbd'] = ($_pagenum < $page_count) ? true : false; $pager['page_number'] = array(); for ($i=$_from;$i<=$_to;++$i) { $pager['page_number'][$i] = $url_format2 . $i.".html"; }
ecshop系列:通过固定paypal.php 来防止后台paypal收款账号被修改
有条件的用户可以通过修改include/modules/payment/paypal.php 文件 后 “固定”此文件方式连防止后台paypal的账号被修改
至于固定的方式则各种系统不同
1)windows 可以通过ntfs的权限系统设置文件只读
2)linux 系统可以通过 chattr +i 的方式 强制固定文件