-2

PHP フォーム プロセッサを使用してクライアント用の小さな Web サイトを作成しています。私が望むのはmailto、Web サーバーで PHP が使用できない場合に、コンタクト フォームがメソッドにフォールバックすることです。奇妙に思えますが、どこにでもデプロイできるようにする必要があります。

今私は持っています:

form method="post" action="my_form_processor.php"

とにかくこれを処理する方法はありますか?

4

3 に答える 3

1

これは悪い考えです。クライアントがサーバーサイド言語のインストールを拒否した場合、動的なWebサイトを取得できません。

楽しみのために、おそらく次のようなことをすることができます:

<script>
    if ('<?php ?>'.length != 0) {
        $('#form').attr('action', 'mailto:fallback@example.com');
    }
</script>
于 2012-12-13T01:25:26.353 に答える
1

ディレクトリに index.html と index.php の 2 つのファイルを提供できます。フォームの動作を除いて、内容は同じです。

php がインストールされている場合、(通常、サーバーの構成に基づいて変更される可能性があります) ホームページを提供するときに index.html よりも index.php が優先されます。php が存在しない場合、サーバーは代わりに index.html を提供します。

リンクするときは、ファイルではなくディレクトリに移動してください。たとえば、example.com/foo/index.php の代わりに example.com/foo/ にリンクします。

私はあなたが何か他のことをしたいかもしれないというコメントに同意します.

于 2012-12-13T01:20:01.330 に答える
1

これは悪い考えのように思えますが、技術的に解決するのはそれほど難しくありません。

  • PHP を使用して JavaScript 変数を設定します。var myVar = "<?php echo 'php'; ?>";
  • JavaScript でテストし、フォームmyVar === 'php'の属性を変更します。actionfalse

もちろん、これは訪問者が JavaScript を無効にしている場合にも失敗するため、クライアントにサーバー要件のリストを提供することをお勧めします。

于 2012-12-13T01:21:44.403 に答える