停止直接执行php代码而不点击按钮

Stop direct execute php code without button click

本文关键字:按钮 代码 php 执行      更新时间:2023-09-26

我需要让下面的代码停止直接执行代码,而不需要点击按钮。我想在点击按钮时运行该功能。感谢的帮助

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

实现这一点的唯一方法是创建一个表单或更改url中的某些内容,如window.location并检查vars。你不能像那样把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>

您的html无效。你的</script>标签应该在</head>标签之前

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

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

您可以使用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');