PHP条件显示两个结果


PHP conditionals showing both results

我在一个不想正常工作的php页面上有以下内容。我不确定我做的条件句是否正确?无论第一个条件是否为真,它似乎都显示了两组内容,有什么想法吗?

 <? if(!isset($_SESSION['exhibitor_logged_in']) || $_SESSION['exhibitor_logged_in'] != true): ?>
    <p>Please log in with the password.</p>
    <form name="exhibitor_login" method="POST" action="">
        <div>
            <label for="password">Password:</label>
            <input type="password" name="password" />
        </div>
        <div>
            <label for="submit">&nbsp;</label>
            <input type="submit" name="submit" value="LOG IN" />
        </div>
    </form>
    <? else: ?>
        <p>Logged in</p>
    <? endif; ?>

将所有<?更改为<?php php未被解析。

将所有<?更改为<?php

或修改php.ini文件,将short_open_tag = Off改为short_open_tag = On

,但不建议使用短的开始标记,您可以查看PHP短标记是否可以使用?

使用||将在两个语句之间进行和或比较,我认为在您的情况下,您应该使用&&,因为它应该匹配两个语句

if(!isset($_SESSION['exhibitor_logged_in']) && $_SESSION['exhibitor_logged_in'] != true):