PHP调试。插入此代码后的白页

时间:2015-06-18 14:14:17

标签: php

<?php
    if(!isset($_SESSION['user_name'])){
        echo '<a href="login.php" role="button" aria-expanded="false"> LogIn <span class="label">LogIn to System</span></a>';
    elseif(isset($_SESSION['user_name'])){
        echo '<a href="login.php" role="button" aria-expanded="false">' . $_SESSION['user_name'] . '<span class="label">it is you</span></a>';
    }
?>

这是一个简单的问题。有人可以帮我调试这部分代码吗? 然后我在我的php文件中介绍它,页面是空白的。没有显示任何内容。 它只是白页,没有任何内容。删除后,我可以毫无问题地看到内容。

2 个答案:

答案 0 :(得分:0)

变化:

elseif(isset($_SESSION['user_name'])){

为:

}elseif(isset($_SESSION['user_name'])){

请参阅&#34;}&#34;

答案 1 :(得分:0)

正如其他人所说,你错过了一个结束的大括号(})。

这是我的建议,如果每个if语句只有一条指令,则松开括号,如下:

<?php
if(!isset($_SESSION['user_name']))
    echo '<a href="login.php" role="button" aria-expanded="false"> LogIn <span class="label">LogIn to System</span></a>';
elseif(isset($_SESSION['user_name']))
    echo '<a href="login.php" role="button" aria-expanded="false">' . $_SESSION['user_name'] . '<span class="label">it is you</span></a>';

当然,如果您计划在陈述中添加其他说明(例如。行),则必须将括号放回去。

您的代码也可以通过以下方式缩短:

<?php
if(isset($_SESSION['user_name']))
    echo '<a href="login.php" role="button" aria-expanded="false">' . $_SESSION['user_name'] . '<span class="label">it is you</span></a>';
else
    echo '<a href="login.php" role="button" aria-expanded="false"> LogIn <span class="label">LogIn to System</span></a>';

最后,您还可以使用ternary expression

<?php
echo '<a href="login.php" role="button" aria-expanded="false">';
echo isset($_SESSION['user_name']) ? $_SESSION['user_name'].'<span class="label">it is you</span>' : 'LogIn<span class="label">LogIn to System</span>';
echo '</a>';