Processwire - PHP - 如果点击了链接

时间:2014-07-05 10:31:04

标签: php

我的页面上有一个按钮,如果单击该按钮会打开一个允许用户创建主题的模式。 我想实现一些检查,如果用户登录后允许创建IF而不是转发到登录页面。 AS测试我已登录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">

2 个答案:

答案 0 :(得分:1)

在进入创建代码之前,您必须先检查会话。

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

答案 1 :(得分:0)

如果不知道你在这个网页的网址中传递了什么,肯定很难回答这个问题。你可以有?create =&amp; somethingelse = true,而创建的isset仍然是真的。

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

$input->get->create

如果您可以提供有关用于访问此页面的网址的更多信息,我相信它很容易修复。它是来自代码块末尾的创建按钮代码的URL吗?

这个代码是在PW模板的php文件中,还是一个自举脚本?

你的代码令人困惑的其他东西是最后的href行 - 它是html?你从来没有从上面的代码中关闭你的php标签。