2012-08-27 101 views
0

我需要讓下面的代碼停止直接執行沒有按鈕點擊的代碼。我想讓按鈕點擊它時運行該功能。感謝您的幫助停止直接執行沒有按鈕的php代碼點擊

<html> 
<head> 
<script language="javascript" type="text/JavaScript"> 
{ 
function popup() { 
<?php echo shell_exec('sh bash_test.sh') ?>; 
} 
}  
</script> 

</head> 
<body> 
<input type="button" onclick="popup()" value="popup"> 




</body> 
</html> 

回答

2

只有這樣,才能做到這一點是讓一個表單或更改url中的內容,如window.location並檢查變量。用PHP這樣的

script.php不能混合使用Javascript:

<html> 
<head> 
<script language="javascript" type="text/javascript"> 
    function popup(){ 
     window.location = 'script.php?run=shell'; 
    } 
</script> 
</head> 
<body> 
<input type="button" onclick="popup()" value="popup"> 
<?php 
if(isset($_GET['run']) && ($_GET['run'] == 'shell')){ 
    echo shell_exec('sh bash_test.sh'); 
} 
?> 
</body> 
</html> 
+0

我知道兩者不能混在一起。但無論如何執行shell文件,因爲我需要使用PHP以及。 和sh文件不是用提供的代碼執行的。謝謝你的回覆 – user1502809

+0

我有一個'!'錯誤地在那裏修改。如果你沒有權限,你應該知道你不能執行'shell'腳本。 –

+0

我有圓頂所有權限的東西d。我只嘗試php可以執行。但我需要使用按鈕點擊,所以這是我使用javascript時得到的問題 – user1502809

0

您的html無效。您</script>標籤應該是</head>標籤

之前,如果你真的想只有當你按下按鈕來執行它,那麼你應該考慮使用AJAX或使用<form>

+0

對不起。錯誤地複製和粘貼。但即使放在正確的位置,仍然會自動執行腳本,而無需按下按鈕 – user1502809

0

alert('<?php echo shell_exec('sh bash_test.sh') ; ?>');

+0

沒有工作。嘗試d – user1502809

0

你可以做到這一點使用AJAX請求,例如,使用jQuery:

<html> 
    <head> 
     <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> 
     <script language="javascript" type="text/JavaScript"> 
      { 
       function popup() { 
        $.post('someScript.php'); 
       } 
      }  
     </script> 
    </head> 

    <body> 
     <input type="button" onclick="popup()" value="popup"> 
    </body> 
</html> 

在「 someScript.php「你可以把命令

shell_exec('sh bash_test.sh');