我没有使用输入隐藏字段,而是构建了一个查询来将变量传递给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"
这是为什么?我该如何解决这个错误?
答案 0 :(得分:0)
检查服务器日志中的确切错误(或在php.ini中切换错误报告以查看浏览器中的错误消息)。
但是,如果错误与header()
函数有关,那么原因几乎总是因为您已经先向浏览器发送了一些其他输出 - header()
必须在发送任何页面正文之前调用。
如果您认为自己没有发送任何内容,则可能是您在一个(或多个)PHP文件的开头或结尾无意中留下的空白区域。