2015-06-10 241 views
0

openerWindow.php會通過一個按鈕調用openedWindow.html,但是爲什麼當我關閉openedWindow.html並刷新瀏覽器時這個openedWindow又顯示出來了?不是通過按鈕觸發的這個彈出窗口。我無法弄清楚,爲什麼和如何解決這個問題:重新打開瀏覽器重新加載的彈出窗口:

openerWindow.php

<!doctype html> 
<html> 
<head> 
    <meta charset="UTF-8"> 
    <title>Document</title> 
</head> 
<body> 

<form method="post" action=""> 
<input type="submit" name="open" value="open pop up" onclick=""/> 

<?php 
if(isset($_POST["open"])){ // if button clicked call other html page as pop up 

?> 
    <script > 
    newWindow = window.open('openedWindow.html', 'formUntukUpte', 'width=400,height=350'); 


    </script> 
<?php 
} 
?> 

</form> 
</body> 
</html> 

openedWindow.html

<!DOCTYPE html> 
<html> 
<head lang="en"> 
    <meta charset="UTF-8"> 
    <title></title> 
</head> 
<body> 

</body> 
</html> 

我真的很感激你的幫助,,

+0

'未設置($ _ POST [「開放」])'內就在您的'如果()' –

+1

當您刷新openerWindow.php,並在瀏覽器問你個問題(如果是的,你可能會再次發送形式)?而不是按F5的嘗試複製並粘貼到瀏覽器openerWindow.php的URL,看看是否打開彈出再次 – adrien54

+0

鉻說,當我重新加載(閉打開的窗口後)=「 .......返回到頁面可能會導致您需要重複的操作,您是否想繼續?「 。」我不知道兄弟。 –

回答

0

刷新瀏覽器時可能會保留髮布數據。

您可以通過添加<?php print_r($_POST); ?>到您的網頁查看,你會看到,如果後數據仍然存在。

看起來這會更容易在JavaScript中執行:

<button onclick="window.open('openedWindow.html', 'formUntukUpte', 'width=400,height=350')">Open Popup</button> 

如果您需要做的是在PHP,那麼你就需要存儲在會話中的VAR值,像這樣:

<?php 
session_start(); 
if (isset($_POST['open'] && !isset($_SESSION['popup_shown'])) { 
$_SESSION['popup_shown'] = true; 
?> 
<script> 
//popup launch 
</script> 
<?php 
} 
?> 
+0

它仍然存在!我如何重設這一個(這個數組),我沒有得到任何線索如何禁用迪重新提交。 –

+0

是它仍然存在,那麼如何解決這個問題我沒有得到任何線索在所有。 –

+0

當瀏覽器顯示「回到該頁面可能會導致您需要重複的任何操作。是否要繼續?」這意味着它會重新發送數據後,如果您單擊‘是’ – DonutReply

相關問題