2017-02-20 9 views
1

フォームが自分のPHPファイルから送信された後、それがチェックされ、exec関数を呼び出して、コードにリストされている2番目のファイルを使用するバイナリファイルを実行します。以下に示す:PHP ExecからJavascriptファイルへ引数を渡す方法

if (isset($_POST['admin']) && !empty($_POST['admin'])) { 
    echo exec('/home/mainshee/public_html/wp-content/themes/twentyseventeen/phantom/phantomjs-directory/bin/phantomjs /home/mainshee/public_html/wp-content/themes/twentyseventeen/phantom/phantomjs-directory/examples/bigdaddy.js'); 
} 

ここでの問題は、前のjavascriptファイルbigdaddy.jsが機能するために、独自の3つの引数を取ることがあるということです。この問題を解決するため、次のように試しました。

echo exec('/home/mainshee/public_html/wp-content/themes/twentyseventeen/phantom/phantomjs-directory/bin/phantomjs /home/mainshee/public_html/wp-content/themes/twentyseventeen/phantom/phantomjs-directory/examples/bigdaddy.js' $_POST['admin'] $_POST['user'] $_POST['password']); 

これはどのように行うことができますか?私が見つけた可能な解決策はすべて、PHPからPHPへ、PHPからJavascriptへの詳細な発見でした。皆さんありがとう!

答えて

1

サーバーが値を処理する前に、javascript変数をサーバーにポストバックする必要があります。これを行うには、フォームを送信するjavascript関数をプログラムするか、ajax/jqueryを使用できます。 jQuery.post

はたぶん、あなたのために最も最も簡単な方法は、あなたのjavascriptが実行された後、あなたが$ _GET [「name」を]使用することができますあなたのmyphpfile.phpでこの

function myJavascriptFunction() { 
    var javascriptVariable = "John"; 
    window.location.href = "myphpfile.php?name=" + javascriptVariable; 
} 

のようなものです。

+0

これらのソリューションのどちらも、機密情報であるため、フォームを通じて送信される情報として機能しません。私は、フォームを送信するjavascript関数についてより多くの研究をする必要があります。 – Ethan

関連する問題