提交界面中跟踪式登录并自动跳转到跟踪页面

说明:

  1:这里是当点击的页面需要登录状态下才能操作情况下

      2:只需要在act=login 中获取 上一界面的url 并传值到登录界面 <input type="hidden" name="back_act" value="{$back_act}" />


  3:在act=act_login 接收 $back_act 并做跳转 (要排除
http://www.e1617.com/user.html?act=logout







代码实例:

    1: user.php实例

 

/* 用户登录界面 */
elseif ($action == 'login')
{
    
    //这个就是读取点击需要登录的url 
    if (empty($back_act))
    {
        if (empty($back_act) && isset($GLOBALS['_SERVER']['HTTP_REFERER']))
        {
            $back_act = strpos($GLOBALS['_SERVER']['HTTP_REFERER'], 'user.php') ? './index.html' : $GLOBALS['_SERVER']['HTTP_REFERER'];
        }
        else
        {
            $back_act = 'user.php';
        }

    }
      /*var_dump($back_act);  // 例如 http://www.e1617.com/caigou/add.html
      */
        // 排除突出功能的界面,因为这个界面会一直死循环
     if($back_act=='http://www.e1617.com/user.html?act=logout'){
         $back_act='http://www.e1617.com/';
     }

    

     /* 1:这个思想用于不同的类型注册,但是要在同一个界面进行展示不同信息进行注册时候
      * 2:譬如 点击 成为分销商 成为供应商 的链接分别为  http://www.e1617.com/user.html?act=register&is_suppliers=1  http://www.e1617.com/user.html?act=register&is_suppliers=2 来在界面判断哪些是不显示,哪些显示
      */
    $user_group=isset($_REQUEST['user_group'])?$_REQUEST['user_group']:0;
    $smarty->assign("user_group",$user_group);//该值判断是不是医疗会员
    $smarty->assign("is_suppliers",$_REQUEST['is_suppliers']);//会员是分销商还是供应商,分销商1供应商2

   
    
    
    
    
    
    $smarty->assign('back_act', $back_act);//这个就是用于跳转的传值地方到dwt界面
    $smarty->display('user_passport.dwt');
}

 

  2:user_passport.dwt 界面

 

 

<form action="user.php" method="post">
                                 <div class="item_fore1 ">
                                     <label for="loginname" class="login-label"></label>
                                     <input id="username" type="text" class="itxt" name="username" tabindex="1" autocomplete="off"placeholder="邮箱/用户名/已验证手机">
                                 </div>
                                 <div class="item_fore2 ">
                                     <label for="loginname" class="login-label"></label>
                                     <input type="password" id="password" name="password" class="itxt itxt-error" tabindex="2" autocomplete="off" placeholder="密码">
                                 </div>
                                 
                                 <div class="item_fore3 pt_20">
                                     <input type="hidden" name="act" value="act_login" />
                                     <input type="hidden" name="back_act" value="{$back_act}" />

                                     <div class="login_btn">
                                      <input id="denglu" type="submit" name="submit" class="login_btn1"  value="登&nbsp;&nbsp;&nbsp;&nbsp;录" >
                                     </div>
                                 </div>
                             </form>

 

 3:user.php 处理代码:

 

/* 处理会员的登录 */
elseif ($action == 'act_login')
{

    $username = isset($_POST['username']) ? trim($_POST['username']) : '';
    $password = isset($_POST['password']) ? trim($_POST['password']) : '';
    $back_act = isset($_POST['back_act']) ? trim($_POST['back_act']) : '';


  
    
    /* 这样用来进行拼接字段的经典方法 */
    $back_url = isset($_POST['back_url']) ? trim($_POST['back_url']) : '';
    $user_group = isset($_POST['user_group']) ? trim($_POST['user_group']) : '';
    $is_suppliers = isset($_POST['is_suppliers']) ? trim($_POST['is_suppliers']) : '';
    if($back_url!=""){
        $logact.="&back_url=".$back_url;
    }

    if($user_group!=""){
        $logact.="&user_group=".$user_group;
    }
    if($is_suppliers!=""){
        $logact.="&is_suppliers=".$is_suppliers;
    }



   
if ($user->login($username, $password))){
            //header("location:$back_act");
             show_message($_LANG['login_success'] . $ucdata , array($_LANG['back_up_page'], $_LANG['profile_lnk']), array($back_act,'user.php'), 'info');
        }else{
             show_message($_LANG['login_failure'], $_LANG['relogin_lnk'], 'user.php?act=login'.$logact, 'error');
        }



    
}

 

posted @ 2017-04-11 16:52  王传明  阅读(332)  评论(0)    收藏  举报