2

重複の可能性:
PythonスクリプトへのHTMLフォームPOST?

だから私は次のようなコマンドラインパラメータを使用するperlスクリプトを持っています:

./gen_cards_md5.pl --num_cards = 1000 --num_seeds = 10

上記のスクリプトを呼び出して、フォームに入力されたparamsを渡して送信するために、php Webページを作成しようとしています。これは、おおよそ私が持っているものです。

echo <<<_END
<html>
    <head>
        <title>Generate Card Numbers Test</title>
    </head>
    <body>
    Number of Cards: $num_cards<br />
    Number of Seeds: $num_seeds<br />
    <form method="post" action="gen_cards_md5.pl">
        Enter number of Cards to generate: <input type="text" name="num_cards" /> <br />
        Enter Number of Seeds: <input type="text" name="num_seeds" /> <br />
        <input type="submit" name="params" value="params"/>
    </form>
    </body>
</html>
_END;

だから、おそらく私がこれでどこに行くのか推測できます、phpはperlを呼び出していますが、コマンドラインパラメータを渡していません。何が渡されているかを確認する簡単な方法はありますか(何かが渡されている場合)、または誰かが投稿をPerlスクリプトに取り込むために投稿を「フォーマット」する方法を教えてくれるほど理解していますか?注:私はPythonを学んでいるだけで、phpやperlをハックすることすらしていないので、何が起こっているのかを確認し、自分の質問に答えられるようにする方法を知りたいのですが、時間の都合上、この大きなhonkinのperlスクリプトを取得して、HTMLページを介した入力から実行する必要があります。そう言ったので、私はそれを.phpにする必要があるのだろうかと考えています。HTMLをPerlに直接移行しないことで、物事をより複雑にしているだけですか?私は逸脱し、言い換えます。コマンドライン引数を受け入れるPerlスクリプトが機能している場合、Webインターフェイスを介して、コマンドラインのように期待するパラメータを渡すにはどうすればよいですか?TIA!JP

4

1 に答える 1

1
<form method="post" action="somephpfile.php">

if (count($_POST) > 0){
     $num_cards = (isset($_POST['num_cards'])) ? (int)$_POST['num_cards'] : false;
     $num_seeds = (isset($_POST['num_seeds'])) ? (int)$_POST['num_seeds'] : false;
     if($num_cards !== false && $num_seeds !== false){
        exec("./gen_cards_md5.pl --num_cards={$num_cards} --num_seeds={$num_seeds}", $outputArray);
     }else{
         die('Number of cards or number of seeds not provided.');
     }
}
于 2012-11-15T23:06:26.837 に答える