服务报价 | 域名主机 | 网络营销 | 软件工具| [加入收藏]
 热线电话: #
当前位置: 主页 > php教程 > ecshop教程 >

开发ecshop新注册用户后台审核确认功能

时间:2014-12-26 00:25来源:未知 作者:最模板 点击:
需求: 1. 新注册的用户需要后台管理员进行确认之后才能成为正式用户。 2. 新用户注册之后,提示请等待管理员确认后才能使用。 3. 新注册的用户,如果管理员没有对其注册身份进行

ecshop需求:

1. 新注册的用户需要后台管理员进行确认之后才能成为正式用户。

2. 新用户注册之后,提示请等待管理员确认后才能使用。

3. 新注册的用户,如果管理员没有对其注册身份进行确认,在登录时会提示请等待管理员确认之后才能登录。

 

在观察数据库表的时候发现,users表中有个is_validated字段,默认是0,表明没有通过验证。我们基于这个字段来实现本文要求的功能。

 

升级说明

新注册的ecshop用户需要后台管理员确认之后才能成为正式注册的用户。在用户提交注册信息之后,提示用户管理员会通过电话对其身份进行确认。未确认的用户无法登录,未确认用户登录时会提示需要确认的信息。

升级方法

【1】在languages\zh_cn\admin\users.php中增加:

 
  1. $_LANG['invalid_is_validated'] = '只能输入0或1。0为无效,1为有效';  

 

【2】在languages\zh_cn\user.php中增加:

 
  1. $_LANG['login_failure_invalid'] = '需管理员确认身份之后才能登陆';  

【3】修改includes\modules\integrates\integrate.php中的login函数为:

 
  1. /** 
  2.    *  用户登录函数 
  3.    * 
  4.    * @access  public 
  5.    * @param   string $username 
  6.    * @param   string $password 
  7.    * 
  8.    * @return int 
  9.    */  
  10.   function login($username,$password$remember = null)  
  11.   {  
  12.        $rt = $this->check_user($username$password);  
  13.         
  14.       if ($rt > 0)  
  15.       {  
  16.           if($this->need_sync)  
  17.           {  
  18.              $this->sync($username,$password);  
  19.           }  
  20.          $this->set_session($username);  
  21.          $this->set_cookie($username$remember);  
  22.   
  23.           return 1;  
  24.       }  
  25.       else if ($rt == -1)  
  26.       {  
  27.            //If the user is not valid, returns -1.  
  28.            return -1;  
  29.       }  
  30.       else  
  31.       {  
  32.           return 0;  
  33.       }  
  34.   }  

