因此,我有一个html表,其中包含从数据库中检索到的数据。每行中都有一个“编辑”按钮。看起来像这样:
<td><form action="controller/edit" method="post">
<input type="hidden" name="id" value="<?php echo $id ?>">
<input type="submit" value="edit">
</form></td>
然后在控制器/编辑页面中,我将再次访问数据库:
select * from table where id=$_POST['id']
一切都很好。但是,我正在避免避免第二次访问数据库以提高性能。我正在尝试做这样的事情:
<td><form action="controller/edit" method="post">
<input type="hidden" name="id" value="<?php echo $id ?>">
<input type="hidden" name="name" value="<?php echo $name ?>">
<input type="hidden" name="amount" value="<?php echo $amount ?>">
<input type="submit" value="edit">
</form></td>
这样行中的所有数据都在表单中,因此当表单提交给控制器/编辑时,我不需要再次访问数据库。这种方法好吗?还是这是不好的做法?
您提到的第二个似乎确实是捷径,但它可能很容易受到攻击。
隐藏的字段很容易被篡改。例如,用户可以操纵隐藏字段的值并将其更改为随机数,例如975646456456456。
在那种情况下,您的数据库将有不正确的插入,因为可能没有对应于ID 975646456456456的匹配记录。
因此,我认为您应该使用第一个数据库,并检查数据库是否存在该ID,并获取其记录。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句