要在我的网站中查看新闻栏目,您必须登录(以常规帐户= login_user或admin = admin),您可以按时间顺序查看上传的新闻。如果您没有以任何条件登录,请直接到其他地方。但是,即使使用常规帐户或管理员帐户登录并只是将我引导到其他地方,代码也不会考虑满足任何条件......
<?php
error_reporting(0);
session_start();
if(!isset($_SESSION['admin']) || !isset($_SESSION['login_user']))
{
?>
<div class = "api" style="position: absolute;
top: 140px;
right: 400px;
width: 730px;
height: 400px;word-wrap: break-word;">
<h2 align = "center"> <font color ="red"> You Do Not Have Permission To View this Page. </font> <br><br> Your Options Are:
<br><br><br>
<a href="index.php"> Create and Register for A New Account </a> <br> <br> <br> OR <br> <br> <br> <a href="indexmember.php">Log In With An Existing Account. </h2>
</div>
<?php
}
elseif(isset($_SESSION['admin']) || isset($_SESSION['login_user']))
{
include 'connect.php';
?>
<div class = "api" style="position: absolute;
top: 10px;
right: 220px;
width: 1200px;
height: 3200px;word-wrap: break-word;" id="easyPaginate">
<?php
$query = mysqli_query($con,"select * from news order by date DESC");
while($r = mysqli_fetch_array($query))
{
?>
<section class="propertypage">
<br> <br>
<h4><?php echo "<b><u>Title</u>: </b>".$r['Title']; ?></h4>
<h4><?php echo "<b><u>Detail</u>: </b>".$r['story']; ?></h4>
<h4><?php echo "<b><u>Published Date</u>: </b>".$r['DATE']; ?></h4>
<img src="<?php echo $r['image']; ?>" height="600px" width="1200px"/>
<br> <br> <br>
</section>
<?php
}
?>
</div>
<?php
}
?>
答案 0 :(得分:5)
你想:
if(!isset($_SESSION['admin']) && !isset($_SESSION['login_user']))
// ....
这表示如果用户不是管理员且用户不是登录用户,则他们必须没有该权限。
答案 1 :(得分:0)
!isset($ _ SESSION ['admin'])和!isset($ _ SESSION ['login_user'])这两个或至少其中一个永远为真,所以第一个if语句的条件总是为真。如果您以管理员身份登录,则表示您没有以普通用户身份登录,如果您以普通用户身份登录,则表示您未以管理员身份登录。我认为这是问题所在,希望有所帮助
答案 2 :(得分:0)
这是一个逻辑问题。
if(!isset($_SESSION['admin']) || !isset($_SESSION['login_user']))
这意味着如果未设置管理变量或用户变量,您将重定向。如果你有一套而不是另一套,它仍然会重定向。
if(isset($_SESSION['admin']) || isset($_SESSION['login_user']))
这可能会解决您的问题。不是和或有时候可能很棘手。这个条件将确保如果设置了用户或管理会话,那么你就是黄金。