0

我是 PHP 新手,大约 3 周前开始。

我有一个字符串,它与 $_POST 一起使用以将其传递到另一个页面,第二个页面使用 $_GET 来获取这些 url 并根据需要拆分它。

我的问题是,在我的第一页中,我使用了一个字符串,并且我想对其进行加密,以便我可以将其作为计划文本传递。在第二页中,我必须对其进行解密并将其作为数组获取。

那么有没有我可以使用的与 $_POST 兼容的加密方法或函数(所以我可以将它发送到另一个页面)并将其解密为数组?

我需要这种方法,因为第二页实际上是连接到网站并且是一种付款方式。所以我不希望用户手动编辑 url 并降低他们获得的产品的 $ 金额。

tnx 为您提供帮助。

4

3 回答 3

3

你在想这个错误。您永远不会相信来自用户方面的信息。

例如,如果您的用户发送了一份说明他们想要什么商品的表单,请不要在表单中包含价格。相反,从可以信任的服务器(数据库)获取价格。

于 2012-05-12T14:49:28.160 回答
0

尽管不完全了解您要实现的目标,但您可以使用 base64 编码:

$encoded_string = base64_encode ($string);

$decoded_string = base64_decode ($encoded_string);
于 2012-05-12T14:49:38.217 回答
0

您可能想要做的是将用户购物车的内容(即他想要订购的物品)传递给支付站点。因此,您应该创建一个类似的表单:

<form action="URL/to/paymentPage.php" method="post">
<!-- Item 1 -->
<input type="hidden" name="items[0]" value="productID1"/>
<input type="hidden" name="quantity[0]" value="quantity1"/>
<!-- Item 2 -->
<input type="hidden" name="items[1]" value="productID2"/>
<input type="hidden" name="quantity[1]" value="quantity2"/>
<!-- ... -->
<!-- Item n -->
<input type="hidden" name="items[n]" value="productIDn"/>
<input type="hidden" name="quantity[n]" value="quantityn"/>

<input type="submit" value="Order"/>
</form>

在“URL/to/paymentPage.php”文件中的服务器上,您可以使用以下代码访问这些项目:

<?php
$items = $_POST['items']; // Array of items ..
$quantities = $_POST['quantity']; // The array of quantities for each item ..

// Calculate the total price ..
$totalPrice = 0;
foreach($items as $idx => $itemID) {
  if($quantities[$idx]>0) {
    totalPrice += getPriceFromDB($itemID) * $quantities[$idx];
  }
}

echo 'Total Price to pay: '.$totalPrice;
?>

其中 getPriceFromDB 函数实际上从您的数据库或其他地方检索 ID 为 $itemID 的商品/产品的价格...... :)

However, the user items are usually stored in the session, and, therefore, there is no need to submit the again.. ;)

于 2012-05-12T15:09:33.423 回答