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>';
看看是否可行。
我在物理机上有一个 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>';
看看是否可行。