在文本输入值=语句中使用PHP变量

时间:2010-12-15 04:36:08

标签: php html variables input

我从数据库中检索三条信息,一个整数,一个字符串和一个日期。

我回应它们以验证变量是否包含数据。

当我然后使用变量填充页面上的三个输入框时,它们不能正确填充。

以下不起作用:

id: <input type="text" name="idtest" value=$idtest>

是的,变量必须在&lt;?php var?&gt;内?因为它可见。

所以:

id: <input type="text" name="idtest" value=<?php $idtest ?> />

该字段显示/

当我逃避引号时,

id: <input type="text" name="idtest" value=\"<?php $idtest ?>\"  />

该字段随后显示\"\"

使用单引号

id: <input type="text" name="idtest" value='<?php $idtest ?>'  />

该字段不显示任何内容或空白。

单引号转义,

id: <input type="text" name="idtest" value=\'<?php $name ?>\'  />

该字段显示\'\'

使用正斜杠(我知道这不正确,但要从讨论中消除它),

id: <input type="text" name="idtest" value=/"<?php $name ?>/"  />

该字段显示/"/"

双引号,转义双引号,仅在左侧转义双引号等,不起作用。

我可以将输入框设置为字符串。我没有尝试使用会话变量,因为我宁愿避免这样做。

我在这里缺少什么?

6 个答案:

答案 0 :(得分:36)

尝试这样的事情:

<input type="text" name="idtest" value="<?php echo htmlspecialchars($name); ?>" />

就像thirtydot suggested一样,除了防止XSS攻击外。

您也可以使用<?= syntax(请参阅注释),尽管这可能不适用于所有服务器。 (它由配置选项启用。)

答案 1 :(得分:6)

您需要,例如:

<input type="text" name="idtest" value="<?php echo $idtest; ?>" />

echo函数实际上是输出变量的值。

答案 2 :(得分:2)

解决方案

您缺少回音。每次要将变量的值显示为HTML时,都需要回显它。

<input type="text" name="idtest" value="<?php echo $idtest; ?>" >

注意:根据值,您的回声是用于转义它的函数,如htmlspecialchars。

答案 3 :(得分:2)

从HTML的角度来看,一切都已经说过了,但要纠正PHP方面的一点,并考虑到thirtydot和icktoofay的建议:

<?php echo '<input type="text" name="idtest" value="' . htmlspecialchars($idtest) . '">'; ?>

答案 4 :(得分:0)

如果你想阅读任何创建的函数,我们这样做:

<input type="button" value="sports" onClick="window.open('<?php sports();?>', '_self');">

答案 5 :(得分:-2)

我一直在为我的项目做PHP,我可以说下面的代码对我有用。你应该试一试。

echo '<input type = "text" value = '.$idtest.'>';