其他条款未按预期运作

时间:2014-03-12 14:13:53

标签: php if-statement usercake

目前使用它来检查用户的权限,如果用户已登录,则显示该文件并列出DIR。如果用户未显示登录,则此操作正常,并显示登录屏幕。

我需要的是,如果产品不归用户所有(即许可不是第3级),那么它会自动将它们链接到宣传册。我有一个标题设置来发送用户,但它不能按我的意愿运行。

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

我错过了什么?

P.S。 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>

1 个答案:

答案 0 :(得分: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 } ?>