最新消息: 新版网站上线了!!!

ecshop注册页部分添加字段

ecshop注册页部分添加字段一、数据库结构修改
1、用phpMyAdmin打开mysql数据库
2、选择表“ecs_users ”
3、插入tel、mobile、address三个字段
4、字段类型分别为
 
二、前台
1、修改themes/你所选模板目录下/user_passport.dwt文件
           <tr>
             <td align="right"><strong>{$lang.label_email}:</strong></td>
             <td><input name="email" type="text" id="email" />
               <span style="color:#F00;"> *</span></td>
           </tr>
           <tr>
             <td align="right"><strong>电话:</strong></td>
             <td><input name="tel" type="text" id="tel" />
               <span style="color:#F00;"> *</span></td>
           </tr>
           <tr>
             <td align="right"><strong>手机:</strong></td>
             <td><input name="mobile" type="text" id="mobile" />
               <span style="color:#F00;"> *</span></td>
           </tr>
           <tr>
             <td align="right"><strong>{$lang.label_address}:</strong></td>
             <td><input name="address" type="text" id="address" />
               <span style="color:#F00;"> *</span></td>
           </tr>
 
 
2、修改根目录下的user.php
 
/* 注册会员的处理 */
elseif ($action == 'act_register')
{
     include_once(ROOT_PATH . 'includes/lib_passport.php');
 
     $username = isset($_POST['username']) ? trim($_POST['username']) : '';
     $password = isset($_POST['password']) ? trim($_POST['password']) : '';
     $email     = isset($_POST['email']) ? trim($_POST['email']) : '';
     $tel       = isset($_POST['tel']) ? trim($_POST['tel']) : '';
     $mobile    = isset($_POST['mobile']) ? trim($_POST['mobile']) : '';
     $address   = isset($_POST['address']) ? trim($_POST['address']) : '';
 
     if (strlen($username) < 3)
     {
         show_message($_LANG['passport_js']['username_shorter']);
     }
 
     if (strlen($password) < 6)
     {
         show_message($_LANG['passport_js']['password_shorter']);
     }
 
     if (register($username, $password, $email, $tel, $mobile, $address) !== false)
     {
         show_message(sprintf($_LANG['register_success'], $username), $_LANG['profile_lnk'], 'user.php');
     }
     else
     {
         $err->show($_LANG['sign_up'], 'user.php?act=register');
     }
}
 
 
3、修改upload/js/user.js文件
/* *
* 处理注册用户
*/
function register()
{
   var frm               = document.forms['formUser'];
   var username          = Utils.trim(frm.elements['username'].value);
   var email             = frm.elements['email'].value;
   var password          = Utils.trim(frm.elements['password'].value);
   var confirm_password = Utils.trim(frm.elements['confirm_password'].value);
 
   var tel               = Utils.trim(frm.elements['tel'].value);
   var mobile            = Utils.trim(frm.elements['mobile'].value);
   var address           = Utils.trim(frm.elements['address'].value);
 
 
   var msg = "";
   // 检查输入
 
4、修改includes/lib_passport.php
function register($username, $password, $email, $tel, $mobile, $address)
{
     /* 检查username */
     if (empty($username))
     {
         $GLOBALS['err']->add($GLOBALS['_LANG']['username_empty']);
     }
     else
     {
         if (preg_match('/\'\/^\\s*$|^c:\\\\con\\\\con$|[%,\\*\\"[url=file://\\s\\t\\<\\]\\s\\t\\<\\>\\&\'\\\\]/'[/url], $username))
         {
             $GLOBALS['err']->add(sprintf($GLOBALS['_LANG']['username_invalid'], htmlspecialchars($username)));
         }
     }
     /* 检查email */
     if (empty($email))
     {
         $GLOBALS['err']->add($GLOBALS['_LANG']['email_empty']);
     }
     else
     {
         if (!is_email($email))
         {
             $GLOBALS['err']->add(sprintf($GLOBALS['_LANG']['email_invalid'], htmlspecialchars($email)));
         }
     }
     if ($GLOBALS['err']->error_no > 0)
     {
         return false;
     }
     $newid = $GLOBALS['user']->add_user($username, $password, $email, $tel, $mobile, $address);
     if ($newid == 0)
     {
         /* 插入会员数据失败 */
         if ($GLOBALS['user']->error == ERR_USERNAME_EXISTS)
         {
             $GLOBALS['err']->add(sprintf($GLOBALS['_LANG']['username_exist'], $username));
         }
         elseif ($GLOBALS['user']->error == ERR_EMAIL_EXISTS)
         {
             $GLOBALS['err']->add(sprintf($GLOBALS['_LANG']['email_exist'], $email));
         }
         else
         {
             $GLOBALS['err']->add($GLOBALS['user']->error_msg());
         }
         return false;
     }
     else
     {
         $cur_date = date('Y-m-d H:i:s');
         if ($GLOBALS['_CFG']['integrate_code'] == 'ecshop')
         {
             /* 更新会员注册积分 */
             $sql = 'UPDATE ' . $GLOBALS['ecs']->table('users') .
                    " SET pay_points ='" . $GLOBALS['_CFG']['register_points'] ."'," .
                    " rank_points = '" . $GLOBALS['_CFG']['register_points'] ."' ," .
                    " birthday = '1970-01-01'," .
                    " last_time = '$cur_date'" .
                    " WHERE user_id = '$newid' ";
         }
         else
         {
             /* 插入会员数据到ecshop数据库 */
             $sql = 'INSERT INTO ' .$GLOBALS['ecs']->table('users').
                         ' (user_id, user_name, password, email, tel, mobile, address, pay_points, rank_points, birthday, last_time) '.
                     "VALUES ('$newid', '$username', '" .$GLOBALS['ecs']->compile_password($password). "',".
                         " '$email', '$tel', '$mobile', '$address', '" . $GLOBALS['_CFG']['register_points'] ."', '" . $GLOBALS['_CFG']['register_points'] . "', '1970-01-01', '$cur_date')";
         }
         $GLOBALS['db']->query($sql);
         /* 设置session */
         $_SESSION['user_id']    = $newid;
         $_SESSION['user_name'] = stripslashes($username);
         $_SESSION['email']      = $email;
         update_user_info();       // 更新用户信息
         recalculate_price();      // 重新计算购物车中的商品价格
         return true;
     }
}
 
 
5、修改includes/modules/integrates/ecshop.php
     function add_user($username, $password, $email, $tel, $mobile, $address)
     {
         /* 检查用户名是否已经存在 */
         $sql = 'SELECT COUNT(*) FROM ' . $GLOBALS['ecs']->table('users') .
                 ' WHERE ' . $this->field_name . " = '$username'";
         if ($this->db->GetOne($sql) > 0)
         {
             $this->error = ERR_USERNAME_EXISTS;
             return 0;
         }
         /* 检查邮件地址是否重复 */
         $sql = 'SELECT COUNT(*) FROM ' . $GLOBALS['ecs']->table('users') .
                 ' WHERE ' . $this->field_email . " = '$email'";
         if ($this->db->GetOne($sql) > 0)
         {
             $this->error = ERR_EMAIL_EXISTS;
             return 0;
         }
         /* 编译密码 */
         $password = $GLOBALS['ecs']->compile_password($password);
         /* 插入数据库 */
         $sql = 'INSERT INTO ' . $GLOBALS['ecs']->table('users') . '(' .
                     $this->field_name . ', ' . $this->field_pass . ', ' . $this->field_email . ',tel,mobile,address,' . $this->field_reg_date .
                 ' ) VALUES ( ' .
                     "'$username', '$password', '$email', '$tel', '$mobile', '$address', " . time() . ')';
         $res = $this->db->query($sql);
         if ($res)
         {
             $new_id = $this->db->Insert_ID();
             return $new_id;
         }
         else
         {
             $this->error = ERR_USERNAME_EXISTS;
             return 0;
         }
     }
 
三、后台部分修改
admin/templates/user_info.htm
   <tr>
     <td class="label">{$lang.email}:</td>
     <td><input type="text" name="email" maxlength="60" size="40" value="{$user.email}" />{$lang.require_field}</td>
   </tr>
     <tr>
     <td class="label">电话:</td>
     <td><input type="text" name="tel" maxlength="60" size="40" value="{$user.tel}" />{$lang.require_field}</td>
   </tr>
   <tr>
     <td class="label">手机:</td>
     <td><input type="text" name="mobile" maxlength="60" size="40" value="{$user.mobile}" />{$lang.require_field}</td>
   </tr>
   <tr>
     <td class="label">地址:</td>
     <td><input type="text" name="address" maxlength="60" size="40" value="{$user.address}" />{$lang.require_field}</td>
   </tr> 
admin/user.php
 
     $sql = "SELECT sex, birthday, pay_points, rank_points, user_rank ,user_money FROM " .$ecs->table('users'). " WHERE user_id='$_GET[id]'";
     $row = $db->GetRow($sql);
if ($row)
     {
         $user['tel']             = $row['tel'];
         $user['mobile']          = $row['mobile'];
         $user['address']         = $row['address']; 
         $user['sex']             = $row['sex'];
         $user['birthday']        = date($row['birthday']);
 
 
 
 
 

转载请注明:谷谷点程序 » ecshop注册页部分添加字段