2017-03-04 47 views
-2

我想執行下面的代碼在PHP中;PHP:如何在javascript確認框後運行php代碼?

var answer =window.confirm("Did You want to overwrite the file..."); 

基於該「OK」或「CANCEL」;

如果確定意味着我要執行下面的PHP代碼,而無需使用AJAX

if($uploadedby==$name) 
{ 
    move_uploaded_file($file_loc,$folder.$file); 
    $sql="update pubfiles SET filename='$file',owner_name='$name',upload_time='$file_time',size='$file_size' WHERE content='$unique';"; 

    $qry=mysql_query($sql,$conn); 
    if($qry>0)$check="yes"; 
} 
+1

簡短的回答:沒有Ajax,你不能這樣做。長答案:你可以創建動態表單並提交,然後解析答案...不是一個好主意。 –

+0

'不使用AJAX' - 你不能... http不能這樣工作 –

+1

爲什麼不使用AJAX? JavaScript運行在客戶端上,php運行在服務器上,所以你將不得不回調服務器來運行它,這意味着AJAX或黑客。 –

回答

0

的一種方式,我覺得是,你可以傳值的URL,然後取這裏面的PHP。

function getParameterByName(name, url) { 
     if (!url) { 
      url = window.location.href; 
     } 
     name = name.replace(/[\[\]]/g, "\\$&"); 
     var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"), 
      results = regex.exec(url); 
     if (!results) return null; 
     if (!results[2]) return ''; 
     return decodeURIComponent(results[2].replace(/\+/g, " ")); 
    } 

    var id = getParameterByName('id'); 

    if(!id) 
    { 
     var id =window.confirm("Did You want to overwrite the file...");   
     window.location.href = "test.php?id="+id 
    } 

在我們的情況下,它是id,如果id設置爲true,則執行其他任何你想做的事情。

$id = $_GET['id']; 

if($uploadedby==$name && $id == true) 
{ 
    move_uploaded_file($file_loc,$folder.$file); 
    $sql="update pubfiles SET filename='$file',owner_name='$name',upload_time='$file_time',size='$file_size' WHERE content='$unique';"; 

    $qry=mysql_query($sql,$conn); 
    if($qry>0)$check="yes"; 
} 

在javascript信用URL分析:

How can I get query string values in JavaScript?

0

您不能執行JavaScript的內部MySQL或PHP命令,你可以做什麼,而不是是讓一個PHP函數,你可以調用由Ajax。最好的方法是使用jQuery或通過URL中的PHP函數重定向頁面。

請表幹一看:How to execute the code inside javascript confirm box

<script type="text/javascript"> 
    if (confirm("This seems to be Duplicate. Do you want to continue ?")) 
    { 
     $.ajax({ 
      url: 'your_path_to_php_function.php', 
      type: 'POST', // Or any HTTP method you like 
      data: {data: 'any_external_data'} 
     }) 
     .done(function(data) { 
      // do_something() 
     }); 
    } 
    else 
    { 
     window.location = 'your_url?yourspecialtag=true' 
    } 
</script>