0

私はPHPが初めてで、約3週間前に始めました。

$_POST を使用して別のページに渡す文字列があります。2 番目のページは $_GET を使用してこれらの URL を取得し、必要に応じて分割します。

私の問題は、最初のページで文字列を使用していて、それを暗号化して、計画テキストとして渡すことができることです。2 ページ目では、それを復号化し、配列として取得する必要があります。

$_POST と互換性があり(別のページに送信できるため)、配列として復号化できる暗号化方法または機能はありますか?

2 番目のページは実際に Web サイトに接続しており、支払い方法であるため、この方法が必要です。したがって、ユーザーが手動で 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 を持つアイテム/製品の価格を実際に取得します... :)

ただし、通常、ユーザー アイテムはセッションに保存されるため、再度送信する必要はありません。;)

于 2012-05-12T15:09:33.423 に答える