2017-10-22 3 views
-1

私はPythonを使ってウェブサイトを作ろうとしています。ボタンを押すと送信ボタンがあるWebページがあります。私は、出力テキスト、ページのHTMLコードはこれです、私はボタンが押されたとき、それは別のPythonのファイルから値を出力するPHPスクリプトを実行します取得しようとしていますAnswers.pyHTMLフォームを送信するときにPHPコードを実行するにはどうすればいいですか?

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> 
<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; 
    } 
?> 
+1

、追加「エコー 『済提出してください。』;」 PHPのIF条件で。フォームを送信した後に表示される場合、問題はPythonの機能にあります。 –

+3

私はこれを正しく理解しているかどうかまだ疑問に思っています。あなたはFlaskサーバーをPythonで実行しています.FTPスクリプトを実行し、別のPythonスクリプトを実行する必要がありますか? –

答えて

1

PHPスクリプトは、HTMLページで決して参照されません!

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

あなたがそうのように、<form>タグのaction属性でPHPスクリプトを参照する必要があります:バグを見つけるためには

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

それはまだ表示されません、私はPHPファイルとしてそれを呼び出すことを試みたが、まだ表示されません – JayE

+1

JayE、Ofir Barukが最初に言ったものを試してください、 'echo"はsubmitされた ";"を返します。 「submit done」がページに表示されている場合は、「exec」に問題があります。実際には、Pythonスクリプトの名前に空白が入っていて、まったく呼び出されないことがあります。PHPのデバッグモードも 'ini_set( 'display_errors'、 ' '); ' ' error_reporting(E_ALL); 'PHPスクリプトの先頭に – oldMammuth

関連する問題