2010-03-24 40 views
0

我提前道歉,我是PHP noob!帮忙传递_POST表格数据PHP

我有一些隐藏的领域的形式。我需要将值发布到“submit_rma.php”,以便它们不会从数据库中丢失 - 我需要$ 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

如果$ qty,$ estimate_id等与安全性相关,则通过POST发送它们不会对您有很大帮助 - 它们仍然可见在页面的HTML源代码中,并且未加密发送。但是,这是将表单数据从一个地方发送到另一个地方的正常方式。如果不知道接收脚本是什么样子的话,是否有道理是不可能的。你的问题到底是什么? – 2010-03-24 19:15:47

+0

没有那么多的安全性,因为如果我的最终用户在这里弄乱了这个URL,那么就太容易破坏分贝了。例如,estmate_id在我的db中有一对多的关系 - 我不能让它破坏我的表关系。因为这是一个Intranet站点,所以安全性不是问题。 – Mikey1980 2010-03-24 19:39:54

+0

使用表单就像使用网址一样简单。 – 2010-03-24 19:52:04

回答

1

也许使用一个隐藏<INPUT>

<input type="hidden" name="qty" value="<?= $qty ?>"> 

这将不会显示任何内容给用户。如果您不熟悉,<?= x ?>实际上等效于:<?php echo x; ?>

但是,这是一个安全问题,因为攻击者可以制作假请求并在字段中添加一个不同的值(避开您的页面并直接执行请求)。您应该尝试以其他方式获取该值,例如通过在页面上运行INSERT,然后在POST上使用UPDATE或类似的东西。

+0

这就是我的想法和尝试......这是一个内部网站,所以它的安全性没问题 - 这里没有人足够聪明,毒害POST。 qty POST的值正确,我需要用户输入,但是rma_type和estmate_id却没有。当我在下一页上回复他们时,他们是空白的。 – Mikey1980 2010-03-24 19:32:43

+0

@ Mikey1980你回应什么?同样的$数量的东西?曾听说过$ _POST数组? – 2010-03-24 19:53:42

+0

LMAO,它似乎拼错估计 - 现在两个值POST - 指向卢卡斯的PHP提示! – Mikey1980 2010-03-24 19:54:37

0

我指出显而易见的事实,你在“qty”之后忘记了所有文本框的NAME属性?如果名称不在此处,则这些值不会超出此页面:-)

+0

他们只是为了表演 - 只读。 – Mikey1980 2010-03-24 19:49:58

+0

好的。我还没有嘲笑一个测试,但我想知道POST是否被一系列空白命名输入绊倒了。线索是,数量通过罚款。好吧... – LesterDove 2010-03-24 20:09:27