-2

たとえば、相互にリンクしている3つのphpページを作成しています。
1.顧客の詳細
2.製品の詳細
3.支払いの詳細
すべてのオンラインショッピングWebサイトで提供されているのと同じ手順またはメカニズム。これで、最初のフォーム、つまり顧客プロファイルページから2番目のフォーム、つまりデータベースにデータを送信または挿入せずに製品の詳細でユーザーが入力したデータ/値、および2番目のページの値を渡すか保持する必要があります。最初のページのデータを含む製品の詳細を3番目のページ、つまり支払いの詳細に渡す必要があります。3番目のページの送信ボタンをクリックすると、3つのページすべてのデータ全体または値が最終的にデータベースに保存または挿入されます。
私はphpがこれのためのメソッドを提供することを知っています、そして私はこれにもGETとPOSTメソッドを使用しましたが、それはまったくありません
ここに私のコードがあります
-最初のページのために-

  <HTML>
     <head>
       <?php
            $value1 = trim($_POST[name]);
        $value2 = trim($_POST[address]);
    $value3= trim($_POST[city]);
        ?>
     </head>
     <body>
       <form action="secondpage.php" method="POST">
         //content of form
        <?php
           echo "<a href='secondpage.php?name=" . $value1 . " && address=" . $value2 .              " && city=" . $value3 . "'><input type='button' value='Proceed To Customer Profile!!!' class='submit' style='cursor:pointer;cursor:hand;' />";
           ?>
  </body>
 </html>
4

4 に答える 4

1

2つの方法を提案できます。1-すべてのページフォーム情報をユーザーセッションに保存します。これは、$ _SESSIONPHP変数を使用して行うことができます。ただし、これを使用する前にsession_startを呼び出す必要があることに注意してください。

$_SESSION["PAGE1"] = array (
    'var1' => 'value1', 
    'var2' => 'value3', 
    ....
);

2-他のページから収集されたデータをこの非表示の入力にシリアル化するために、すべてのページに非表示の入力を配置できます。オプションで、base64_decode/base64_encodeおよびjson_encode/json_decodeを選択してデータをシリアル化するか、PHP組み込みのシリアル化/非シリアル化関数を使用できます。

$serializedData = base64_encode ( json_encode ( $_POST ) );
$originalData = json_decode ( base64_decode ( $serializedData ) );

これがお役に立てば幸いです。

于 2012-12-30T06:42:00.603 に答える
1

あなたはそれをすることができます

  1. データを一時的にデータベースに挿入し、後で削除するのが最も効率的な方法です。

  2. それを$_SESSION[]変数に保存し、ユーザーのセッション全体を通してアクセスします

  3. 最も非効率的な方法は、GETメソッドのみを使用し、関連性のないデータを非表示にすることで、3つのWebページにデータを連鎖させることです。<input type='hiden' value='$val'>

  4. それらをファイルまたはCookieに保存します

于 2012-12-30T06:44:15.547 に答える
0

次のように、セッション内の値を多次元配列に格納できます。

 $_SESSION['customer_details'] 
 $_SESSION['Product_details'] 
 $_SESSION['Payment_Details']

顧客の詳細のすべての詳細を次のように保存できます

$_SESSION['customer_details']['name'] = $_POST['name'];
$_SESSION['customer_details']['email'] = $_POST['email'];

残りのページについても同じです。支払いgetwayから確認を取得したら、データベースに値を保存/挿入できます。

于 2012-12-30T06:35:57.170 に答える
-2

まず最初に質問のフォーマットを学びましょう。それは本当にあなたに良い答えをフェッチします。次に、ユーザーのデータを保存するために使用できる最高のものにデータpage1を渡すために使用し、後で彼が使い終わった後にそれを行うことができますフォームの送信page2page3$_SESSIONunset

于 2012-12-30T06:35:36.817 に答える