将页面限制为特定会话ID
问题描述:
我写了一个简单的登录系统,并且正在工作。我已经设置了几个页面,只有在登录后才能看到。我想限制一个页面到特定的会话ID。我会怎么做呢?这正是我用来限制页面的时间:将页面限制为特定会话ID
<?php
session_start();
if (!isset($_SESSION['u_id'])) {
header("Location: ../index.php?index=mustlogin");
exit();
}
?>
我该如何限制这从任何u_id到特定的u_id?
答
您可以创建一个特定ID的数组,然后使用in_array来验证用户。
例
<?php
session_start();
$sessionIds = array('1','2'); //for example i have inserted 1 and 2 as ids
if (!isset($_SESSION['u_id']) || in_array($_SESSION['u_id'], $sessionIds)) {
header("Location: ../index.php?index=mustlogin");
exit();
}
说明
在这里,我创建了一个数组$ sessionIds特定的ID,将不会允许访问页面的。然后用in_array检查当前会话用户标识存在于$ sessionIds数组中,然后重定向到用户。
+0
这工作。谢谢。 –
答
您需要将您的$ _SESSION ['uid']与您的特定ID相匹配。为此,您需要某种特定用户ID的数据。有多种方法可以做到这一点,但我会用数组来做到这一点。你需要的是您的特定ID
//Should've come from database of your users
$specific= array(
"id" => 1
);
然后数组只是数组通过搜索in_array()
if (!in_array($_SESSION['u_id'], $specific)) {
header("Location: ../index.php?index=mustlogin");
exit();
}
会话ID来来去去,你可能要重新考虑你在做什么试图完成。 – Difster
我想限制一个页面给特定的用户。会话ID当前设置为用户唯一ID,理论上应该只有一个唯一ID。有没有更好的方法来完成这一点? –
检查'if($ _SESSION ['u_id'] =='specific id'){/ *加载你的视图* /}',之后只加载视图,否则重定向到其他页面/如你所愿。 – Sinto