以下是我在订单确认模块中使用的代码。我正在使用fpdf创建一个pdf文件,并发送一封电子邮件。随后,我清空了购物车并重新显示了菜单。
在下面的代码中,我注释掉了pdf文件的创建。当我这样做时,电子邮件被发送,购物车被javascript代码清空
<script type="text/javascript">
doCart(\'EmptyCart\',\'0\', \'0\', \' \', \'partCheckOut\');
</script>但是如果我取消对创建pdf的代码的注释:
$pdf->getHdrDtl();
$pdf->Header();
$pdf->Footer();
$pdf->generatePDF();创建pdf文件,发送电子邮件,但购物车不会清空,菜单也不会重新显示。
有没有人有什么建议或想法?
if (isset($_POST['confirm']))
{
$Cart->ConfirmOrder();
/*
$pdf->getHdrDtl();
$pdf->Header();
$pdf->Footer();
$pdf->generatePDF();
*
*/
$Cart->sendOrderEmails($dealer_email);
echo '
<script type="text/javascript">
doCart(\'EmptyCart\',\'0\', \'0\', \' \', \'partCheckOut\');
</script>
';
$group = $_SESSION['group'];
if ($group == 1){
header("Refresh: 1; ./admin_menu.php");
exit;
}
if ($group == 2){
header("Refresh: 1; ./user_menu.php");
exit;
}
if ($group == 3){
header("Refresh: 1; ./admin_menu.php");
exit;
}
}发布于 2014-04-10 23:47:50
我不知道$ PDF ->generatePDF()是如何工作的,但它看起来像是在当前页面中生成PDF。该页面不再是HTML页面,而是PDF页面。因此,您不能将任何javascript代码写入页面(或直接写入任何html或文本,您必须在生成文档之前使用FPDF函数将数据插入到PDF中)。
在将数据发送到浏览器之后,您肯定不能发送任何PHP标头。如果您必须在发送数据后进行重定向,请使用javascript重定向。
https://stackoverflow.com/questions/22986951
复制相似问题