修改add_user函数为:

 
  1. /** 
  2.      *  添加一个新用户 
  3.      * 
  4.      * @access  public 
  5.      * @param 
  6.      * 
  7.      * @return int 
  8.      */  
  9.     functionadd_user($username$password$email$gender = -1, $bday = 0, $reg_date=0,$md5password='')  
  10.     {  
  11.         /* 将用户添加到整合方 */  
  12.         if($this->check_user($username) != 0)  
  13.         {  
  14.             $this->error =ERR_USERNAME_EXISTS;  
  15.    
  16.             return false;  
  17.         }  
  18.         /* 检查email是否重复 */  
  19.         $sql = "SELECT" . $this->field_id .  
  20.                " FROM" . $this->table($this->user_table).  
  21.                " WHERE" . $this->field_email . " = '$email'";  
  22.         if($this->db->getOne($sql, true) > 0)  
  23.         {  
  24.             $this->error =ERR_EMAIL_EXISTS;  
  25.    
  26.             return false;  
  27.         }  
  28.    
  29.         $post_username =$username;  
  30.    
  31.         if ($md5password)  
  32.         {  
  33.             $post_password =$this->compile_password(array('md5password'=>$md5password));  
  34.         }  
  35.         else  
  36.         {  
  37.             $post_password =$this->compile_password(array('password'=>$password));  
  38.         }  
  39.    
  40.         $fields =array($this->field_name, $this->field_email, $this->field_pass);  
  41.         $values =array($post_username$email$post_password);  
  42.    
  43.         if ($gender > -1)  
  44.         {  
  45.             $fields[] =$this->field_gender;  
  46.             $values[] =$gender;  
  47.         }  
  48.         if ($bday)  
  49.         {  
  50.             $fields[] =$this->field_bday;  
  51.             $values[] = $bday;  
  52.         }  
  53.         if ($reg_date)  
  54.         {  
  55.             $fields[] =$this->field_reg_date;  
  56.             $values[] =$reg_date;  
  57.         }  
  58.    
  59.         $sql = "INSERTINTO " . $this->table($this->user_table).  
  60.                " (". implode(','$fields) . ")".  
  61.                " VALUES('" . implode("', '"$values) . "')";  
  62.    
  63.        $this->db->query($sql);  
  64.    
  65.         if($this->need_sync)  
  66.         {  
  67.            $this->sync($username$password);  
  68.         }  
  69.    
  70.         return true;  
  71.     }  

 【4】修改includes\modules\integrates\ecshop.php文件内容为:

 
  1. <?php  
  2.    
  3. /** 
  4.  * ECSHOP 会员数据处理类 
  5.  *============================================================================ 
  6.  * * 版权所有 2005-2012 上海商派网络科技有限公司,并保留所有权利。 
  7.  * 网站地址: //www.zuimoban.com 
  8.  * ---------------------------------------------------------------------------- 
  9.  * 这是一个免费开源的软件;这意味着您可以在不用于商业目的的前提下对程序代码 
  10.  * 进行修改、使用和再发布。 
  11.  *============================================================================ 
  12.  * $Author: liubo $ 
  13.  * $Id: ecshop.php 172172011-01-19 06:29:08Z liubo $ 
  14.  */  
  15.    
  16. if (!defined('IN_ECS'))  
  17. {  
  18.     die('Hacking attempt');  
  19. }  
  20.    
  21. /* 模块的基本信息 */  
  22. if (isset($set_modules) && $set_modules == TRUE)  
  23. {  
  24.     $i = (isset($modules)) ?count($modules) : 0;  
  25.    
  26.     /* 会员数据整合插件的代码必须和文件名保持一致 */  
  27.     $modules[$i]['code']    = 'ecshop';  
  28.    
  29.     /* 被整合的第三方程序的名称 */  
  30.     $modules[$i]['name']    = 'ECSHOP';  
  31.    
  32.     /* 被整合的第三方程序的版本 */  
  33.     $modules[$i]['version'] ='2.0';  
  34.    
  35.     /* 插件的作者 */  
  36.    $modules[$i]['author']  = 'ECSHOPR&D TEAM';  
  37.    
  38.     /* 插件作者的官方网站 */  
  39.     $modules[$i]['website'] ='//www.zuimoban.com';  
  40.    
  41.     return;  
  42. }  
  43.    
  44. require_once(ROOT_PATH .'includes/modules/integrates/integrate.php');  
  45. class ecshop extends integrate  
  46. {  
  47.     var $is_ecshop = 1;  
  48.     var $is_validated = '0';  
  49.    
  50.     function __construct($cfg)  
  51.     {  
  52.        $this->ecshop($cfg);  
  53.     }  
  54.    
  55.     /** 
  56.      * 
  57.      * 
  58.      * @access  public 
  59.      * @param 
  60.      * 
  61.      * @return void 
  62.      */  
  63.     function ecshop($cfg)  
  64.     {  
  65.        parent::integrate(array());  
  66.         $this->user_table ='users';  
  67.         $this->field_id ='user_id';  
  68.         $this->ec_salt ='ec_salt';  
  69.         $this->field_name ='user_name';  
  70.         $this->field_pass ='password';  
  71.         $this->field_email= 'email';  
  72.         $this->field_gender= 'sex';  
  73.         $this->field_bday ='birthday';  
  74.        $this->field_reg_date = 'reg_time';  
  75.         $this->need_sync =false;  
  76.         $this->is_ecshop =1;  
  77.         $this->is_validated= "is_validated";  
  78.     }  
  79.    
  80.    
  81.     /** 
  82.      *  检查指定用户是否存在及密码是否正确(重载基类check_user函数,支持zc加密方法) 
  83.      * 
  84.      * @access  public 
  85.      * @param   string $username   用户名 
  86.      * 
  87.      * @return  int 
  88.      */  
  89.     functioncheck_user($username$password = null)  
  90.     {  
  91.         if ($this->charset!= 'UTF8')  
  92.         {  
  93.             $post_username =ecs_iconv('UTF8'$this->charset, $username);  
  94.         }  
  95.         else  
  96.         {  
  97.             $post_username =$username;  
  98.         }  
  99.    
  100.         if ($password ===null)  
  101.         {  
  102.             $sql ="SELECT " . $this->field_id .  
  103.                    " FROM" . $this->table($this->user_table).  
  104.                    "WHERE " . $this->field_name . "='" . $post_username ."'";  
  105.    
  106.             return$this->db->getOne($sql);  
  107.         }  
  108.         else  
  109.         {  
  110.             //We also get theis_validated value  
  111.             $sql = "SELECTuser_id, password, is_validated, salt,ec_salt " .  
  112.                    " FROM" . $this->table($this->user_table).  
  113.                    "WHERE user_name='$post_username'";  
  114.             $row =$this->db->getRow($sql);  
  115.                  $ec_salt=$row['ec_salt'];  
  116.             if (empty($row))  
  117.             {  
  118.                 return 0;  
  119.             }  
  120.              
  121.             $is_validated =$row['is_validated'];  
  122.              
  123.             if (0 ==$is_validated)  
  124.             {  
  125.                  //We use -1 denote that that user resigsteredby not validated.  
  126.                  return -1;  
  127.             }  
  128.    
  129.             if(empty($row['salt']))  
  130.             {  
  131.                 if($row['password'] !=$this->compile_password(array('password'=>$password,'ec_salt'=>$ec_salt)))  
  132.                 {  
  133.                     return 0;  
  134.                 }  
  135.                 else  
  136.                 {  
  137.                             if(empty($ec_salt))  
  138.                           {  
  139.                                  $ec_salt=rand(1,9999);  
  140.                                  $new_password=md5(md5($password).$ec_salt);  
  141.                                 $sql = "UPDATE".$this->table($this->user_table)."SET password= '".$new_password."',ec_salt='".$ec_salt."'".  
  142.                    "WHERE user_name='$post_username'";  
  143.                         $this->db->query($sql);  
  144.    
  145.                             }  
  146.                     return$row['user_id'];  
  147.                 }  
  148.             }  
  149.             else  
  150.             {  
  151.                 /* 如果salt存在,使用salt方式加密验证,验证通过洗白用户密码*/  
  152.                 $encrypt_typesubstr($row['salt'], 0, 1);  
  153.                 $encrypt_saltsubstr($row['salt'], 1);  
  154.    
  155.                 /* 计算加密后密码 */  
  156.                $encrypt_password = '';  
  157.                 switch($encrypt_type)  
  158.                 {  
  159.                     caseENCRYPT_ZC :  
  160.                        $encrypt_password = md5($encrypt_salt.$password);  
  161.                         break;  
  162.                     /* 如果还有其他加密方式添加到这里  */  
  163.                     //caseother :  
  164.                     //  ----------------------------------  
  165.                     //  break;  
  166.                     caseENCRYPT_UC :  
  167.                        $encrypt_password = md5(md5($password).$encrypt_salt);  
  168.                         break;  
  169.    
  170.                     default:  
  171.                        $encrypt_password = '';  
  172.    
  173.                 }  
  174.    
  175.                 if($row['password'] != $encrypt_password)  
  176.                 {  
  177.                     return 0;  
  178.                 }  
  179.    
  180.                 $sql ="UPDATE " . $this->table($this->user_table) .  
  181.                        "SET password = '"$this->compile_password(array('password'=>$password)) . "',salt=''".  
  182.                        "WHERE user_id = '$row[user_id]'";  
  183.                $this->db->query($sql);  
  184.    
  185.                 return$row['user_id'];  
  186.             }  
  187.         }  
  188.     }  
  189.    
  190.    
  191.     /** 
  192.      *  编辑用户信息($password, $email, $gender, $bday) 重载父类的方法 
  193.      * 
  194.      * @access  public 
  195.      * @param 
  196.      * 
  197.      * @return void 
  198.      */  
  199.     function edit_user($cfg)  
  200.     {  
  201.          if (empty($cfg['username']))  
  202.          {  
  203.                return false;  
  204.          }  
  205.          else  //www.zuimoban.com
  206.          {  
  207.                $cfg['post_username'] = $cfg['username'];  
  208.          }  
  209.      
  210.          $values = array();  
  211.          if (!empty($cfg['password']) && empty($cfg['md5password']))  
  212.          {  
  213.                $cfg['md5password'] = md5($cfg['password']);  
  214.          }  
  215.          if ((!empty($cfg['md5password'])) &&$this->field_pass != 'NULL')  
  216.          {  
  217.                $values[] = $this->field_pass . "='" .$this->compile_password(array('md5password'=>$cfg['md5password'])) ."'";  
  218.          }  
  219.      
  220.          if ((!empty($cfg['email'])) && $this->field_email !='NULL')  
  221.          {  
  222.                /* 检查email是否重复 */  
  223.                $sql = "SELECT " . $this->field_id .  
  224.                " FROM " .$this->table($this->user_table).  
  225.                " WHERE " . $this->field_email . " ='$cfg[email]' ".  
  226.                " AND " . $this->field_name . " !='$cfg[post_username]'";  
  227.                if ($this->db->getOne($sql, true) > 0)  
  228.                {  
  229.                      $this->error = ERR_EMAIL_EXISTS;  
  230.      
  231.                      return false;  
  232.                }  
  233.                // 检查是否为新E-mail  
  234.                $sql = "SELECT count(*)" .  
  235.                           " FROM " .$this->table($this->user_table).  
  236.                           " WHERE " . $this->field_email ." = '$cfg[email]' ";  
  237.                if($this->db->getOne($sql, true) == 0)  
  238.                {  
  239.                      // 新的E-mail  
  240.                      $sql = "UPDATE " . $GLOBALS['ecs']->table('users'). " SET is_validated = 0 WHERE user_name = '$cfg[post_username]'";  
  241.                      $this->db->query($sql);  
  242.                }  
  243.                $values[] = $this->field_email . "='".$cfg['email'] . "'";  
  244.          }  
  245.      
  246.          if (isset($cfg['gender']) && $this->field_gender !='NULL')  
  247.          {  
  248.                $values[] = $this->field_gender . "='" .$cfg['gender'] . "'";  
  249.          }  
  250.      
  251.          if ((!empty($cfg['bday'])) && $this->field_bday !='NULL')  
  252.          {  
  253.                $values[] = $this->field_bday . "='" .$cfg['bday'] . "'";  
  254.          }  
  255.      
  256.          if ((!is_null($cfg['is_validated'])) &&$this->is_validated != 'NULL')  
  257.          {  
  258.                $values[] = $this->is_validated . "='" .$cfg['is_validated'] . "'";  
  259.          }  
  260.           
  261.          if ($values)  
  262.          {  
  263.                $sql = "UPDATE " .$this->table($this->user_table).  
  264.                " SET " . implode(', '$values).  
  265.                " WHERE " . $this->field_name ."='" . $cfg['post_username'] . "' LIMIT 1";  
  266.    
  267.                $this->db->query($sql);  
  268.           
  269.                if ($this->need_sync)  
  270.                {  
  271.                      if (empty($cfg['md5password']))  
  272.                      {  
  273.                           $this->sync($cfg['username']);  
  274.                      }  
  275.                      else  
  276.                      {  
  277.                           $this->sync($cfg['username'], '',$cfg['md5password']);  
  278.                      }  
  279.                }  
  280.          }  
  281.      
  282.          return true;  
  283.     }  
  284. }  
  285.    
  286. ?>  

