在我的HTML页面和Python脚本之间传输数据



我有一个非常简单的HTML页面,可用于测试,其中具有简单的下拉菜单:

<!DOCTYPE html>
<html>
<head>
</head>
<body>
<select id="mySelect" onchange="copy();">
<option value="">Select a person:</option>
<option value="Value of m1" >m1</option>
<option value="Value of m2" >m2</option>
<option value="Value of m3" >m3</option>
 <option value="Value of m4" >m4</option>
</select>
<br>
<br>
<p>The value of your selected choice is: </p>
<div id="label"></div>
function copy() 
{
    var selected_value = document.getElementById("mySelect").value
    document.getElementById("label").innerHTML = selected_value
}
</script>
</body>
</html>

现在,我想将选择值转移到我的python脚本中。我的Python脚本具有一个函数,该函数使用传递的值作为参数来提供JSON文件。我想传递该值,然后在选择某些内容时运行脚本以产生我的JSON文件。这仅用于测试,但我的最终HTML页面将有多个与此相似的下拉页面,每个下拉页面都将一个值传输到我的python中,这将用作参数。一切都是使用本地主机在本地完成的。任何帮助将不胜感激!

它有点棘手。您必须使用表单将数据发送到PHP-WEB服务器。然后使用shell_exec($命令)运行带有参数的python脚本。

您的PHP脚本应该看起来像这样:

<?php
$input = $_GET['mySelect'];
//sanitize and check the input
$cmd = escapeshellcmd('/usr/custom/test.py -p ' . $input);
//escape the command
$output = shell_exec($cmd);
//run the script
echo $output;
?>

对您的用户输入进行消毒和检查非常重要,否则攻击者可以轻松获得服务器。

请参阅更多:http://php.net/manual/en/function.shell-exec.php

php.net的注释

当发生错误或程序产生>无输出时,此功能都可以返回null。无法使用此功能检测执行故障。>当需要访问程序退出代码时,应使用exec()。"


当PHP以安全模式运行时,该功能将被禁用。

最新更新