修正recieve.php判断不严谨导致邮件自动确认收货
2016-09-07 22:02 来源:www.chinab4c.com 作者:ecshop专家
ecshop后台点击发货时会主动发送邮件到用户预留的联络邮箱中,简直国外的网站都是这么操作的,所以客户也选用此种方法来告诉用户。但不料没多久,不少买家反映自己分明没有点击邮件中的承认收货连接,可是进入自己基地却发现订单状况现已更改为了现已收到货的状况了。
因为Ecshop程序的recieve规划是用户点了连接直接就改动订单状况到承认收货,而QQ邮件spam系统会主动去点邮件里的连接是不是垃圾或者广告地址,所以全被点成承认收货了,只能经过recieve.php文件来改了。
翻开recieve.php文件查找如下代码:
/* 修改订单发货状态为“确认收货” */
$sql = "UPDATE " . $ecs->table('order_info') . " SET shipping_status = '" . SS_RECEIVED . "' WHERE order_id = '$order_id'";
$db->query($sql);
/* 记录日志 */
order_action($order['order_sn'], $order['order_status'], SS_RECEIVED, $order['pay_status'], '', $_LANG['buyer']);
$msg = $_LANG['act_ok'];
将以上代码修正为如下:
//确认页面
$act = !empty($_REQUEST['act']) ? rawurldecode($_REQUEST['con']) : 'confirm'; // 验证码
if ($act == 'confirm')
{
$msg = $order['order_sn']."确认收货?<button onclick=\\"location.href='receive.php?act=receive&id=".$order_id."&con=".rawurlencode($consignee)."';\\">确定</a>";
}
else
{
/* 修改订单发货状态为“确认收货” */
$sql = "UPDATE " . $ecs->table('order_info') . " SET shipping_status = '" . SS_RECEIVED . "' WHERE order_id = '$order_id'";
$db->query($sql);
/* 记录日志 */
order_action($order['order_sn'], $order['order_status'], SS_RECEIVED, $order['pay_status'], '', $_LANG['buyer']);
$msg = $_LANG['act_ok'];
}
(责任编辑:chinab4c) |
最近更新
常用插件
- ecshop2.7.1邮件发送插件
ecshop2.7.1邮件发送插件:该插件主要的开发思想是源于ecshop短信发送系统...
- ecshop最小购买数量控制插
ecshop最小购买数量控制插件,这个插件主要是为我们提供一个十分方便...
- ecshop二次开发商品购买增
图片1香...
- ecshop2.7.2生成虚拟订单2.
以前我们开发过ecshop下的虚拟订单,就是客户在访问的时候,会自动生...
- ecshop没登陆情况下订单查
ecshop没登陆情况下订单查询插件,主要是针对ecshop在没有登陆的情况下...
ecshop热门问答
ecshop热门资料
ecshop错乱
ecshop老天
ecshop首次安装
ecshopqpay
ecshop虛擬主機
ecshop市场价格
ecshopname
ecshop虚拟商品
ecshop批量发货
ecshop用户不能注册
ecshop351
ecshopbluesky
ecshopApp
ecshop公布
ecshop邪乎
ecshop词句
ecshopclothing服装模板
ecshop降级
ecshop时间表
ecshop作者
ecshop2.7.1整合
ecshop描述
ecshop显示数量
ecshopmode
ecshopresource
ecshop网站地址
ecshop如果我是
ecshop比较严重
ecshop订单红包
ecshopECMAIL