簡體   English   中英

當用戶通過iframe表單登錄時,如何將登錄按鈕更改為注銷

[英]How to change the login button to logout when user loggs in via iframe form

我無法找到足夠接近的答案,以找到有效的解決方案。

我在一個自定義網站上工作,在各個點上,在用戶可以繼續執行操作之前先檢查用戶登錄狀態。 如果未登錄,則要求他們先登錄,然后再繼續。 為了保持用戶體驗的整潔,大部分操作是通過包含iframe的頁內彈出窗口完成的。

登錄功能運行良好,但是當用戶完成操作並關閉窗口后,仍然顯示“登錄”按鈕,似乎他們尚未登錄。實際上,他們必須刷新頁面才能看到其登錄信息。狀態。 但是,我希望登錄狀態也顯示為無縫。

目前,我的登錄鏈接包含在父頁面的div中:

<div class="top_nav">
    <div class="contest_buttons">
        <div class="c_button bkg_gray c_bottom w_quarter" id="#login_tab">
            <?php echo showif(!empty($_SESSION['userID']),'
                <a href="enter.php?go=logout">Logout</a>','
                <a href="enter.php?go=login&iframe=true&amp;width=450&amp;height=275" rel="prettyPhoto[iframe]">Login</a>'); ?>
        </div>
        <div class="c_button bkg_gray c_bottom w_quarter" id="#profile_tab">
            <?php echo showif(!empty($_SESSION['userID']),'
                <a href="profile.php">My Profile</a>','
                <a href="enter.php?go=register&iframe=true&amp;width=550&amp;height=450" rel="prettyPhoto[iframe]">Register</a>'); ?>
        </div>
        <div class="c_button bkg_gray c_bottom w_half">
            <a href="http://waynedailynews.com/" target="_blank">Wayne Daily News</a>
        </div>
    </div>
</div>

我最接近可行的方法是:

$('#login_tab', window.parent.document).html('<a href="enter.php?go=logout">Logout</a>');

我不太確定從那里去哪里。

至少,我希望登錄完成后#login_tab讀取“注銷”,但是能夠將#profile_tab更新為“我的配置文件”也很好。

我是一個PHP程序員,到目前為止還只是涉足JS和jQuery,因此即使向正確的方向指點也會有所幫助。 :)


我發現了一些有希望的東西。 它不像我想要的那樣干凈,但是這段代碼似乎可以容納一個解決方案...

<script type="text/javascript" charset="utf-8">
  $(document).ready(function(){
    $("a[rel^='prettyPhoto']").prettyPhoto(
    {
     callback: function(){
       document.location.reload(true);
    }                       
   })
});
</script>

因為我正在使用PrettyPhoto創建彈出窗口和iframe,所以我可以集成一個方法或調用另一個可以滿足我的需求的腳本,並且該腳本將在用戶關閉窗口時發生。

以這種方式進行工作需要什么?

您可以通過多種方法來完成此任務。

您可以在iframe中的頁面上具有登錄按鈕。

或者您可以為php vars中的2個按鈕創建html,然后通過所述按鈕鏈接進行調用。

但是,我將嘗試使用JS&CSS,查看這個簡單的Button狀態切換示例。 http://css-tricks.com/swapping-out-text-five-different-ways/

閱讀最新評論后,也許可以嘗試根據會話狀態創建登錄按鈕。

例如:

        if( !isset($_SESSION) ){
           //echo login links here
        }

也不要忘記使用

session_start();

在iframe中顯示的頁面中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM