响应PHP中的特定链接和表单,具体取决于用户是否登录


Echoing specific links and forms in PHP depending on whether a user is logged in or not

下面的示例显示了我用来测试用户是否登录的代码。如果是,那么我希望删除下面的代码。我设法获得了回显的简单链接,但当我尝试回显表单时,我的页面不会显示。(在检查用户是否已登录等方面一切正常)

这是我的第一个真正的PHP项目,我做得很好,但这让我很困惑。任何帮助都将不胜感激。

<?php 
        if (!isset($_SESSION['logged'])) {
            echo '<form action='login.php' method='post' class="login">
                <label for="username">Username:</label><input type='text' name='username'>
                <label for="password">Password:</label><input type='password' name='password'>
                <input type='submit' name='submit' value='' class="login-btn">
            </form>';
            echo '<a href="signup.php" class="register-btn"></a>';
        }
?>  

问题在于存在语法错误。

您在action='的末尾结束引用,而PHP不知道如何处理文本login.php。为了解决这个问题,请使用双引号来表示您试图呼应的引号:

echo '<form action="login.php" method="post" ...

你也可以把一个'放在一个单独的报价前面来转义它

您还应该启用在开发框上显示错误,这样您就可以看到错误。(error_reporting(E_ALL)