1

当前使用它来检查用户的权限,如果用户已登录,则它会显示文件并列出 DIR。如果未显示用户已登录,这与显示的登录屏幕一起正常工作。

我需要的是,如果产品不属于用户(即权限不是 3 级),那么它会自动将它们链接到小册子。我有一个标头设置来发送用户,但它没有按我想要的方式运行。

现在它所做的是加载页面但不传递 DIV(因此要检查 f12 调试以查看它是否已通过的名称)

我错过了什么?

ps PHP 日志显示没有错误

- 更新 -

浏览并注释掉部分以查看 IF 语句是否附加到错误的东西上,目前没有任何问题仍然存在

<?php

if (!securePage($_SERVER['PHP_SELF'])){die();}
$parts = parse_url($_SERVER["REQUEST_URI"]);
$page_name = basename($parts['path']);

//Links for logged in user
if(isUserLoggedIn()) {

    //Links for permission level 3 (BOF)

    if ($loggedInUser->checkPermission(array(3))){
        if ($handle = opendir('CD500/')) {
            while (false !== ($file = readdir($handle)))
                {
                    if ($file != '.' && $file != '..'){
                        $thelist .= '<a href="/CD500/'.$file.'" target="_blank" >'.$file.'</a></br>';
                    }
                }

            closedir($handle);


            echo "
                        <div id='output'>
                        List of help files:</div>
                        <div id='List'>
                 $thelist ";
        }

        else {

            echo " asdfasdfasdfadf ";

        }

    }   

    ?>

    <div id='default'>
    <?php } else { ?>

<li><a class="<?php echo ($page_name=='login.php')?'selected':'';?>" href="login.php">Login</a></li>
     <li><a class="<?php echo ($page_name=='register.php')?'selected':'';?>" href="register.php">Register</a></li>
     <li><a class="<?php echo ($page_name=='forgot-password.php')?'selected':'';?>" href="forgot-password.php">Forgot Password</a></li>
     <?php } ?></div>
4

1 回答 1

1

问题在于您的 else 子句不属于if您检查用户登录的第一条语句。在您需要有条件地打印一些 html 时,我还稍微更改了代码。试试下面的。

<?php

if (!securePage($_SERVER['PHP_SELF'])){die();}
$parts = parse_url($_SERVER["REQUEST_URI"]);
$page_name = basename($parts['path']);

//Links for logged in user
if(isUserLoggedIn()) {

    //Links for permission level 3 (BOF)
    if ($loggedInUser->checkPermission(array(3))){

        if ($handle = opendir('CD500/')) {

            while (false !== ($file = readdir($handle))){
                if ($file != '.' && $file != '..'){
                    $thelist .= '<a href="/CD500/'.$file.'" target="_blank" >'.$file.'</a></br>';
                }
            }

            closedir($handle); ?>

            <?php if($thelist): ?>
              <div id='output'>
                List of help files:
              </div>

              <div id='List'>
                  <?php echo $thelist; ?>
              </div>
            <?php endif; ?>

<?php   }

    } else {
        header( 'Location: http://www.yoursite.com/new_page.html' ) ;
    }

} else { ?>

<div>
  <li><a class="<?php echo ($page_name=='login.php')?'selected':'';?>" href="login.php">Login</a></li>
  <li><a class="<?php echo ($page_name=='register.php')?'selected':'';?>" href="register.php">Register</a></li>
  <li><a class="<?php echo ($page_name=='forgot-password.php')?'selected':'';?>" href="forgot-password.php">Forgot Password</a></li>
</div>

<?php } ?>
于 2014-03-12T15:49:57.203 回答