我可以使用变量设置文本输入字段的值吗?

时间:2009-11-25 07:48:47

标签: php mysql

我有一张表格。我正在将值提交给表测试字段的数据库。我想将这些现有值提取到文本字段,以便我可以再次编辑和更新。

我正在使用下面的代码,但我没有得到有效的输出。

任何人都可以提前帮助。

//these values iam passing from one form
$bre=$_POST['bf'];
$bres=$_POST['bs'];
$bree=$_POST['be'];
$lun=$_POST['lu'];
$luns=$_POST['ls'];
$lune=$_POST['le'];
$dinn=$_POST['din'];
$dins=$_POST['sd'];
$dine=$_POST['se'];

echo $bre;
echo $bres;
echo $bree;
echo $lun;
echo $luns;
echo $lune;
echo $dinn;
echo $dins;
echo $dine;


echo "<table width=791 border=1><tr><td width=243>Breakfast<input type=text name=bfh value= $bre></td>
<td width=239>Stat Time<input type=hidden name=bsh value=$bres/>
        </td>
    <td width=244>
      End Time
        <input type=text name=beh value=$bree />
          </td>
  </tr>
  <tr>
    <td>
      Lunch
        <input type=hidden name=luh value=$lun />
          </td>
    <td>Stat Time

      <input type=hidden name=lsh value=$luns/>
      </td>
    <td>End Time

      <input type=hidden name=leh value=$lune/>
      </td>
  </tr>
  <tr>
    <td>Dinner
      <input type=hidden name=dinh value=$dinn/></td>
    <td>Stat Time
      <input type=hidden name=sdh value=$dins/></td>
    <td>End Time
      <input type=hidden name=seh value=$dine/></td>
  </tr>

</table>";

3 个答案:

答案 0 :(得分:1)

您没有正确地逃避输入。在HTML页面上显示的每个变量上使用函数htmlentities。否则,您可能会收到无效文本(正如您所注意到的)或更糟糕的是,这是一个很大的安全漏洞,因为恶意用户可以输入将包含在HTML中的任意HTML / JavaScript组合。

答案 1 :(得分:1)

您在输入元素的属性值周围缺少引号。

我建议使用html验证程序来查找此类问题。

您也可以使用

打印出每个变量

print_r($_REQUEST);

确保他们输入脚本确定。

答案 2 :(得分:0)

 <input type=text name=beh value=$bree />

这也会像这样更好

<input type='text' name='beh' value='{$bree}' />

你必须为每个HTML属性添加'",并且在{}之间放置php替换将帮助您查看替换PHP的内容并且如果您访问变量将有所帮助在一个对象中,即{$foobar->bar}

同样在其他答案中注明您必须使用htmlentities HTML才能正确转义。

您的输入也在<form>标记内?你的桌子应该是这样的标签

<form method="POST">