Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/255.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Else子句未按预期运行_Php_If Statement_Usercake - Fatal编程技术网

Php Else子句未按预期运行

Php Else子句未按预期运行,php,if-statement,usercake,Php,If Statement,Usercake,当前使用此选项检查用户的权限,如果用户已登录,则会显示文件并列出目录。如果未显示用户已登录,则会显示登录屏幕,这样可以正常工作 我需要它是,如果产品不是由用户拥有(即许可不是3级),那么它会自动将他们链接到手册。我有一个发送用户的标题设置,但它不能像我希望的那样工作 现在,它所做的是加载页面,但不传递DIV(因此在f12调试中检查它是否已传递的名称) 我错过了什么 p、 PHP日志显示没有错误 --更新-- 浏览并注释掉了部分,看看if语句是否附加到了错误的东西上,目前还没有任何东西出现相同的问

当前使用此选项检查用户的权限,如果用户已登录,则会显示文件并列出目录。如果未显示用户已登录,则会显示登录屏幕,这样可以正常工作

我需要它是,如果产品不是由用户拥有(即许可不是3级),那么它会自动将他们链接到手册。我有一个发送用户的标题设置,但它不能像我希望的那样工作

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

我错过了什么

p、 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>


  • 问题在于else子句不属于您检查用户登录的第一个
    if
    语句。在需要有条件地打印一些html时,我也对代码做了一些修改。尝试以下方法

    
    帮助文件列表:
    

  • 您在哪里设置
    $loggedInUser
    ?正如您可以通过适当的缩进看到的那样,
    其他
    应用于
    。=opendir(..)
    而不是
    checkPermission()
    @kingkero啊,是的,我明白了,最好的解决方法是什么?并在登录页面I上设置believe@Marriott81将
    else
    子句移到它所属的位置!在将来,请按原样缩进代码,这样的错误就会过去了,把它移回去好吗?我被@kingkero弄糊涂了……非常感谢你修复了它:)