2010-11-04 109 views
1
<?php 

$_SESSION['dsize'] = $_POST['dsize']; 
if ($_SESSION['deadline']=="Urgent") 
{ 
?> 
<script type = "text/javascript"> 

window.open('https://usd.swreg.org/cgi-bin/s.cgi?s=104597&p=104597-1&v=0&d=0&q=<?php echo $_SESSION['dsize']?>'); 
</script> 
<?php 

} 
else 
{ 

?> 
<script type = "text/javascript"> 

window.open('https://usd.swreg.org/cgi-bin/s.cgi?s=104597&p=104597-2&v=0&d=0&q=<?php echo $_SESSION['dsize']?>'); 
</script> 
<?php 

} 

header('Location: confirmorder.php'); 

?> 

如果我刪除最後一個標題行新窗口正在打開,但是如果我使用標題行新窗口未打開並且confirmorder.php已打開。在php中打開新窗口

任何人都可以告訴我如何打開結賬新窗口併發送用戶確認訂單頁面。

感謝

+2

這很容易。在確認訂單頁面中打開新窗口。或者,甚至更好,根本不打開任何窗戶。這是醜陋的行爲,大多數瀏覽器無論如何都會阻止它。 – 2010-11-04 10:23:27

+0

也就是我所說的醜陋的代碼。 2 **非常相似**只有**一個字節**區別的代碼塊。 – 2010-11-04 10:26:24

+0

我是新來的,並試圖理解事情是如何工作的。那麼將用戶重定向到購物車的最佳方式是什麼(我的老師需要一個新窗口),並且在當前窗口中,我應該顯示訂單確認 – shaz 2010-11-04 10:36:22

回答

2

也許你應該使用JavaScript客戶端重定向到您想要的頁面。

在響應結束後,你應該這樣做:

<script type="text/javascript"> 
<!-- 
window.location = "confirmorder.php" 
//--> 
</script> 
+0

工作很好,但爲什麼不是我使用工作的代碼...可以請你解釋它有什麼問題,所以我不會再犯同樣的錯誤 – shaz 2010-11-04 10:37:55

+0

嗯...你的代碼發送JS打開窗口到瀏覽器,然後立即發送一個http重定向。這意味着瀏覽器甚至不會試圖解釋JS(因爲HTTP頭像重定向一樣優先)。所以......在嘗試渲染/解釋任何東西之前,瀏覽器會被重定向。 – 2010-11-04 10:45:18

+1

你真的認爲這段代碼在* JS後發送HTTP頭*嗎? – 2010-11-04 11:01:20