停止直接执行PHP代码,无需单击按钮

时间:2012-08-27 07:03:08

标签: php javascript buttonclick

我需要让下面的代码停止直接执行代码而不点击按钮。我希望函数在单击按钮时运行。谢谢你的帮助

<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>

4 个答案:

答案 0 :(得分:2)

执行此操作的唯一方法是制作表单或更改网址,例如window.location并检查变量。你不能像这样混合Javascript和PHP

script.php

<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>

答案 1 :(得分:0)

你的HTML无效。您的</script>代码应位于</head>代码

之前

如果你真的只想在按下按钮时执行它,那么你应该考虑使用ajax或使用<form>

答案 2 :(得分:0)

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

答案 3 :(得分:0)

您可以使用ajax-request执行此操作,例如,使用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');