【5】修改admin\templates\users_list.htm中的:


 
  1. <td align="center">{if $user.is_validated} <imgsrcimgsrc="images/yes.gif"> {else} <imgsrcimgsrc="images/no.gif"> {/if}</td>  

为:


 
  1. <td align="center"><spanonclickspanonclick="listTable.edit(this, 'edit_is_validated', {$user.user_id})"id="is_validated_text">{if $user.is_validated} <imgsrcimgsrc="images/yes.gif"> {else} <img src="images/no.gif">{/if}</td></span></td>  

【6】修改admin\js\listtable.js中的listTable.edit响应函数为:

 
  1. /** 
  2.  * 创建一个可编辑区 
  3.  */  
  4. listTable.edit = function(obj, act, id)  
  5. {  
  6.   var tag =obj.firstChild.tagName;  
  7.    
  8.   if (typeof(tag) !="undefined" && tag.toLowerCase() == "input")  
  9.   {  
  10.     return;  
  11.   }  
  12.    
  13.   /* 保存原始的内容 */  
  14.   var org = obj.innerHTML;  
  15.   var val = Browser.isIE ?obj.innerText : obj.textContent;  
  16.    
  17.   /* 创建一个输入框 */  
  18.   var txt =document.createElement("INPUT");  
  19.   txt.value = (val == 'N/A') ?'' : val;  
  20.   txt.style.width =(obj.offsetWidth + 12) + "px" ;  
  21.    
  22.   /* 隐藏对象中的内容,并将输入框加入到对象中 */  
  23.   obj.innerHTML ="";  
  24.   obj.appendChild(txt);  
  25.   txt.focus();  
  26.    
  27.   /* 编辑区输入事件处理函数 */  
  28.   txt.onkeypress = function(e)  
  29.   {  
  30.     var evt =Utils.fixEvent(e);  
  31.     var obj = Utils.srcElement(e);  
  32.    
  33.     if (evt.keyCode == 13)  
  34.     {  
  35.       obj.blur();  
  36.    //www.zuimoban.com
  37.       return false;  
  38.     }  
  39.    
  40.     if (evt.keyCode == 27)  
  41.     {  
  42.       obj.parentNode.innerHTML= org;  
  43.     }  
  44.   }  
  45.    
  46.   /* 编辑区失去焦点的处理函数 */  
  47.   txt.onblur = function(e)  
  48.   {  
  49.     if(Utils.trim(txt.value).length > 0)  
  50.     {  
  51.       res =Ajax.call(listTable.url, "act="+act+"&val=" +encodeURIComponent(Utils.trim(txt.value)) + "&id=" +id, null,"POST""JSON"false);  
  52.    
  53.       if (res.message)  
  54.       {  
  55.         alert(res.message);  
  56.       }  
  57.    
  58.       if(res.id &&(res.act == 'goods_auto' || res.act == 'article_auto'))  
  59.       {  
  60.          document.getElementById('del'+res.id).innerHTML = "<ahref=\""+ thisfile +"?goods_id="+ res.id+"&act=del\" onclick=\"returnconfirm('"+deleteck+"');\">"+deleteid+"</a>";  
  61.       }  
  62.    
  63.       obj.innerHTML =(res.error == 0) ? res.content : org;  
  64.     }  
  65.     else  
  66.     {  
  67.       obj.innerHTML = org;  
  68.     }  
  69.      
  70.     if (act =='edit_is_validated')  
  71.     {  
  72.          if (obj.innerHTML == '1')  
  73.          {  
  74.                 obj.innerHTML ='<img src="images/yes.gif">';  
  75.          }  
  76.          else  
  77.            {  
  78.                obj.innerHTML = '<imgsrc="images/no.gif">';  
  79.            }  
  80.     }  
  81.   }  
  82. }  

