首页 > 解决方案 > 将 PHP POST 请求中的值连接到要执行的 python 脚本中的变量

问题描述

以一个简单的 php 表单为例,例如,

<html>  
<body>

<form action="welcome.php" method="post">
Name: <input type="text" name="name"><br>
<input type="submit">
</form>

</body>
</html>

是否可以将用户输入的任何值发布到 python 脚本中,即 app.py,它有一个名为“name”的变量,例如:-

name = #This Variable needs to be populated with the value the user inputs to the form
print(name + " "+ "is my name")

对这个模糊的问题表示歉意,但我对编程很陌生,如果可能的话,如果有人至少能指出我正确的方向,那就太好了。这里的另一个疑问是单击提交按钮如何触发 python 脚本。

标签: pythonphpvariablespost

解决方案


您的表单已经在发送 POST 请求,因此如果它在 Web 服务器上运行,将其直接发布到您的 Python 应用程序更有意义。如果出于某种原因您想将 HTTP 请求传递给另一个 Web 应用程序,您可以使用 PHP CURL 扩展。看看这个PHP + curl, HTTP POST 示例代码?而这个https://www.php.net/manual/en/curl.examples-basic.php

如果 Python 应用程序未在 Web 服务器上运行,您可以从 PHP 应用程序将其作为命令行脚本调用。它看起来像这样:

<?php
// welcome.php

$name = $_POST['name'];
$pythonScriptCall = 'python3 app.py name=' . $name;
$pythonScriptResult = '';
exec($pythonScriptCall, $pythonScriptResult);
echo $pythonScriptResult;

推荐阅读