以下是我在訂單確認模塊中使用的代碼。我使用fpdf
創建PDF文件,併發送電子郵件。隨後,我清除購物車並重新顯示菜單。php執行javascript函數
在下面的代碼中,我已經註釋掉了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;
}
}
您是否使用某種類型的javascript調試工具來查看是否引發了javascript錯誤? –
我不認爲你瞭解網絡的工作原理。 PHP不能執行JavaScript--它只是打印它,而某個人(可能是瀏覽器)會在稍後階段執行它。而且您不能在HTML中間發送HTTP標頭。 –
PHP是服務器端語言,JavaScript是客戶端語言,意味着服務器會向您發送JavaScript頁面進行交互的HTML頁面。 – Slade