繁体   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