我提前道歉,我是一个PHP菜鸟!
我有一些隐藏字段的表单。我需要POST到“submit_rma.php”的值,以便它们不会从db中丢失 - 我需要$ qty,$ estmate_id和$ rma_type。
其余字段只是为用户显示数据并且只是只读。目前我只从qty文本字段中获取值。
有没有更简单的方法来传递这些值?由于安全问题,URL无法使用。
<form method="post" action="submit_rma.php";>
<table>
<tr>
<td>
Quantity
</td>
<td>
<input type="text" name="qty" value="<?php echo $qty ?>" size="1"/><br/>
</td>
</tr>
<tr>
<td>
Part #
</td>
<td>
<input type="text" name="" value="<?php echo $model ?>" size="8" READONLY/><br/>
</td>
</tr>
<tr>
<td>
Description
</td>
<td>
<input type="text" name="" value="<?php echo $name_EN ?>" size="50" READONLY/><br/>
</td>
</tr>
<tr>
<td>
Paid Date
</td>
<td>
<input type="text" name="" value="<?php echo $sold_date ?>" size="6" READONLY/><br/>
</td>
</tr>
<tr>
<td>
Amount Each
</td>
<td>
<input type="text" name="" value="<?php echo $dealer_price ?>" size="8" READONLY/>
</td>
</tr>
</table>
<input type="hidden" name="estmate_id" value="<?php echo $estmate_id ?>">
<input type="hidden" name="rma_type" value="Short Shipped">
<input type="submit" name="submit";">
</form>
答案 0 :(得分:1)
也许使用隐藏的<INPUT>
:
<input type="hidden" name="qty" value="<?= $qty ?>">
这不会向用户显示任何内容。如果您不熟悉,<?= x ?>
实际上相当于:<?php echo x; ?>
。
然而,这是一个安全问题,因为攻击者可以制作虚假请求并在字段中添加不同的值(回避页面并直接执行请求)。您应该尝试以其他方式获取值,例如通过在页面生成上运行INSERT
,然后在POST上使用UPDATE
或类似的东西。
答案 1 :(得分:0)
我是否指出显而易见的是你忘记了“qty”之后所有文本框的NAME属性?如果名称不存在,则值不会超出此页面: - )