【7】在admin\users.php中增加:


 
  1. /*------------------------------------------------------ */  
  2. //-- 编辑会员有效性  
  3. /*------------------------------------------------------ */  
  4. elseif ($_REQUEST['act'] == 'edit_is_validated')  
  5. {  
  6.      /* 检查权限 */  
  7.      check_authz_json('users_manage');  
  8.    
  9.      $id =empty($_REQUEST['id']) ? 0 : intval($_REQUEST['id']);  
  10.      $is_validated =is_null($_REQUEST['val']) ? '' : json_str_iconv(trim($_REQUEST['val']));  
  11.    
  12.      $users =&init_users();   //www.zuimoban.com
  13.    
  14.      $sql = "SELECTuser_name, email FROM " . $ecs->table('users') . " WHERE user_id ='$id'";  
  15.      $row =$db->GetRow($sql);  
  16.      $username =$row["user_name"];  
  17.      $email =$row["email"];  
  18.    
  19.    
  20.      if (($is_validated == '0')|| ($is_validated == 1))  
  21.      {  
  22.            if($users->edit_user(array('username'=>$username'email'=>$email,'is_validated'=>$is_validated)))  
  23.            {  
  24.                  admin_log(addslashes($username),'edit''users');  
  25.    
  26.                  make_json_result(stripcslashes($is_validated));  
  27.            }  
  28.            else  
  29.            {  
  30.                  $msg =($users->error == ERR_EMAIL_EXISTS) ? $GLOBALS['_LANG']['email_exists'] :$GLOBALS['_LANG']['edit_user_failed'];  
  31.                  make_json_error($msg);  
  32.            }  
  33.      }  
  34.      else  
  35.      {  
  36.            make_json_error($GLOBALS['_LANG']['invalid_is_validated']);  
  37.      }  
  38. }  

