-1

这是php代码。我正在尝试将 php 变量回显到表单字段文本框属性中。

<?php
while($result=mysql_fetch_array($query))
{

        $title=$result["title"];
        $date=$result["date"];
        $body=$result["body"];
        $email=$result["email"];
        $id=$result["id"];
//can i use the $id variable into the form field like bellow 
//if not then how so    


echo"<form action="" method="post">";
//Here i m using  $id variable  
echo "<input type="test" name="test" value='<?php echo "$id"?>'/>";
echo "<input type="submit" name="submit" value="submit"/>";
echo "</form>";
}
?>

谢谢

4

4 回答 4

1

已经在 php 中时不要使用额外的 php 标签:只需将其连接为常规 var

echo "<form action=\"\" method=\"post\">";
echo "<input type=\"test\" name=\"test\" value='" . $id . "'/>";//Here i m using $id       variable    
echo "<input type=\"submit\" name=\"submit\" value=\"submit\"/>";
echo "</form>";
于 2013-03-22T21:37:22.180 回答
1

除非我误解了您的问题,否则您应该删除代码中的标签。

将第 11 行更改为:

echo '<input type="test" name="test" value="' . htmlentities($id) . '"/>';

如果 id 来自用户输入,您需要使用 htmlentities() 对其进行清理,否则您会将您的网站打开到 xss(跨站点脚本)漏洞

于 2013-03-22T21:40:07.033 回答
0

您不需要将变量放在“”中

echo "<input type='test' name='test' value='{$id?}>'/>";

这应该工作

并注意在双引号中使用双引号而不转义它们

于 2013-03-22T21:38:18.417 回答
0

您如何使用 echo 功能,您必须在内部排除 echo 并转义双引号:

echo "<form action=\"\" method=\"post\">";
echo "<input type=\"test\" name=\"test\" value=\"{$id}\" />";//Here i m using $id  variable    
echo "<input type=\"submit\" name=\"submit\" value=\"submit\"/>";
echo "</form>";

另一种形式,更清楚的是关闭 php 标记并在 html 代码之后打开它:

?> 
<form action="" method="post">
    <input type="test" name="test" value="<?php echo $id ?>" />
    <input type="submit" name="submit" value="submit" />
</form>
<?php
于 2013-03-22T21:39:27.837 回答