一、在ecs_user表新增 (真实姓名) full_name、(身份证号) card_num、( 身份正面 ) idimg_one、(身份反面) idimg_two四个字段
ALTER TABLE `ecs_users` ADD `full_name` VARCHAR( 10 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,
ADD `card_num` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,
ADD `idimg_one` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,
ADD `idimg_two` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL
二、打开 根目录/themes/default(模板名)/user.dwt
搜索:
<li onclick="window.location = '{:url('user/service')}';"><i class="iconfont fl member-serve-li-oi"></i><p class="fl">客户服务</p><i class="iconfont fr member-order-i"></i></li>
在搜索内容的上面添加下面的代码
<li onclick="window.location = '{:url('flow/identity_in')}';"><i class="iconfont fl member-serve-li-ci"></i><p class="fl">实名验证</p><i class="iconfont fr member-order-i"></i></li>
三、打开/include/apps/default/model/UserModel.class.php 文件
在get_profile()方法中查找以下代码:
$sql = "SELECT user_name, birthday, sex, question, answer, rank_points, pay_points,user_money, user_rank," .
用以下代码替换
$sql = "SELECT user_name, birthday, sex, question, answer, rank_points, pay_points,user_money, user_rank, full_name, card_num, idimg_one, idimg_two," .
查找以下代码:
$info['user_rank'] = $infos['user_rank'];
在这段代码下面添加以下代码:
$info['full_name'] = $infos['full_name'];
$info['card_num'] = $infos['card_num'];
$info['idimg_one'] = $infos['idimg_one'];
$info['idimg_two'] = $infos['idimg_two'];
四、在ecs_order_info表新增 (真实姓名) full_name、(身份证号) card_num、( 身份正面 ) idimg_one、(身份反面) idimg_two四个字段
ALTER TABLE `ecs_order_info` ADD `full_name` VARCHAR( 10 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,
ADD `card_num` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,
ADD `idimg_one` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,
ADD `idimg_two` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL
五、找到themes/default/flow_checkout.dwt模板文件
查找以下代码:
<section class="ect-margin-tb ect-padding-lr checkout-select" id="accordion">
<!--{if $total.real_goods_count neq 0}-->
在这段代码上面添加以下代码:
<a href="{:url('flow/identity_info')}" style="font-size:1.2em;font-weight: 700;">
<section class="ect-margin-tb ect-padding-lr ect-padding-tb checkout-add" style="line-height:2rem;margin-bottom: -1rem;">
<div style="margin-left: -0.4rem;">身份信息<span class="label ect-bg-colory"style="margin-left: 0.9em;
vertical-align: 0.2em;
padding: 0.3em 0.3em;">{$lang.require_field}</span></div>
<i class="fa fa-angle-right" style="font-size: 1.8em;"></i>
</section>
</a>
查找以下代码:
<input type="submit" name="submit" value="{$lang.order_submit}" class="btn btn-info ect-btn-info ect-colorf ect-bg"/>
用以下代码替换:
<input type="submit" name="submit" value="{$lang.order_submit}" class="btn btn-info ect-btn-info ect-colorf ect-bg" onclick="return yzxinx()"/>
<input type="hidden" id="pdygd" name="pdygd" value="{$pdygd}" />
在页面拉到最后面,在最下面添加
function yzxinx()
{
var pdygd = $('#pdygd').val();
if(pdygd == 0)
{
alert("请输入身份信息,并提交您的信息");location.href="{:url('flow/identity_info')}";
return false;
}
}
</script>
六、打开/include/apps/default/controller/FlowController.class.php 文件
查找以下代码:
// 检查用户是否已经登录 如果用户已经登录了则检查是否有默认的收货地址 如果没有登录则跳转到登录和注册页面
在这段代码上面添加以下代码:
/*
*身份信息
*判断用户身份是否有数据,有传值1,没有传值0
*/
$oks=1;
$nos=0;
$where['user_id'] = $_SESSION['user_id'];
$result = $this->model->table('users')->field('full_name, card_num, idimg_one, idimg_two')
->where($where)->find();
if(empty($result['idimg_two']) && empty($result['idimg_one'])){
$this->assign('pdygd',$nos);
}
else{
$this->assign('pdygd',$oks);
}
/*身份信息*/
查找以下代码:
/* 对是否允许修改购物车赋值 */
在这段代码上面添加以下代码:
/*获取用户身份信息*/
$user_list = $this->model->table('users')->where('user_id = '.$_SESSION['user_id'])->find();
$this->assign('profile',$user_list);
七、
打开/include/apps/default/controller/FlowController.class.phh
(若有MY_FlowController.class.php就在MY_Flow....) 文件
查找以下代码:
// 订单信息
在这段代码上面添加以下代码:
//获取身份信息
$where['user_id'] = $_SESSION['user_id'];
$res = $this->model->table('users')->field('full_name, card_num, idimg_one, idimg_two')->where($where)->find();
查找以下代码:
$order = array(
在这段代码下面添加以下代码:
'full_name' => $res['full_name'],
'card_num' => $res['card_num'],
'idimg_one' => $res['idimg_one'],
'idimg_two' => $res['idimg_two'],
把下面的两个方法放到flow控制机的最下面
/**实名认证**/
public function identity_info()
{
if(IS_POST)
{
/* 身份证验证*/
$full_name = I('post.full_name');
$card_num = I('post.card_num');
//只更新姓名或者身份证号
if($_FILES['idimg_one']['size'] == 0 && $_FILES['idimg_two']['size'] == 0){
$data = array(
'full_name' => $full_name,
'card_num' => $card_num
);
$this->model->table('users')->data($data)->where('user_id = '.$_SESSION['user_id'])->update();
ecs_header("Location: " . url('flow/checkout') . "\n");
exit;
}
// 如果上传了其中一张图片
if($_FILES['idimg_one']['size'] == 0 || $_FILES['idimg_two']['size'] == 0){
show_message('请同时上传身份证的正反面', '', '');
exit;
}
// 用户如果上传了2张图片
if($_FILES['idimg_one']['size'] != 0 && $_FILES['idimg_two']['size'] != 0){
/* 图片处理 */
$image = new EcsImage($_CFG['bgcolor']);
if (!$image->check_img_type($_FILES['idimg_one']['type']) || !$image->check_img_type($_FILES['idimg_two']['type']))
{
show_message("图片格式不正确!");
}
//检查是否存在上传的身份证图片,如果有则删除
$user_id = $_SESSION['user_id'];
$sql = 'select idimg_one,idimg_two from ' . $this->model->pre . "users where user_id ='$user_id'";
$card_img = $this->model->getRow($sql);
if($card_img['idimg_one'] != '' || $card_img['idimg_two'] != '' )
{
//echo $card_img['idimg_one'];
@unlink('../'.$card_img['idimg_one']);
@unlink('../'.$card_img['idimg_two']);
}
//生成随机文件名
$img_name2 = date("Ymd-His") .'.'. end(explode('.', $_FILES['idimg_two']['name']));
$target2 = __ROOT__ . '/' .DATA_DIR . '/idimg_two/';
$original_img2 = $image->upload_image($_FILES['idimg_two'], 'idimg_two', $img_name2); // 原始图片
$idimg_two = $image->make_thumb($original_img2, '', '', $target2);
if ($idimg_two === false)
{
show_message("图片保存出错!");
}
$img_name1 = date("Ymd-His") .'.'. end(explode('.', $_FILES['idimg_one']['name']));
$target1 = __ROOT__ . '/' .DATA_DIR . '/idimg_one/';
$original_img1 = $image->upload_image($_FILES['idimg_one'], 'idimg_one', $img_name1); // 原始图片
$idimg_one = $image->make_thumb($original_img1, '', '', $target1);
if ($idimg_one === false)
{
show_message("图片保存出错!");
}
/* 需要增加判断,根据数据库中信息是否存在执行insert还是update */
$res_s = $this->model->table('users')->where('user_id = '.$_SESSION['user_id'])->find();
if(empty($res_s)){/* 用户信息不存在,则执行插入操作 */
$data = array(
'full_name' => $full_name,
'card_num' => $card_num,
'idimg_one' => $target1.$img_name1,
'idimg_two' => $target2.$img_name2
);
$this->model->table('users')->data($data)->where('user_id = '.$_SESSION['user_id'])->insert();
ecs_header("Location: " . url('flow/checkout') . "\n");
exit;
}else{/* 用户信息存在,则执行更新操作 */
$data = array(
'full_name' => $full_name,
'card_num' => $card_num,
'idimg_one' => $target1.$img_name1,
'idimg_two' => $target2.$img_name2
);
$this->model->table('users')->data($data)->where('user_id = '.$_SESSION['user_id'])->update();
ecs_header("Location: " . url('flow/checkout') . "\n");
exit;
}
}
/* 身份证验证*/
// 用户资料
}
$user_id=$_SESSION['user_id'];
$user_info = model('Users')->get_profile($user_id);
$this->assign('profile', $user_info);
$this->display('flow_identity_info.dwt');
}
/**实名认证**/
public function identity_in()
{
if(IS_POST)
{
/* 身份证验证*/
$full_name = I('post.full_name');
$card_num = I('post.card_num');
//只更新姓名或者身份证号
if($_FILES['idimg_one']['size'] == 0 && $_FILES['idimg_two']['size'] == 0){
$data = array(
'full_name' => $full_name,
'card_num' => $card_num
);
$this->model->table('users')->data($data)->where('user_id = '.$_SESSION['user_id'])->update();
show_message('更新用户信息成功', '', '');
exit;
}
// 如果上传了其中一张图片
if($_FILES['idimg_one']['size'] == 0 || $_FILES['idimg_two']['size'] == 0){
show_message('请同时上传身份证的正反面', '', '');
exit;
}
// 用户如果上传了2张图片
if($_FILES['idimg_one']['size'] != 0 && $_FILES['idimg_two']['size'] != 0){
/* 图片处理 */
$image = new EcsImage($_CFG['bgcolor']);
if (!$image->check_img_type($_FILES['idimg_one']['type']) || !$image->check_img_type($_FILES['idimg_two']['type']))
{
show_message("图片格式不正确!");
}
//检查是否存在上传的身份证图片,如果有则删除
$user_id = $_SESSION['user_id'];
$sql = 'select idimg_one,idimg_two from ' . $this->model->pre . "users where user_id ='$user_id'";
$card_img = $this->model->getRow($sql);
if($card_img['idimg_one'] != '' || $card_img['idimg_two'] != '' )
{
//echo $card_img['idimg_one'];
@unlink('../'.$card_img['idimg_one']);
@unlink('../'.$card_img['idimg_two']);
}
//生成随机文件名
$img_name2 = date("Ymd-His") .'.'. end(explode('.', $_FILES['idimg_two']['name']));
$target2 = __ROOT__ . '/' .DATA_DIR . '/idimg_two/';
$original_img2 = $image->upload_image($_FILES['idimg_two'], 'idimg_two', $img_name2); // 原始图片
$idimg_two = $image->make_thumb($original_img2, '', '', $target2);
if ($idimg_two === false)
{
show_message("图片保存出错!");
}
$img_name1 = date("Ymd-His") .'.'. end(explode('.', $_FILES['idimg_one']['name']));
$target1 = __ROOT__ . '/' .DATA_DIR . '/idimg_one/';
$original_img1 = $image->upload_image($_FILES['idimg_one'], 'idimg_one', $img_name1); // 原始图片
$idimg_one = $image->make_thumb($original_img1, '', '', $target1);
if ($idimg_one === false)
{
show_message("图片保存出错!");
}
/* 需要增加判断,根据数据库中信息是否存在执行insert还是update */
$res_s = $this->model->table('users')->where('user_id = '.$_SESSION['user_id'])->find();
if(empty($res_s)){/* 用户信息不存在,则执行插入操作 */
$data = array(
'full_name' => $full_name,
'card_num' => $card_num,
'idimg_one' => $target1.$img_name1,
'idimg_two' => $target2.$img_name2
);
$this->model->table('users')->data($data)->where('user_id = '.$_SESSION['user_id'])->insert();
show_message('更新用户信息成功', '', '');
exit;
}else{/* 用户信息存在,则执行更新操作 */
$data = array(
'full_name' => $full_name,
'card_num' => $card_num,
'idimg_one' => $target1.$img_name1,
'idimg_two' => $target2.$img_name2
);
$this->model->table('users')->data($data)->where('user_id = '.$_SESSION['user_id'])->update();
show_message('更新用户信息成功', '', '');
exit;
}
}
/* 身份证验证*/
// 用户资料
}
$user_id=$_SESSION['user_id'];
$user_info = model('Users')->get_profile($user_id);
$this->assign('profile', $user_info);
$this->display('flow_identity_in.dwt');
}
七 找到 根目录/admin/templates/order_info.htm
搜索:
<td>{$order.card_num|escape}</td>
</tr>
在上面的代码下面添加
<!-- {if $order.idimg_one } -->
<tr>
<td><div align="right"><strong>身份正面:</strong></div></td>
<td>
<li style=" padding: 0; height: 8rem; line-height: 7.7rem; list-style:none;">
<img style="width:13rem; height:8rem" src="{$order.idimg_one}">
</li>
</td>
<td><div align="right"><strong>身份反面:</strong></div></td>
<td>
<li style=" padding: 0; height: 8rem; line-height: 7.7rem; list-style:none;">
<img style="width:13rem; height:8rem" src="{$order.idimg_two}">
</li>
</td>
</tr>
<!-- {/if} -->