2012-08-27 73 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');