php没有回显html

时间:2015-11-16 12:35:23

标签: php html

我有一张没有显示的表,它显示的是实际文本。这是代码:

<?php $form ="<form action='log.php' method='post'>
<table>
<tr>
<td>username</td>
<td>input type='text' name='user' /></td>
</tr>
<tr>
<td>password</td>
<td>input type='password' name='password' /></td>
</tr>
<tr>    
<td></td>
<td>input type='submit' name='login' vaue='submit' /></td>
</tr>
</table>
</form>";
?>

它不会超出表格或提交按钮或输入区域。有什么建议吗? 我使用安装了apache的ubuntu,普通表,表单工作和php正在工作,但当我尝试使用php输出HTML时,它显示实际的HTML而不是它的属性。

5 个答案:

答案 0 :(得分:2)

删除echo和php标签本身。

<form action='log.php' method='post'>
<table>
<tr>
<td>username</td>
<td><input type='text' name='user' /></td>
</tr>
<tr>
<td>password</td>
<td><input type='password' name='password' /></td>
</tr>
<tr>    
<td></td>
<td><input type='submit' name='login' value='submit' /></td>
</tr>
</table>
</form>

答案 1 :(得分:1)

你的代码看起来没问题,只有一件事是你遗漏的,而且是以下内容:

echo $form;

要在您的网页上打印任何内容,请使用echo后跟值或变量。

答案 2 :(得分:1)

我的建议是做这样的事情:

<?php
function ShowHtml()
{
?>
<form action='log.php' method='post'>
    <table>
        <tr>
            <td>username</td>
            <td>
                <input type='text' name='user' />
            </td>
        </tr>
        <tr>
            <td>password</td>
            <td>
                <input type='password' name='password' />
            </td>
        </tr>
        <tr>
            <td></td>
            <td>
                <input type='submit' name='login' value='submit' />
            </td>
        </tr>
    </table>
</form>
<?php
}
?>

这消除了执行echoprint的需要,并且还修复了语法错误(即缺少<标记和vaue应该value })。

此外,您还可以使用以下功能:

<?php
function ShowHtml($html)
{
    if ($html != null || $html != '' || !empty($html)) # Just a check to make sure then html is set ;P
    {
        print $html; # could use echo instead, personal preference :)
                     # Could also add more validation to make sure the html tags themselves are valid and correct
        return true;
    }
    return false;
}
?>

或者你可以做(​​保持PHP环绕声):

<?php
$form = "<form action='log.php' method='post'>
    <table>
        <tr>
            <td>username</td>
            <td>
                <input type='text' name='user' />
            </td>
        </tr>
        <tr>
            <td>password</td>
            <td>
                <input type='password' name='password' />
            </td>
        </tr>
        <tr>
            <td></td>
            <td>
                <input type='submit' name='login' value='submit' />
            </td>
        </tr>
    </table>
</form>";

echo $form; # Or print, your choice :) 
            # Can also use the bracketed way of echo(...) 
            # or print(...) for an added layer of 
            # 'make sure I only print what I want to'
?>

答案 3 :(得分:0)

像这样使用echo: -

<?php 
$form ="<form action='log.php' method='post'>
<table>
<tr>
<td>username</td>
<td><input type='text' name='user' /></td>
</tr>
<tr>
<td>password</td>
<td><input type='password' name='password' /></td>
</tr>
<tr>    
<td></td>
<td><input type='submit' name='login' value='submit' /></td>
</tr>
</table>
</form>";
echo $form;
?>

或将此input更改为此<input

答案 4 :(得分:0)

有一些html标记错误。输入标签html代码不合适。替换为this并使用echo()方法打印$ form变量的值。

<?php $form ="<form action='log.php' method='post'>
<table>
<tr>
<td>username</td>
<td><input type='text' name='user' /></td>
</tr>
<tr>
<td>password</td>
<td><input type='password' name='password' /></td>
</tr>
<tr>    
<td></td>
<td><input type='submit' name='login' value='submit' /></td>
</tr>
</table>
</form>";
echo $form;
?>

希望这能解决您的问题。