我正在使用PHP开展项目。在session.php中,我允许哪些用户可以访问每个页面。登录用户等。但问题是我无法将数据库中表中的所有id添加到if语句中。因为我希望所有的' oglasi'所有用户都应该可以访问。
<?php
include_once 'db.php';
session_start();
ob_start();
$query = "SELECT id FROM oglasi";
$result = mysqli_query($link, $query);
while ($row = mysqli_fetch_array($result)) {
$id = $row['id'];
//if not logged in you can access
if (empty($_SESSION['user_id']) &&
$_SERVER['REQUEST_URI'] != '/SP/oglasi/index.php' &&
$_SERVER['REQUEST_URI'] != '/SP/oglasi/registration.php' &&
$_SERVER['REQUEST_URI'] != '/SP/oglasi/oglasi.php' &&
$_SERVER['REQUEST_URI'] != '/SP/oglasi/oglasi_show.php?id='.$id &&
$_SERVER['REQUEST_URI'] != '/SP/oglasi/user_insert.php' &&
$_SERVER['REQUEST_URI'] != '/SP/oglasi/login_check.php')
header("Location: index.php");
die();
}
}
?>
这是关键声明
$_SERVER['REQUEST_URI'] != '/SP/oglasi/oglasi_show.php?id='.$id &&
$id
变量应该改变1,2 ...
但它并没有改变。
如果我这样做有效,但如果你有大量数据则不好。
$_SERVER['REQUEST_URI'] != '/SP/oglasi/oglasi_show.php?id=2' &&
$_SERVER['REQUEST_URI'] != '/SP/oglasi/oglasi_show.php?id=1' &&
有人可以帮忙吗?
答案 0 :(得分:0)
我想你可以通过这种方式简化检查:
/SP/oglasi/
在这里检查 - 如果REQUEST_URI
位置0(这意味着REQUEST_URI
开头)中不存在模式index.php
- 那么您将用户重定向到oglasi
。
如果用户无法访问所有 include_once 'db.php';
session_start();
ob_start();
if (empty($_SESSION['user_id']) &&
$_SERVER['REQUEST_URI'] != '/SP/oglasi/index.php' &&
$_SERVER['REQUEST_URI'] != '/SP/oglasi/registration.php' &&
$_SERVER['REQUEST_URI'] != '/SP/oglasi/oglasi.php' &&
$_SERVER['REQUEST_URI'] != '/SP/oglasi/user_insert.php' &&
$_SERVER['REQUEST_URI'] != '/SP/oglasi/login_check.php' &&
strpos($_SERVER['REQUEST_URI'], '/SP/oglasi/oglasi_show.php') !== 0
) {
header("Location: index.php");
die();
}
小节,您仍然可以使用您的条件:
<android.support.design.widget.AppBarLayout