我有一张没有显示的表,它显示的是实际文本。这是代码:
<?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而不是它的属性。
答案 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
}
?>
这消除了执行echo
或print
的需要,并且还修复了语法错误(即缺少<
标记和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;
?>
希望这能解决您的问题。