我的页面上有一个按钮,如果单击该按钮会打开一个允许用户创建主题的模式。 我想实现一些检查,如果用户登录后允许创建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">
答案 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标签。