我没有使用输入隐藏字段,而是构建了一个将变量传递给ipn:的查询
$query="cmd=_xclick&business=PAYPALKONTO-EMAIL¬ify_url=http://IPNURL/ipn.php&return=http://ZURÜCKurlWENNbezahlt.de&
cancel_return=http:/ZURÜCKurlWENNangebrochen.de&lc=DE¤cy_code=EUR&custom=WERSTECKTEinformationenDIEmitGESENDETwerdenABERkeinerSIEHTzbPREISidODERnichts&
item_name=Artikel&amount='".str_replace(",", ".", $_SESSION['1'])."'";
ob_end_clean();
header("Location: https://www.sandbox.paypal.com/cgi-bin/webscr?".utf8_decode($query));
exit;
但当我点击提交时,它会停留在同一页面上,并得到Error:500 "script execution failure"
为什么是这样?如何修复此错误?
检查服务器日志以查找确切的错误(或者在php.ini中打开错误报告以在浏览器中查看错误消息)。
但是,如果错误是由header()
函数引起的,那么原因几乎总是因为您已经先向浏览器发送了一些其他输出——在发送任何页面正文之前,必须调用header()
。
如果你认为你没有发送任何内容,它可能是你无意中在一个(或多个)PHP文件的开头或结尾留下的空白。