如何将数据从一个php页面传递到另一个页面

时间:2012-12-30 06:32:39

标签: php html mysql

我正在构建三个互相链接的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 个答案:

答案 0 :(得分: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 ) );

我希望这可以提供帮助。

答案 1 :(得分:1)

你可以通过

来做到这一点
  1. 暂时将数据插入数据库,然后再将其删除。这是最有效的方法。

  2. 将其存储在$_SESSION[]变量中并在整个用户会话中访问

  3. 效率最低的方法是通过仅使用GET方法将数据链接到三个网页,并将不相关的数据隐藏在<input type='hiden' value='$val'>

  4. 将它们存储在文件或Cookie中

答案 2 :(得分:0)

您可以在多维数组中将值存储在会话中,如下所示:

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

您可以将商店的所有详细信息存储为商店

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

其他页面相同。从payway获得确认后,您可以将值存储/插入数据库。

答案 3 :(得分:-2)

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