需要帮助,使一个if语句在php创建一个html href链接时正确传递


Need help making an if statement in php that creates a html href link when passed correctly

<?php if ($_SESSION["isLoggedOn"] == True) {?>
<a href="termsConditions.php">LOGOUT</a>
<?php }?>

我希望链接只被创建,如果if语句是成功的,不创建它,如果它不是。目前无论我试图改变链接将永远被创建。谢谢。

你试过了吗

<?php
    if ($_SESSION["isLoggedOn"] == True)
    {
        echo '<a href="termsConditions.php">LOGOUT</a>';
    }
?>

您的这个可见代码似乎被纠正了。在存储会话时可能会出现一些错误。试一试:

echo $_SESSION['isLoggedOn'];

或者试着这样做:

<?php 
if ($_SESSION['isLoggedOn']) {
echo "<a href="#">Logout</a>";
}?>
<?php if (isset($_SESSION["isLoggedOn"])  && $_SESSION["isLoggedOn"] == True) {?>
<a href="termsConditions.php">LOGOUT</a>
<?php }?>

你的$_SESSION["isLoggedOn"]总是TRUE

也不要使用== TRUE True/False变量。

也登入条款和条件页不是很好,我猜;-)

详细说明您的代码:

<?php 
session_start();
if ( !isset($_SESSION) || !isset($_SESSION["isLoggedOn"]) {
    echo "an error occured instantiating the session.";
    exit 1;
}
if ( $_SESSION["isLoggedOn"] === true ) {
     echo '<a href="termsConditions.php">LOGOUT</a>';
}
?>
  1. 你需要在PHP的第一个动作中启动一个会话
  2. 检查$_SESSION
  3. 中是否有一个值
  4. 然后,检查其状态并输出你想要的。