-2

我正在构建三个相互链接的 php 页面,例如。
1. 客户详情
2. 产品详情
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

我可以建议两种方法:1-将每个页面表单信息存储在用户会话中。你可以通过使用 $_SESSION PHP 变量来做到这一点。但请注意,您必须在使用它之前调用 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 方法将数据链接到三个网页并将不相关的数据隐藏在<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'];

其余页面相同。一旦您从付款网关获得确认,您就可以在数据库中存储/插入值。

于 2012-12-30T06:35:57.170 回答
-2

首先,请学习格式化您的问题,它真的会为您提供很好的答案,其次是为了将数据从page1to传递page2page3您可以用来存储用户数据的最佳位置,$_SESSION然后您可以unset在他完成后使用表单提交

于 2012-12-30T06:35:36.817 回答