【8】user.php中将:

 
  1. show_message(sprintf($_LANG['register_success'], $username .$ucdata), array($_LANG['back_up_page'], $_LANG['profile_lnk']),array($back_act'user.php'), 'info');  

改为:

 
  1. show_message(sprintf($_LANG['register_success'], $username .$ucdata), array($_LANG['back_up_page']), array($back_act), 'info');  

 
  1. if ($user->check_user($username) || admin_registered($username))  

改为:


 
  1. if (($user->check_user($username) != 0) ||admin_registered($username))  

将:


 
  1. if ($user->login($username$password,isset($_POST['remember'])))  
  2.     {  
  3.         update_user_info();  
  4.         recalculate_price();  
  5.    
  6.         $ucdata =isset($user->ucdata)? $user->ucdata : '';  
  7.        show_message($_LANG['login_success'] . $ucdata ,array($_LANG['back_up_page'], $_LANG['profile_lnk']),array($back_act,'user.php'), 'info');  
  8.     }  

改为:


 
  1. $rt = $user->login($username,$password,isset($_POST['remember']));  
  2.     if ($rt > 0)  
  3.     {  
  4.         update_user_info();  
  5.         recalculate_price();  
  6.    
  7.         $ucdata =isset($user->ucdata)? $user->ucdata : '';  
  8.        show_message($_LANG['login_success'] . $ucdata ,array($_LANG['back_up_page'], $_LANG['profile_lnk']),array($back_act,'user.php'), 'info');  
  9.     }  
  10.     else if ($rt == -1)  
  11.     {  
  12.          show_message($_LANG['login_failure_invalid'], $_LANG['relogin_lnk'],'user.php''error');  
  13.     }  

