LAMP 服务器未正确执行 PHP 脚本

LAMP Server not executing PHP scripts properly

我在物理机上有一个 LAMP(Ubuntu) 服务器 运行ning。我的目标是在服务器上托管一个网站。现在,我的所有文件都在我的 /var/www/html 目录和某些 HTML 文件中,我 运行 PHP 脚本来检查用户是否登录,例如下面:

<div class="collapse navbar-collapse" id = "navCollapse">
    <ul class="nav navbar-nav navbar-right">
        <li class="active link-nav"><a href="/">Home</a></li>
        <li class="link-nav"><a href="/pages/categories/">Categories</a></li>
        <li class="link-nav"><a href="/pages/about/">About</a></li>


        <!-- This part -->
        <?php
            if($_SESSION['loggedin'] != 1){
                echo '<li class="link-nav">
                    <a href="#login" data-toggle="modal"> Log In</a>
                </li>
                <li class="link-nav">
                    <a href="#register" data-toggle="modal"> Register</a>
                </li>';
            }else{
                echo "<li class = 'link-nav'><a href="logout.php"> Log Out </a>";                       
            }
        ?>

        <!-- End of PHP -->

    </ul>
</div>

当我在浏览器中打开我的服务器时,我得到的是:

$_SESSION['loggedin'] 变量已设置,但登录和注销按钮均显示。此外,页面上显示了两组字符串之间的文本。

当我使用 XAMPP 在我的本地计算机上显示时,不会发生这种情况。

关于如何解决这个问题有什么想法吗? 提前致谢!

试试这个,使用有孤岛的代码比所有东西都是 PHP 字符串要容易得多(另外,看看 http://www.Laravel.com and http://www.Laracasts.com):

<?php if($_SESSION['loggedin'] != 1){ ?>
    <li class="link-nav">
        <a href="#login" data-toggle="modal"> Log In</a>
    </li>
    <li class="link-nav">
        <a href="#register" data-toggle="modal"> Register</a>
    </li>
<?php }else{ ?>
    <li class="link-nav"><a href="logout.php"> Log Out </a>                       
<?php } ?>

此行无效。通过正确的错误报告,您会看到错误。测试时,打开错误报告会有很大帮助,这样您就可以看到有用的错误:)

echo "<li class = 'link-nav'><a href="logout.php"> Log Out </a>";

你不能在不转义的情况下在它们内部使用双引号!

而是这样写:

echo '<li class="link-nav"><a href="logout.php">Log Out</a>';

看看是否可行。