2017-10-22 1 views
-1

나는 파이썬을 사용하여 웹 사이트를 만들려고하는데 플라스크에는 제출 버튼이있는 웹 페이지가 있습니다. 버튼을 누르면 파이썬 파일을 실행해야합니다. 내가 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 코드는이를 내가 버튼, 그것은 별도의 파이썬 파일에서 값을 출력하는 PHP 스크립트를 실행하는 출력 텍스트를 누를 때 얻기 위해 노력하고 있어요 .

<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 조건에서. 양식을 제출 한 후에 나타나는 경우 문제는 파이썬의 기능입니다. –

+3

나는 이것이 올바르게 해석되었는지 궁금해하고 있습니다. PHP 스크립트를 실행해야하는 Python에서 Flask 서버를 실행하고 있고 다른 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이 먼저 말했던 것을 시도해보십시오. 즉, PHP 스크립트에서 if의 내용을 주석 처리하고 추가하십시오 'echo "는"; "대신에 호출되며, 그것이 호출되는지 여부를 확인합니다. "submit done"이 페이지에 나타나면, "exec"에 문제가 있습니다. 사실 파이썬 스크립트의 이름에는 공백이 있고 거기에는 전혀 호출되지 않을 수도 있습니다 ... PHP 디버그 모드도'ini_set ('display_errors', ' ');' 'error_reporting (E_ALL);'PHP 스크립트의 시작 부분 – oldMammuth

관련 문제