将:

 
  1. if ($user->login($username$password))  
  2.     {  
  3.        update_user_info();  //更新用户信息  
  4.         recalculate_price();// 重新计算购物车中的商品价格  
  5.        $smarty->assign('user_info', get_user_info());  
  6.         $ucdata =empty($user->ucdata)? "" : $user->ucdata;  
  7.         $result['ucdata'] =$ucdata;  
  8.         $result['content'] =$smarty->fetch('library/member_info.lbi');  
  9.     }  

改为:   

 
  1. $rt =$user->login($username$password);  
  2.    if ($rt > 0)  
  3.    {  
  4.        update_user_info();  //更新用户信息  
  5.        recalculate_price();// 重新计算购物车中的商品价格  
  6.       $smarty->assign('user_info', get_user_info());  
  7.        $ucdata =empty($user->ucdata)? "" : $user->ucdata;  
  8.        $result['ucdata'] =$ucdata;  
  9.        $result['content'] =$smarty->fetch('library/member_info.lbi');  
  10.    }  
  11.    else if ($rt == -1)  //www.zuimoban.com
  12.    {  
  13.         if ($_SESSION['login_fail'] > 2)  
  14.         {  
  15.               $smarty->assign('enabled_captcha', 1);  
  16.               $result['html'] =$smarty->fetch('library/member_info.lbi');  
  17.         }  
  18.         $result['error']   = 1;  
  19.         $result['content'] = $_LANG['login_failure_invalid'];  
  20.    }<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);"> </span>  

