2017-11-08 4 views
0

私は、別のページBでのみ利用できるサービスを使用する必要のあるPHPスクリプトで作成されたWebページAを持っています。 。この特定の例では、ページAは非ワードプレスページであり、ページBはワードプレスによって生成されるページである。問題のサービスは、WPプラグインによって提供される特定の形式で電子メールを送信しています。別のページのサービスを表示せずに使用する

私は、電子メールコンテンツを生成してそのコンテンツをページBに送信し、プラグインの助けを借りてその電子メールを適切な形式で送信し、ページAに制御を戻します。完全に実行可能ですが、私が追加したいのは、ページBが表示されないことです。訪問者は常にページAだけを扱っているという印象を持っているはずです。それはできますか?あれば、どうですか?

私はこれをWordPressの質問にするつもりはありませんが、他のページを表示せずに別のページのスクリプトを使用することについてはもっと一般的です。

答えて

1

アドオンを直接使用するのが最も信頼性の高い方法ですが、できない場合は、2番目に簡単にcurlを使用してBページのフォームを模倣します。ユーザはそれが起こっているのを見ないだろう。

POSTリクエストで送信する必要がある内容を理解するには、ブラウザの開発者ツールを開いて、フォームを手動で送信するときにネットワークタブを見て、URLとすべての投稿データを取得します。それから、あなたはそれを模倣することができます。

+0

以前はカールを聞いたことがありませんが、正確には私が探しているようです。どうもありがとう。この記事では、カールを使用してデータをPOSTする方法を理解するのに役立ちました。 https://davidwalsh.name/curl-post – danbae

+0

ページBからの出力がデフォルトで表示されることを迷惑に思います。変数が格納されていれば、コーダーが何をするべきかを決めることができます。 PHPのカールコードを目に見えないdivの中に入れて解決しました。 – danbae

+0

私はそれを取り戻し、ちょうどCURLOPT_RETURNTRANSFERについて知りました https://stackoverflow.com/questions/18203411/save-curl-display-output-string-in-variable-php – danbae

1

あなたはhttp://SITEB.com/whateverへのプロキシhttps://SITEA.com/siteB/whateverも ​​- あるいは他の方法で回避...私は完全にプロセスを理解していない:P

あなただけのSiteBのサービスコールをしたい場合、あなたはまた、経由でリクエストを送信することができカールやあなたの選択したHTTPライブラリーがあります。ノンスを最初に取得し、そのようなことをする必要があるため、より良いかもしれません。

関連する問題