我有一个表格。加载页面时,必须检查:打开页面并填写表格
if ($_SESSION[WorkMode] == 'UPDATE')
然后用数据库中的值填充表单,否则打开一个空白表单。
如果我在不同的PHP文件中获取结果并在加载时调用这个.php文件,如何填充表单。
我有一个表格。加载页面时,必须检查:打开页面并填写表格
if ($_SESSION[WorkMode] == 'UPDATE')
然后用数据库中的值填充表单,否则打开一个空白表单。
如果我在不同的PHP文件中获取结果并在加载时调用这个.php文件,如何填充表单。
设置包含表单值的变量,然后包含您所使用表单的“模板”。
文件1:
<?php
$res = mysql_query("..");
if($res) {
$row = mysql_fetch_assoc($res);
$name = $row['name'];
$birthday = $row['birthday'];
...
include('form.tpl');
}
文件2(form.tpl)
<form action="">
<input type="text" name="username" value="<?php isset($name)?$name:""; ?>" />
.. and so on
</form>
Alternatetively你可以使用一个完全成熟的模板引擎诸如Smarty为你做这项工作。
最良好的祝愿,
费边
$formvalue = NULL;
if ($_SESSION[WorkMode] == 'UPDATE')
$formvalue = $some_database_value;
echo '<input type="text" name="myname" value="'.$formvalue .'" />';
这样做的一些潜在问题: 1.如果MySQL查询失败,则根本无法显示表单。这可能是一个问题,取决于失败的查询是否可接受的行为。 2.根据您预先填写的数据,您可能需要考虑在显示之前通过'htmlspecialchars'或类似的方式运行它。完全取决于您展示的内容以及存储方式(在进入数据库之前是否进行过消毒处理?)。 – 2009-12-17 09:49:03
这就是我称之为“示例”的原因。安全,编码,转换并不是他的问题的一部分,但是谢谢你补充一点。 – halfdan 2009-12-17 10:02:20