• 欢迎浏览“String me = Creater\忠实的资深Linux玩家;”,请文明浏览,理性发言,有侵犯你的权益请邮件我(creater@vip.qq.com).
  • 把任何的失败都当作一次尝试,不要自卑;把所有的成功都想成是一种幸运,不要自傲。
  •    2年前 (2016-04-24)  ecshop |   抢沙发  12 
    文章评分 0 次,平均分 0.0

    首先打开注册页面。user.php?act=register这个是注册的url首先我们去找user.php然后找到act=register动作

    if ($action == 'register')
    {
        if ((!isset($back_act)||empty($back_act)) && isset($GLOBALS['_SERVER']['HTTP_REFERER']))
        {
            $back_act = strpos($GLOBALS['_SERVER']['HTTP_REFERER'], 'user.php') ? './index.php' : $GLOBALS['_SERVER']['HTTP_REFERER'];
        }
    
        /* 取出注册扩展字段 */
        $sql = 'SELECT * FROM ' . $ecs->table('reg_fields') . ' WHERE type < 2 AND display = 1 ORDER BY dis_order, id';
        $extend_info_list = $db->getAll($sql);
        $smarty->assign('extend_info_list', $extend_info_list);
    
        /* 验证码相关设置 */
        if ((intval($_CFG['captcha']) & CAPTCHA_REGISTER) && gd_version() > 0)
        {
            $smarty->assign('enabled_captcha', 1);
            $smarty->assign('rand',            mt_rand());
        }
    
        /* 密码提示问题 */
        $smarty->assign('passwd_questions', $_LANG['passwd_questions']);
    
        /* 增加是否关闭注册 */
        $smarty->assign('shop_reg_closed', $_CFG['shop_reg_closed']);
    //    $smarty->assign('back_act', $back_act);
          $smarty->display('user_passport.dwt');
    }

    看一下display到那个模板。找到user_passport.dwt模板,在这个模板里边添加一个input框,这个就不用多说了吧。我这的input 名称叫 company

     <tr>
              <td align="right">公司名称</td>
              <td><input name="company" type="text" size="25" id="<span style="color:#ff0000;">company</span>"   class="inputBg"/></td>
            </tr>

    这样就完成了第一步。然后看看他提交到那个php文件进行处理的。

       <tr>
              <td> </td>
              <td align="left">
              <input name="act" type="hidden" value="act_register" >
              <input type="hidden" name="back_act" value="{$back_act}" />
              <input name="Submit" type="submit" value="" class="us_Submit_reg">
              </td>
            </tr>

    由此可以看出是通过act=act_register完成的,所以要在user.php里找到这个动作。

    elseif ($action == 'act_register')
    {
        /* 增加是否关闭注册 */
        if ($_CFG['shop_reg_closed'])
        {
            $smarty->assign('action',     'register');
            $smarty->assign('shop_reg_closed', $_CFG['shop_reg_closed']);
            $smarty->display('user_passport.dwt');
        }
        else
        {
            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']) : '';
            $other['msn'] = isset($_POST['extend_field1']) ? $_POST['extend_field1'] : '';
            $other['qq'] = isset($_POST['extend_field2']) ? $_POST['extend_field2'] : '';
            $other['office_phone'] = isset($_POST['extend_field3']) ? $_POST['extend_field3'] : '';
            $other['home_phone'] = isset($_POST['extend_field4']) ? $_POST['extend_field4'] : '';
            $other['mobile_phone'] = isset($_POST['extend_field5']) ? $_POST['extend_field5'] : '';
    	$other['company'] = isset($_POST['company']) ? $_POST['company'] : '';		
            $sel_question = empty($_POST['sel_question']) ? '' : $_POST['sel_question'];
            $passwd_answer = isset($_POST['passwd_answer']) ? trim($_POST['passwd_answer']) : '';
            $back_act = isset($_POST['back_act']) ? trim($_POST['back_act']) : '';

    找到后在这里添加 $other['company'] = isset($_POST['company']) ? $_POST['company'] : '';这一项
    然后在往下找。。找到下边这段代码。

    if (register</span>($username, $password, $email, $other) !== false)
            {
                /*把新注册用户的扩展信息插入数据库*/
                $sql = 'SELECT id FROM ' . $ecs->table('reg_fields') . ' WHERE type = 0 AND display = 1 ORDER BY dis_order, id';   //读出所有自定义扩展字段的id
                $fields_arr = $db->getAll($sql);
    
                $extend_field_str = '';    //生成扩展字段的内容字符串

    这个文件是在这个include文件夹里的,这里边有一个lib_passport.php打开
    大概在159行
    //定义other合法的变量数组
    $other_key_array = array('msn', 'qq', 'office_phone', 'home_phone', 'mobile_phone','company');
    加上company,当然还得再数据库中增加一个字段叫company,然后进入后台清楚缓存,前台刷新,注册。就可以写到数据库了。

     

    除特别注明外,本站所有文章均为String me = "Creater\忠实的资深Linux玩家";原创,转载请注明出处来自http://unix8.net/home.php/4804.html

    关于

    发表评论

    暂无评论

    切换注册

    登录

    忘记密码 ?

    切换登录

    注册

    扫一扫二维码分享