簡體   English   中英

Processwire-PHP-如果單擊鏈接

[英]Processwire - PHP - if link is clicked

我頁面上有一個按鈕,如果單擊該按鈕,將打開一個模式,允許用戶創建主題。 我想執行一些檢查,如果用戶登錄后允許創建IF,則不轉發到登錄頁面。 AS測試中,我已使IF登錄>轉發至“ /” IF則不進行“ / login”

我的代碼當前如下,這不起作用。 它總是允許創建。

//Check if user is logged in before allowing to create
if (isset($_GET['create'])) { 

    //Check if current user is logged in 
    if ($user->isLoggedin()) { 

        $session->redirect("/");

    }

           //If current use not logged in redirect to login
    else {

        $session->redirect("/login"); 
    }
}
<a href="#?create" role="button" name="create" class="btn btn-success btn-block" data-toggle="modal" data-target="#basicModal">

在輸入創建代碼之前,您必須檢查會話。

session_start();
if(!isset($_SESSION['sess_user_id']) || (trim($_SESSION['sess_user_id']) == '')) {
header("location: login.php");
}

在不知道您要傳遞到此頁面的URL中的情況下,很難肯定地回答這個問題。 您可能具有?create =&somethingelse = true,並且create的isset仍然為true。

此外,在Processwire中,您可以使用:

$input->get->create

如果您可以提供有關用於訪問該頁面的URL的更多信息,我相信它將很容易修復。 是來自代碼塊末尾的“創建”按鈕代碼的url嗎?

此代碼是在PW模板php文件中,還是自舉腳本?

令您的代碼感到困惑的其他事情是最后的href行-它是html嗎? 您從未從上面的代碼中關閉過php標簽。

暫無
暫無

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

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