在POST之后保持表单值作为python文件的参数

时间:2016-06-21 22:28:25

标签: php python mysql forms

我有一个表单,其中一个提交到一个php文件并将值插入DB(MySql)。在成功将值插入DB后,我想在另一个php文件中使用此参数表单的值作为python文件当我提交时。

file register.php - >文件description.php(按钮开始) - >文件exucuter.php(执行pythonfile)

1 个答案:

答案 0 :(得分:1)

在执行数据库插入后,如果您

,而不是重定向到 exucuter.php
include 'exucuter.php';  // (assuming they are in the same directory)
数据库完成其工作后, description.php 中的

,您应该能够直接使用 exucuter.php $_POST的值。这样您就不必担心将它们存储在某处或在两个脚本之间传输它们。

如果您的第二个脚本( description.php )在第三个脚本( exucuter.php )运行之前需要一些额外的用户交互,那么您就不能包括 exucuter.php ,你需要一种方法来保留第一个脚本的值。有不同的方法:将它们存储在会话或文件或数据库中,将它们放在 description.php 中的表单操作的查询字符串中,或​​将它们包含为隐藏的输入。以下是使用隐藏输入的示例:

<强> register.php

<form action="description.php" method="POST">
    <label for="x">X: </label><input type="text" name="x" id="x">
    <input type="submit" value="Register">
</form>

<强> description.php

<?php if (isset($_POST['x'])) {  /* Do your DB insert */; } ?>
<form action="exucuter.php" method="POST">

    <!--Use a hidden input to pass the value given in register.php-->
    <input type="hidden" name="x" value="<?php isset($_POST['x']) ? $_POST['x'] : ''; ?>">

    <label for="y">Y: </label><input type="text" name="y" id="y">
    <input type="submit" value="Execute">
</form>

<强> exucuter.php

<?php 
if (isset($_POST['x']) && isset($_POST['y'])) {
    // execute your python program
}