ECSHOP实现收货需要输入登陆密码

一、打开user.php
第一步、找到
/* 确认收货 */
elseif ($action == 'affirm_received')
{
 if($user->eb_received_test($_SESSION['user_name'], $_GET['password']))
 {
  include_once(ROOT_PATH . 'includes/lib_transaction.php');
 
  $order_id = isset($_GET['order_id']) ? intval($_GET['order_id']) : 0;
 
  if (affirm_received($order_id, $user_id))
  {
   ecs_header("Location: user.php?act=order_list\n");
   exit;
  }
  else
  {
   $err->show($_LANG['order_list_lnk'], 'user.php?act=order_list');
  }
 }
}
替换为
/* 确认收货 */
elseif ($action == 'affirm_received')
{
 //$user->test();
 
 if($user->eb_received_test($_SESSION['user_name'], $_GET['password']))
 {
  include_once(ROOT_PATH . 'includes/lib_transaction.php');
 
  $order_id = isset($_GET['order_id']) ? intval($_GET['order_id']) : 0;
 
  if (affirm_received($order_id, $user_id))
  {
   echo(1);
   //ecs_header("Location: user.php?act=order_list\n");
   exit;
  }
  else
  {
   echo(2);
   //$err->show($_LANG['order_list_lnk'], 'user.php?act=order_list');
  }
 }
 else{
  echo(0);
  }
}

第二步、打开lib_transaction.php
找到
@$row['handler'] = "<a href=\"user.php?act=affirm_received&order_id=" .$row['order_id']. "\" onclick=\"if (!confirm('".$GLOBALS['_LANG']['confirm_received']."')) return false;\">".$GLOBALS['_LANG']['received']."</a>";
替换为
$url = "user.php?act=affirm_received&order_id=" .$row['order_id'];
@$row['handler'] = "<input type='button' onclick=\"showdiv('".$url."')\" value='确认收货'/>";

第三步、打开user_transaction.dwt
找到
<td align="center" bgcolor="#ffffff">{$item.handler}</td>
替换为
<td align="center" bgcolor="#ffffff"><label id="eb_caozuo">{$item.handler}</label></td>
然后在
   <tr>
    <td align="center" bgcolor="#ffffff"><a href="user.php?act=order_detail&order_id={$item.order_id}">{$item.order_sn}</a></td>
    <td align="center" bgcolor="#ffffff">{$item.order_time}</td>
    <td align="right" bgcolor="#ffffff">{$item.total_fee}</td>
    <td align="center" bgcolor="#ffffff">{$item.order_status}</td>
    <td align="center" bgcolor="#ffffff">{$item.handler}</td>
   </tr>
   <!--{/foreach}-->
  </table>
  </div>
后面添加如下代码
 <div id="pwddiv" style="display:none">
         
    <label>请输入登陆密码:</label>
    <input type="password" id="logpwd"/>
    <input type="button" value="验证" onclick="send_received()"/>
    <input type="button" value="关闭" onclick="closediv()"/>
           
    <label style="color:#F00; size:12" id="eb_waring"></label><!-- 警告框 -->
                       
  </div>
         
  <script language="javascript">
 //保存ajax  url地址
 var eb_url;
   
 //显示密码输入
    function showdiv(url)
 {
  document.getElementById("pwddiv").style.display = "block";
  eb_url = url; 
 }
   
 //关闭密码输入
 function closediv()
 {
  document.getElementById("pwddiv").style.display = "none";
  document.getElementById("eb_waring").innerHTML = "";
 }
   
 //提交确认命令
   
 function send_received()
 {
  pwd = document.getElementById("logpwd").value;
   
  eb_url = eb_url + "&password=" + pwd +"&" + new Date().getTime();
    
  Ajax.call(eb_url, "" , send_received_smg, "POST", "TEXT", true);
 }
   
 /*
  0:密码错误
  1:收货成功
  2:收货出错
 */ 
 function send_received_smg(result)
 {
  switch(parseInt(result))
    {
    case 0:
   document.getElementById("eb_waring").innerHTML="密码错误";
   break;
    case 1:
   document.getElementById("eb_caozuo").innerHTML="<label style='color:#F00'>已完成</label>";
   document.getElementById("eb_waring").innerHTML="";
   closediv();
   break;
    case 2:
   document.getElementById("eb_waring").innerHTML="收货指令出错在#2";
   break
    default:
   break;
  }
 }
  </script>

本文章由www.ebshow.com 恩碧秀购物网提供

你可能感兴趣的:(JavaScript,Ajax,PHP)