-1

したがって、index.php に次のコードがあります。

<?php 
define('WP_USE_THEMES', false); // Don't use WP themes
require('../wp-load.php'); // Allows the use of WP functions
?>

<?php // Check if the user is logged in. If not, show the login form 
global $user_ID, $user_identity; get_currentuserinfo(); if (!$user_ID) { ?>

    <script type="text/javascript">window.location.href='login.php';</script>

    <?php } else { // If the user is logged in

        include('header.php'); ?>

        <div id="content">

            <!-- Full Width Start -->
            <div class="full-width">        
                <span class="full-width-red-left"></span>
                <div class="full-width-red-wrapper">Department Chooser</div>
                <span class="full-width-red-right"></span>           
                <div class="full-width-content">
                    <div id="panel-icons">
                        <?php // Display the menu for each department the user is a member of.
                        if(is_eventsStaff()){ eventsPanelIcon(); }
                        if(is_helpDeskStaff()){ helpPanelIcon(); }
                        if(is_hxlStaff()){ livePanelIcon(); }
                        if(is_newsStaff()){ newsPanelIcon(); }
                        if(is_raresStaff()){ raresPanelIcon(); }
                        if(is_panelAdmin()){ adminPanelIcon();} ?>       
                    </div>
                    <div id="uploader-icon-wrapper">
                        <div class="panel-horizontal-split"></div>
                        <a href="#" id="upload-panel-icon"></a>
                    </div>
                </div>           
                <div class="full-width-footer"></div>
            </div>
            <!-- Full Width End -->
        </div>

    </div>  
<?php } else { echo "Test"; } }?>

そして、header.php:

<link rel='stylesheet' href='CSS/build.css' type='text/css'/>
<title>Habbox Staff Panel</title>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<?php include_once('functions.php'); // Include staff panel functions ?>

<!-- Preload Image Hovers Start -->
<img src="images/topbar_home_hover.png" class="preload" />
<img src="images/topbar_admin_hover.png" class="preload" />
<img src="images/topbar_events_hover.png" class="preload" />
<!-- Preload Image Hovers End -->

<?php if(has_Roles()) { ?>
<!-- TopBar Start -->
<div id="topbar-wrapper">
<div id="topbar-inner-wrapper">
    <span class="topbar-radio-text">Welcome <span class="bold red"><?php echo $user_login; ?></span></span> 
    <div class="topbar-divider"></div>
    <a href="<?php echo $siteURL;?>/index.php" class="topbar-home"></a>

    <?php 

    if (isset($_COOKIE['timezone'])) { date_default_timezone_set($_COOKIE['timezone']); } else { date_default_timezone_set('Europe/London'); }

    if(is_eventsStaff()){
        echo '<a href="'.$siteURL.'/Events/index.php" class="topbar-events"></a>';
    }

    // Check if the user is an admin
    if(is_panelAdmin()){
        echo '<a href="'.$siteURL.'/Admin/users.php" class="topbar-admin"></a>';
    }



    ?>
    <div id="topbar-logout">
        <form>
            <div class="darkbutton"><span class="darkbutton-left"></span><a href="<?php echo wp_logout_url( home_url() ); ?>" title="Logout">Log Out</a><span class="darkbutton-right"></span>
            </div>
            <input type="hidden" name="redirect_to" value="/Staff">
        </form>
    </div>
</div>
</div>
<!-- TopBar End -->

<div id="page-wrapper">

しかし、それは私に次のエラーを与えています:

解析エラー: 構文エラー、43 行目の index.php の予期しない T_ELSE

しかし、理由がわかりません。header.php の内容を index.php にコピーすると正常に動作するようですが、インクルードを使用するとうまくいきません。

4

4 に答える 4

3

コードを読み取るincludeことは、コードをコピーして貼り付けることと完全に同じではありません。関連するすべてのファイルは、それ自体が有効なPHPコードである必要があります。インクルードされたファイルでを開いif()てメインファイルで閉じることはできません。PHPは各ファイルを個別に解析し、これを見つけます。

if(...){
}else{
}else{
}

...これは明らかに違法です。

于 2012-10-25T16:28:54.287 に答える
2

次の場合、他に2つあります。

if (!$user_ID) {

   <?php } else { // If the user is logged in

<?php } else { echo "Test"; } }?>
于 2012-10-25T16:29:18.157 に答える
1

あなたはこのheader.phpIFを閉じていません:

<?php if(has_Roles()) { ?>

コードのこの部分でそれを行うことができます:

if(is_panelAdmin()){
        echo '<a href="'.$siteURL.'/Admin/users.php" class="topbar-admin"></a>';
    }

 } // Closing has_roles() IF

    ?>
于 2012-10-25T16:28:13.450 に答える
0

インクルードが間違っていたようで、各ファイルはそれ自体で正しい構文でなければなりませんでした。インデックス ファイル内の header.php インクルード ファイルの周りに if ステートメントと else ステートメントを配置しただけです。すべてがうまくいくようです:)

于 2012-10-25T17:01:33.117 に答える