0

ここに私の問題があります:

「myshopingonline」という CMS で連絡フォームを作成するように依頼されました。この Web サイトの元開発者は、自分の Web サイトから php スクリプト (email.php) でフォームを送信する html 連絡フォームを既に追加しています (他のドメイン名、Web サイト A は POST データを Web サイト B の email.php スクリプトに送信します)。

私はこの myshopingonline CMS をまったく知らないので、最初に考えたのは、フォームをコーディングする代わりにプラグインを使用することでした。どうやら、プラグインはありません。2 番目の解決策: CMS ダッシュボードで PHP をコーディングできないため、ftp クライアントで追加する php ファイルを作成します。問題は、私が ftp アクセス権を持っていないことです (ftp アクセス権がある場合は、おそらくこのソリューションを使用します)。

その html フォームを機能させるように私に依頼した人々は、フォームが元の開発者に電子メールを送信していると私に言っていました。だから私は興味がありました:ドメインAからドメインBにPOSTデータを送信し、ドメインAがそれを行う代わりにドメインBスクリプトが電子メールを送信します(サービスのようなものですか?)。

そこで、機能するはずだったこの方法を試すためだけに、ドメインの 1 つにサブドメインを作成しようとしました。したがって、古典的なドメイン B スクリプトの冒頭は次のとおりです。

    if (!isset($_POST['submit'])){
        echo 'ERROR';
...

ドメイン A からのフォームは で終了します:

 <input name="submit" value="submit" type="submit" />

そして驚くことではありません:エラーメッセージが表示されます(フォームが同じドメイン上にあり、正常に機能しているときにフォームが機能しているかどうかを確認しようとしました...)。だから私の質問は次のとおりです。それを機能させることは可能ですか? これを機能させるということは、ドメイン B が A からの POST データを「受け入れ」、それらのデータを使用してスクリプトを実行することを意味します。

サービスやAPIを構築するのと同じだと思いますか?

よろしくお願いします。

4

1 に答える 1

1

それは可能です。

ドメイン A にあるこの例を考えてみましょう (コードを更新し、method="post" を追加しました):

<html>
<body>
<form action="http://domainB.example.com/email.php" method="post">
<input name="data" value="test data" type="text" />
<input name="submit" value="submit" type="submit" />
</form>
</body>
</html>

そのフォームはドメイン A でホストされ、ドメイン B で php スクリプトを実行します。ここで、ドメイン B に次の php スクリプトがあるとします。

<?php
  if (!isset($_POST['submit'])){
    echo 'ERROR';
  else
    echo 'POST request received';
?>

ここで、ドメイン A のページにアクセスして、送信ボタンをクリックし、何が起こるかを確認します (「送信」ボタンを押すと、Web ブラウザーのアドレスも変更されます)。

于 2013-06-08T09:11:52.647 に答える