PHP函数的输出不会进入标记

时间:2012-03-03 04:13:01

标签: php html

我正在尝试创建一个由PHP生成的快速而简单的简单菜单。函数logScreen()确定用户是否已登录,如果没有则生成用户登录的提示。

但是,此输出(生成的输入标记允许用户填写其信息)是在表格外生成的,而不是在放置它的td标记内部生成的。

是否有人建议将此命令的输出放入我放置的表中。如果有人可以提供帮助,我会很感激。感谢

<html>
<head></head>
<body>
<?php
include ('functions.php');

function loggScreen()
{
    if(!isset($_SESSION['user']))
{
    echo "<td>";
    echo "User Name: <input value='Username'>";
    echo "Password : <input value='Password'>";
    echo "<input type='button' value='login'>";
    echo "</td>";
}
}
echo "<table border=1 style='width:100%;'>";
echo "<tr><td style='width:80%;'>Welcome to the website</td>".loggScreen()."</tr>";
echo "</table>";

?>
</body>
</html>

1 个答案:

答案 0 :(得分:3)

除非您使用输出缓冲,否则一旦调用,echo就会outputstdout。您需要echo字符串:

,而不是return在您的日志记录功能中
function loggScreen()
{
    $str = '';

    if(!isset($_SESSION['user']))
    {
        $str .= "<td>";
        $str .= "User Name: <input value='Username'>";
        $str .= "Password : <input value='Password'>";
        $str .= "<input type='button' value='login'>";
        $str .= "</td>";
    }
    return $str;
}