【问题标题】:How can my PHP code run when i submit a HTML form当我提交 HTML 表单时,我的 PHP 代码如何运行
【发布时间】:2017-10-22 09:41:41
【问题描述】:

我正在尝试使用 python 制作一个网站,在烧瓶中我有一个带有提交按钮的网页,当按下该按钮时,我需要它来运行一个名为 Answers.py 的 python 文件

from flask import Flask, request, render_template, send_from_directory

app = Flask(__name__)
@app.route('/help', methods=["GET","POST"])
def help():
    return render_template("help.html")

页面上的 HTML 代码是这样的,我试图在按下按钮时运行一个 php 脚本,该脚本从单独的 python 文件输出值,即输出文本。

<html>
<body>
<form action="" method="post">
    <button type="submit" name="sub" value="Hello world">Submit 
call</button>
</form>
</body>
</html>

我已经在与 HTML 相同的文件中尝试了这个 php 代码,但是当我按下按钮时没有任何输出,我是 php 新手,所以我不确定问题是什么。

<?php
if(isset($_POST['sub']))
    {
        $result = exec("Python Path Answers.py /tmp");
        echo $result;
    }
?>

【问题讨论】:

  • 为了定位bug,添加'echo "submit done.";'在 php 的 IF 条件下。如果提交表单后出现,则问题出在python的函数上。
  • 我仍然想知道我是否理解正确:您正在用 Python 运行一个 Flask 服务器,它应该运行一个 PHP 脚本,然后运行另一个 Python 脚本?

标签: php python html flask exec


【解决方案1】:

php 脚本永远不会在 html 页面中被引用!

<form action="" method="post"><!-- action there is empty! -->

你应该在&lt;form&gt;标签的action属性中引用php脚本,像这样:

<form action="myscript.php" method="post">

【讨论】:

  • 它仍然没有显示,我尝试将它称为 php 文件但它仍然没有显示
  • JayE,试试 Ofir Baruk 首先说的,即注释掉 php 脚本中 if 的内容并添加一个 echo "submit done"; 来检查它是否被调用;如果页面中出现“提交完成”,则说明存在不可告人的问题,即在exec;事实上,我可以在那里看到 python 脚本的名称中有空格,也许它根本没有被调用......你也可以使用ini_set('display_errors', 'On');error_reporting(E_ALL); 来打开 php 调试模式php 脚本的开头
猜你喜欢
  • 2018-01-21
  • 2015-08-07
  • 1970-01-01
  • 2017-05-20
  • 2013-08-13
  • 1970-01-01
  • 1970-01-01
  • 2019-04-26
  • 1970-01-01
相关资源
最近更新 更多