2010-01-23 29 views
1
//this is in php 
function msgbox($msg, $type) 
    { 
    if ($type == "alert") 
     { 
     // Simple alert window 
     ?> <script language="JavaScript"> alert("<? echo $msg; ?>"); </script> <? 
     } 
    elseif ($type == "confirm") 
     { 
     // Enter Confirm Code Here and assign the $result variable for use 
     // Should include "OK" and "Cancel" buttons. 
     ?> 
      <script language="JavaScript"> 
      if (confirm("<? echo $msg; ?>")) 
       { 
       <? $result == "ok"; ?> 
       } 
      else 
       { 
       <? $result == "cancel"; ?> 
       } 
      </script> 
     <? 
     } 
    } 



if ($page_title->exists()) 

{msgbox("page exists,do you want to delete", "confirm"); 

}  
if ($result == "ok") 
//code.. 

的問題是,$result沒有從確認框,我認爲閱讀價值,因爲如果沒有執行條款和程序流程是怎麼回事就在那裏如果沒有if條款,就會失敗。分配一個JavaScript確認框的結果的PHP變量

回答

-1

您正在使用短標籤,請確保它們已從php.ini文件中打開,否則PHP代碼將不會在您的代碼中執行。

2

您不能以這種方式將服務器端代碼(PHP)與客戶端代碼混合使用。 對於JavaScript更改PHP狀態,您需要進行HTTP調用(通常使用AJAX)。

你需要閱讀一個PHP教程,並確保你掌握了這些概念。

0

只要頁面在服務器端創建然後發送給用戶,您就可以使用Ajax創建您想要完成的任務,但不能直接篡改$ result變量。首先把握AJAX參考,以及如何使用它..

101 article on Ajax with jQuery (sitepoint.com)

簡單實現AJAX的使用jQuery和PHP

Client.html

<!--some html...--> 
<a class="ajax" href="/delete.php?title=some+title">Delete action link</a> 

<script type="text/javascript"> 
// assuming jQuery has been loaded 
$(function() { 
    $('a.ajax').click(function() { 
     // get link's href, get main url part and query part 
     var link = $(this).attr('href'); 
     var route = link.substring(0, link.lastIndexOf('?')); 
     var query = link.substring(link.lastIndexOf('?') + 1); 

     // perform ajax call, to the main part of the link, with data 
     $.ajax({ 
      type: "GET", 
      url : route, 
      data : query, 
      success : function (data) { 
       if (data === '1') { 
        window.alert('page removed'); 
       } else { 
        window.alert('error'); 
       } 
      } 
     }); 

     // prevent default behavior 
     return false; 
    }); 
});  
</script> 

而且一delete.php腳本,需要$ _GET ['title']作爲參數

<?php 
    $title = $_GET['title']; 
    if ($pages->contain($title)) { 
     $pages->remove($title); 
     echo '1'; 
    } 
?> 

請注意,這只是簡化,以示你的,一個簡單的AJAX調用如何可以做到

相關問題