一、在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} -->