PHP if语句为';忽略';,呈现两个选项

PHP if语句为';忽略';,呈现两个选项,php,if-statement,Php,If Statement,所以我对PHP非常陌生,可能犯了一个愚蠢的错误。不过,我已经搜索了很长一段时间,一直无法找出哪里出了问题 使用XAMPP,所有PHP都可以正常工作。但是,当我将其加载到web服务器时,规范登录表单的if语句同时显示“登录”表单和“注销”表单。显然不是我想要的 以下是代码片段: <?php if ( isset( $_SESSION['email'] ) ) { // Check to see if user is logged in. If so, display log out

所以我对PHP非常陌生,可能犯了一个愚蠢的错误。不过,我已经搜索了很长一段时间,一直无法找出哪里出了问题

使用XAMPP,所有PHP都可以正常工作。但是,当我将其加载到web服务器时,规范登录表单的if语句同时显示“登录”表单和“注销”表单。显然不是我想要的

以下是代码片段:

<?php
   if ( isset( $_SESSION['email'] ) ) { // Check to see if user is logged in.  If so, display log out button.
?>
    <form class="navbar-form pull-right" action="logout.php" method="POST">
    <button name="submit" type="submit" class="btn btn-success">Log Out</button>
    </form>
<?php 
   } else { // display log in form
?>
    <form class="navbar-form pull-right" action="login.php" method="POST">
    <input name="email" type="text" class="span2" placeholder="email">
    <input name="password" type="password" class="span2" placeholder="password">
    <button name="submit" type="submit" class="btn btn-success">Log In</button>
    </form>
<?php 
   } 
?>

注销
登录
这包含在index.php文件中

基本逻辑是测试是否为会话创建了电子邮件变量(在login.php执行中完成),以检查用户是否登录

我不知道这是否是创建登录的最佳方式,但这正是我尝试过的

再一次,我对这一点非常陌生,因此任何关于下一步的见解都将不胜感激


谢谢大家!

查看源代码并确保您的PHP代码实际被解释。如果您在浏览器的源代码中看到PHP标记,则表明您的web服务器配置不正确。

查看源代码并确保您的PHP代码实际被解释。如果您在浏览器源代码中看到PHP标记,则表明您的web服务器配置不正确。

请尝试

if(!empty( $_SESSION['email'] ))
我希望你一开始就做了session_start()。

试试看

if(!empty( $_SESSION['email'] ))


我希望您一开始就做了session_start()。

我认为您的*.php文件的行为与php文件不同。您应该检查您的web服务器设置。

我认为您的*.php文件的行为与php文件不同。您应该检查您的web服务器设置。

您没有使用
echo
。以前尝试不使用
echo
语句来显示文本可以吗?

您没有使用
echo
。以前尝试在没有
echo
语句的情况下显示文本可以吗?

您能给我们页面的原始HTML输出,或是出现这种情况的页面的链接吗?特别是检查PHP代码本身是否正在输出,这是web服务器配置错误的常见结果。下面是发生错误的网站:www.langual.me/index.PHP这是一项正在进行的工作,不要判断!:p检查输出并注意那里的原始php代码-看起来您的Web服务器根本没有运行php,这是您的问题。您能给我们页面的原始HTML输出,或者出现这种情况的页面的链接吗?特别是检查PHP代码本身是否正在输出,这是web服务器配置错误的常见结果。下面是发生错误的网站:www.langual.me/index.PHP这是一项正在进行的工作,不要判断!:检查输出并注意那里的原始php代码-看起来您的Web服务器根本没有运行php,这是您的问题。对条件的更改不会解决此问题,因为问题不是输出的是错误的,而是两者都是。实际上,这是我最初的条件。如果这是一种更安全的格式,我可以把它改回原来的格式。实际上,我没有将会话_start()放在开头。。。这听起来很重要,我需要在文件的开头添加什么?只需在第一行添加。好的,我这样做了,问题仍然存在。。。请随意查看lingual.me/index.phpy上的代码。您的服务器不懂PHP。视图源代码具有原始PHP代码。对条件的任何更改都不会解决此问题,因为问题不是输出的是错误的,而是两者都是。实际上,这是我最初的条件。如果这是一种更安全的格式,我可以把它改回原来的格式。实际上,我没有将会话_start()放在开头。。。这听起来很重要,我需要在文件的开头添加什么?只需在第一行添加。好的,我这样做了,问题仍然存在。。。请随意查看lingual.me/index.phpy上的代码。您的服务器不懂PHP。查看源代码包含原始PHP代码,或者页面未在本地主机上查看。我见过这样的情况:有人忘记在localhost上查看一个文件,它只是显示了html(可能还有一些php?)来扩展,“您的web服务器配置不正确”意味着,您确定您的web服务器将index.php视为一个php文件吗?好的,代码中是否显示了查看源代码和php标记。我将如何着手修复我的web服务器配置?(更重要的是,我应该修复什么?)此外,login.php和logout.php似乎工作正常,网站其他地方还有一个单独的功能:subscribe.php。这是否否定了我的web服务器没有配置为php的想法?自从运行Linux以来,我就没有在这里运行XAMPP。你需要检查一下文件。确保您的文件以.php结尾,除非您对其进行了其他配置。确保您实际上是通过web服务器而不是直接从磁盘(如上所述)拉取文件,或者页面没有在本地主机上查看。我见过这样的情况:有人忘记在localhost上查看一个文件,它只是显示了html(可能还有一些php?)来扩展,“您的web服务器配置不正确”意味着,您确定您的web服务器将index.php视为一个php文件吗?好的,代码中是否显示了查看源代码和php标记。我将如何着手修复我的web服务器配置?(更重要的是,我应该修复什么?)此外,login.php和logout.php似乎工作正常,网站其他地方还有一个单独的功能:subscribe.php。这是否否定了我的web服务器没有配置为php的想法?自从运行Linux以来,我就没有在这里运行XAMPP。你需要检查一下文件。确保您的文件以.php结尾,除非您对其进行了其他配置。确保您实际上是通过web服务器拉取文件,而不是直接从磁盘拉取文件(如上所述)。