PHP表单不重定向到Paypal

时间:2015-09-28 12:03:22

标签: php paypal

我正在尝试将paypal付款方式添加到我的表单中但是当我点击提交按钮时,页面不会重定向到paypal表单,但是在同一页面上出现404错误,我的代码是paypal

<?php
session_start();
include('paypal.class.php');
if(isset($_REQUEST['trainButton'])) {

$pakage_name    =   $_REQUEST['trainTitle'];
$price          =   str_replace("£","",$_REQUEST['trainingFee']);

$p = new paypal_class();             
$p->paypal_url = 'https://www.paypal.com/cgi-bin/webscr';
$rand   =   rand(1209,45210);
$this_script = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];
$success_script = 'http://www.icifb.org/?page_id=1385&uid='.$rand;
$cancel_script  = 'http://www.icifb.org/?page_id=1373&uid='.$rand;

$p->add_field('business', 'payments@icifb.org');
$p->add_field('return', $success_script);
$p->add_field('currency_code','GBP');
$p->add_field('cancel_return', $cancel_script);
$p->add_field('notify_url', $this_script.'?action=ipn');
$p->add_field('item_name', "Training Title: ".$pakage_name);
$p->add_field('amount', $price);

//$p->dump_fields();
$p->submit_paypal_post();

$_SESSION['trainSemail'] =  $_REQUEST['email'];
}
?>
   // function is here
  function submit_paypal_post() {

  echo "<body onLoad=\"document.forms['paypal_form'].submit();\">\n";
  echo "<form method=\"post\" name=\"paypal_form\" ";
  echo "action=\"".$this->paypal_url."\">\n";

  foreach ($this->fields as $name => $value) {
     echo "<input type=\"hidden\" name=\"$name\" value=\"$value\"/>\n";
  }   
  }

1 个答案:

答案 0 :(得分:0)

您正在使用笨重的系统进行重定向。您正在设置表单,然后尝试使用JS强制提交,这是您的重定向。您应该使用更精确的内容,例如header

header('Location: ' $this->paypal_url);
exit; // terminate the script

如果这不可行,那么您应该使用直接JS重定向

echo '<body onLoad="location=\'' . $this->paypal_url . '\'">';