将:

 
  1. if (($user_info && (!empty($code) &&md5($user_info['user_id'] . $_CFG['hash_code'] . $user_info['reg_time']) ==$code)) || ($_SESSION['user_id']>0 && $_SESSION['user_id'] ==$user_id && $user->check_user($_SESSION['user_name'],$old_password)))  

改为:

 
  1. if (($user_info && (!empty($code) &&md5($user_info['user_id'] . $_CFG['hash_code'] . $user_info['reg_time']) ==$code)) || ($_SESSION['user_id']>0 && $_SESSION['user_id'] ==$user_id && ($user->check_user($_SESSION['user_name'],$old_password) > 0)))  

【9】flow.php中将:


 
  1. if ($user->login($_POST['username'],$_POST['password'],isset($_POST['remember'])))  
  2.             {  
  3.                update_user_info();  //更新用户信息  
  4.                recalculate_price(); // 重新计算购物车中的商品价格  
  5.    
  6.                 /* 检查购物车中是否有商品 没有商品则跳转到首页 */  
  7.                 $sql ="SELECT COUNT(*) FROM " . $ecs->table('cart') . " WHEREsession_id = '" . SESS_ID . "' ";  
  8.                 if($db->getOne($sql) > 0)  
  9.                 {  
  10.                     ecs_header("Location:flow.php?step=checkout\n");  
  11.                 }  
  12.                 else  
  13.                 {  
  14.                    ecs_header("Location:index.php\n");  
  15.                 }  
  16.    
  17.                 exit;  
  18.             }  

改为:

 
  1. $rt = $user->login($_POST['username'],$_POST['password'],isset($_POST['remember']));  
  2.             if ($rt > 0)  
  3.             {  
  4.                update_user_info();  //更新用户信息  
  5.                recalculate_price(); // 重新计算购物车中的商品价格  
  6.    
  7.                 /* 检查购物车中是否有商品 没有商品则跳转到首页 */  
  8.                 $sql ="SELECT COUNT(*) FROM " . $ecs->table('cart') . " WHEREsession_id = '" . SESS_ID . "' ";  
  9.                 if($db->getOne($sql) > 0)  
  10.                 {  
  11.                    ecs_header("Location: flow.php?step=checkout\n");  
  12.                 }  
  13.                 else  
  14.                 {  
  15.                    ecs_header("Location:index.php\n");  
  16.                 }  
  17.    
  18.                 exit;  
  19.             }  
  20.             else if ($rt ==-1)  
  21.             {  
  22.                  show_message($_LANG['login_failure_invalid'],$_LANG['relogin_lnk'], 'user.php''error');  
  23.             }  
  24.  
转载请注明网址 //www.zuimoban.com/php/ecshop/2029.html(责任编辑:最模板)
顶一下
(5)
25%
踩一下
(15)
75%
------分隔线----------------------------