我是PHP的新手,我大约3周前开始。
我有一个字符串,它与$ _POST一起用于将其传递到另一个页面,第二个页面使用$ _GET来获取这些URL并根据需要将其拆分。
我的问题是,在我的第一页中我使用了一个字符串,我想加密它,以便我可以将它作为计划文本传递。在第二页中,我必须解密它并将其作为数组。
那么我可以使用哪些加密方法或函数与$ _POST兼容(所以我可以将它发送到另一个页面)并将其解密为数组?
我需要这种方法,因为第二页实际上是连接到网站而且是一种付款方式。所以我不希望用户手动编辑网址并降低他们获得的产品的金额。
tnx为您提供帮助。
答案 0 :(得分:3)
你在考虑这个错误。您永远不会信任来自用户方的信息。
例如,如果您的用户发送的表单中显示了他们想要的项目,请不要在表单中包含价格。相反,从服务器(数据库)获取可信任的价格。
答案 1 :(得分:0)
尽管还没有完全理解你想要实现的目标,但你可以使用base64编码:
$encoded_string = base64_encode ($string);
$decoded_string = base64_decode ($encoded_string);
答案 2 :(得分: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的商品/产品的价格...... :)
但是,用户项通常存储在会话中,因此无需再次提交..;)