如何从重定向页面传递$ _POST

时间:2017-04-16 19:05:08

标签: javascript php redirect paypal payflowlink

我有一个表单,其中包含用户填写的有关课程的信息,并包含重定向到PayPal的payflowlink的付款信息。在我添加payflowlink之前,我将表单信息发布到同一页面,并通过电子邮件将类信息发送到电子邮件地址。现在,将表单的操作设置为payflowlink,类信息不会通过电子邮件发送给我,但付款信息会传递给payflowlink。

我认为重定向页面可能会使用<meta http-equiv="refresh" content="0; url=https://payflowlink.paypal.com">,但$ _POST不会传递给payflowlink。如何获取从重定向页面传递到payflowlink页面的$ _POST信息?

现在我将表单页面的信息发布到重定向页面,重定向页面通过电子邮件发送信息,但$ POST不会传递给payflowlink。 payflowlink页面由PayPal托管。

<!DOCTYPE html>
<html lang="en">

<head>
  <title>Registration</title>
  <meta http-equiv="refresh" content="0; url=https://payflowlink.paypal.com">

</head>

<body>
  <?php
ini_set('display_errors', 'On');
error_reporting(E_ALL | E_STRICT);

if ($_SERVER["REQUEST_METHOD"] == "POST") {

  if (isset($_POST["name"])) {
    $name = $_POST['name'];
    $EmailBody = "Parent's Name: ".$_POST["name"]."<br>";
  }

    $subject = "Registration";
    SendMail($email, $EmailBody, $subject);
    echo ($EmailBody);
}

?>

    <main id="main">
      <h1>Registration Form</h1>

      <p><a href="https://payflowlink.paypal.com">Click this link if you are not redirected</a></p>

    </main>

  </body>

</html>

2 个答案:

答案 0 :(得分:0)

您应该小心使用Payment网关。您不应该让用户直接通过您的服务器发布信用卡号等敏感数据。您需要将信息直接传递给网关,网关将进行处理,然后重定向回您的网站并传递安全令牌。

https://developer.paypal.com/docs/classic/payflow/integration-guide

但是,当您第一次从网关请求安全令牌时,您可以发送电子邮件。您还可以将按钮onclick事件附加到按钮,用户可以单击该按钮以使用Ajax请求重定向到服务器以发送电子邮件,然后从服务器获取响应,重定向用户。

答案 1 :(得分:-1)

  <?php
ini_set('display_errors', 'On');
error_reporting(E_ALL | E_STRICT);

if ($_SERVER["REQUEST_METHOD"] == "POST") {

  if (isset($_POST["name"])) {
    $name = $_POST['name'];
    $EmailBody = "Parent's Name: ".$_POST["name"]."<br>";

    $subject = "Registration";
    SendMail($email, $EmailBody, $subject);
    //echo ($EmailBody);

    /* PAYPAL implementation here, instead header(); */
    header('Location: https://payflowlink.paypal.com');
  }


}

?>


<!DOCTYPE html>
<html lang="en">

<head>
  <title>Registration</title>

</head>

<body>

<main id="main">
  <h1>Registration Form</h1>

  <p><a href="https://payflowlink.paypal.com">Click this link if you are not redirected</a></p>

</main>

  </body>

</html>

有一件事是,在重定向之前你无法回应。但是你已经收到了$ Emailbody作为电子邮件。

<强>更新

要将$ _POST信息传递到payflowlink页面,您应该遵循相关的API文档。

上面的示例仅适用于基本重定向。