2012-10-25 62 views
-2

我有一個PHP文件被窗體調用,裏面的javascript代碼無法正常工作。php mysql_query裏面的javascript確認

<?php 
    $var1 = $_POST['var1']; 
    if($var1==1){ 
    ?> 
    <script> 
    if(confirmation('Some text')){ 
    <?     
     mysql_query('update table set ...'); 
    ?>    
    }else{ 
     alert('error'); 
    } 
    </script> 
    <? 
    } 
?> 

會發生什麼情況是,即使我打的確認窗口上的取消,執行MySQL查詢。如果($ var == 1)指令與示範一樣。在JavaScript代碼之前,我有幾個ifs和mysql指令。

+0

這是可怕的意大利麪代碼。如果您的Javascript代碼有問題,則必須查看PHP生成的最終結果。從瀏覽器的錯誤控制檯開始。 (也可以考慮不動態生成JS,這很少需要,並且總是令人困惑。) – millimoose

+0

PHP在服務器上運行;客戶端上的JavaScript。發生的事情是,在生成頁面時正在運行mysql_query--與在頁面上按下哪個按鈕無關。 – andrewsi

回答

2

PHP是一個server-side語言,它在Javascript執行之前執行client-side之前執行。因此,它只在PHP腳本運行後處理條件檢查。您需要使用AJAX用於此目的。