COVID-19【新冠病毒、武漢肺炎】即時資訊:全球疫情台灣疫情
目前位置: 首頁 > ECSHOP響應式模版設計 > ecshop 快速登入&會員登入詳解

ecshop 快速登入&會員登入詳解 超大 稍大 微大

發表於: 2013-04-24 最後更新: 現在時間:2021-04-21 19:16:01
原本的 ecshop 會員登入都是先進入登入頁面,因此有些模板會將它改成直皆可輸入帳號密碼的介面,訪客可以直接登入,而不需先進入登入頁面




ecshop 會員登入的頁面是在 library/page_header.lbi ,然後透過 insert 動態的貨得訪客的登入訊息,再經由 library/member_info.lbi 顯示出來,因為每個模板頁面都會加入 library/page_header.lbi ,因此凡是放在 library/page_header.lbi 內的元素,都可已顯示在每個頁面,打開 library/member_info.lbi ,原本的程式碼可能像這樣(依使用模板而定):

{if $user_info}
<font style="position:relative; top:10px;">
{$lang.hello},<font class="f4_b">{$user_info.username}</font>, {$lang.welcome_return}!
<a href="user.php">{$lang.user_center}</a>|
 <a href="user.php?act=logout">{$lang.user_logout}</a>
</font>
{else}
 {$lang.welcome}&nbsp;&nbsp;&nbsp;&nbsp;
 <a href="user.php"><img src="images/bnt_log.gif" /></a>
 <a href="user.php?act=register"><img src="images/bnt_reg.gif" /></a>
{/if}

改成

{if $user_info}
<font><b>{$user_info.username}</b>&nbsp;{$lang.hello}&nbsp;{$lang.welcome_return}!</font>
<a href="user.php">{$lang.edit_user_info}</a>  
<a href="user.php?act=logout">{$lang.user_logout}</a>
{else}
{insert_scripts files='transport.js'}
<form id="ECS_LOGINFORM" name="ECS_LOGINFORM" method="post" action="">
 帳號: <input name="username" type="text" class="UserInput" size="10" tabindex="1" value="{$ecs_username|escape}" />
   密碼: <input name="password" type="password" size="10" tabindex="2" />
   <!-- 判斷是否啟用驗證碼{if $enabled_captcha} -->
<img src="captcha.php?is_login=1&{$rand}" alt="captcha" style="vertical-align: middle;cursor: pointer;" onClick="this.src='captcha.php?is_login=1&'+Math.random()" />&nbsp;&nbsp;<input type="text" size="4" name="captcha" value="{$lang.comment_captcha}"  onfocus="if (this.value=='{$lang.comment_captcha}')this.value=''" onblur="if (this.value=='')this.value='{$lang.comment_captcha}'" class="UserInput" style="width:60px;" />
 <!--{/if}-->
 &nbsp;
    <a href="javascript:void(0);" onclick="signIn()">登入</a>
    &nbsp;
     <a id="header_UserRegister" href="user.php?act=register">註冊</a>
</form>
{literal}
<script type="text/javascript">
/**
 * 會員登錄
 */
function signIn()
{
  var frm = document.forms['ECS_LOGINFORM'];

  if (frm)
  {
    var username = frm.elements['username'].value;
    var password = frm.elements['password'].value;
    var captcha = '';
    if (frm.elements['captcha'])
    {
      captcha = frm.elements['captcha'].value;
    }

    if (username.length == 0 || password.length == 0)
    {
       alert("{$lang.empty_username_password}");
        return;
    }
    else
    {
       Ajax.call('user.php?act=signin', 'username=' + username + '&password=' + encodeURIComponent(password) + '&captcha=' + captcha, signinResponse, "POST", "TEXT");
    }
  }
  else
  {
    alert('Template error!');
  }
}

function signinResponse(result)
{
  var userName = document.forms['ECS_LOGINFORM'].elements['username'].value;
  var mzone = document.getElementById("ECS_MEMBERZONE");
  var res   = result.parseJSON();

  if (res.error > 0)
  {
    // 登錄失敗
    alert(res.content);
    if(res.html)
 {
      mzone.innerHTML = res.html;
   document.forms['ECS_LOGINFORM'].elements['username'].value = userName;
 }
  }
  else
  {
    if (mzone)
    {
      mzone.innerHTML = res.content;
   evalscript(res.ucdata);
    }
    else
    {
      alert("Template Error!");
    }
  }
}
</script>
{/literal}
{/if}

{if $user_info}如果是登入會員
{$user_info.username} 會員帳號
{$lang.hello}&nbsp;{$lang.welcome_return} 歡迎詞
{$lang.edit_user_info} 會員中心
{$lang.user_logout} 登出
{else}
{insert_scripts files='transport.js'} 導入javascript檔案
{$ecs_username|escape} 帳號
{if $enabled_captcha} 判斷是否啟用驗證碼
完成之後外觀因模板的關係,或多或少都需要修改一下HTML..
對於本站文章有任何問題或建議歡迎到 : 討論區寫信給我
本站提供ECSHOP技術支援, 是網路開店最佳選擇 ,最後更新時間: 現在時間:2021-04-21 19:16:01