提问者:小点点

如何在同一页面中使用POST和GET方法,并通过按钮将所有变量传递到下一个页面?


在当前代码中,我在同一个php页面(delivery.php)上有POST和GET方法,如下所示。我想实现的是通过按下按钮(转到支付页面)将下面的项目1-5传递到下一个页面(payment.php)。

项目1;请求(来自上一页)
项目2;名称(用户输入)
项目3;shippingfee(在代码中的span标记中显示,这是GET方法从shipping.php返回的值)
item4;地址(用户输入)
项目5;电子邮件(用户输入)

我怎样才能做到呢?

delivery.php

<?php
  $request = $_POST['request'];
?>

<html>
....
  <form name="aaa" method="POST" action="payment.php">
    <input name="name"></input>
  </form>
  <form name="bbb" method="GET" action="shipping.php">
    <select id="country" name="countryshipping">
      <option value="null" select="selected">default</option>
      <option value="1">1</option>
      <option value="2">2</option>
    </select>
  </form>
  <form name="ccc" method="POST" action="payment.php">
    <input name="address"></input>
    <input name="email"></input>
  </form>
  ....
  <div>
    <span id="shippingfee"></span>
  </div>
  ....
  <form ????????>
    <button type="submit">Go to payment page</button>
  </form>
  ....

解决方案

我可以设法实现我想做的事。共享我的代码:

delivery.php

<?php
  $request = $_POST['request'];
?>

<html>
....
  <form name="aaa" method="POST" action="payment.php">
    <input name="name"></input>
    <select id="country" name="countryshipping">
      <option value="null" select="selected">default</option>
      <option value="1">1</option>
      <option value="2">2</option>
    </select>
    <input name="address"></input>
    <input name="email"></input>
  </form>
  ....
  <div>
    <input type="hidden" name="shippingfee" id="shippingfee2"><span id="shippingfee"></span>
  </div>
  ....
    <button type="submit">Go to payment page</button>
  </form>
  ....

payment.php

<?php
$name = $_POST['name'];
$country = $_POST['countryshipping'];
$address = $_POST['address'];
$email = $_POST['email'];
$shippingfee = $_POST['shippingfee'];
?>

除了上面的代码之外,我还在jQuery中添加了一行代码

document.getElementById("totalfees2").value = value; // "this value is the same value which is stored in id="shippingfee""

共2个答案

匿名用户

<form action="script.php?foo=bar" method="post">
   <input type="text" name="baz" value="qux">
   <input type="submit">
</form>

<?php

echo $_POST['baz']; // "qux"
echo $_GET['foo']; // "baz"

请注意,相反的方法是不起作用的。您不能既有get方法表单,又提交了get POST数据。

匿名用户

$_REQUEST将交付所有get和post变量。

echo $_REQUEST['baz']; // "qux"
echo $_REQUEST['foo']; // "baz"