PHP表单未重定向到Paypal

PHP表单未重定向到Paypal,php,paypal,Php,Paypal,我正在尝试将paypal付款方式添加到我的表单中,但当我单击“提交”按钮时,页面并没有重定向到paypal表单,而是在同一页面上出现404错误,我的paypal代码为 <?php session_start(); include('paypal.class.php'); if(isset($_REQUEST['trainButton'])) { $pakage_name = $_REQUEST['trainTitle']; $price = str_rep

我正在尝试将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";
  }   
  }

你正在使用一个笨重的系统来重定向。您正在设置一个表单,然后尝试使用JS强制提交,这就是您的重定向。您应该使用更精确的方法,如标题

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

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

我看不到在您的代码中任何地方调用头,这是重定向的。这是在submit\u paypal\u post中吗?是的,在paypal.class.php文件中确定。。。想和大家分享一下吗?还是我们要猜猜看?我刚刚用底部的函数更新了这个问题,请看一看
echo '<body onLoad="location=\'' . $this->paypal_url . '\'">';