最近、私は連絡フォームを機能させようとしてきましたが、何時間もの闘争の末、ついに機能しました。 http://trulyamped.com/democon/contact2.php このコンタクト フォームは問題なく動作し、メールは私のアカウントに送信されます。私が知りたかった唯一のことは、連絡先フォームを .html ファイルで機能させる方法でした。.php ファイルに入れたくありません。ファイルを .html ファイルとして保存しようとしましたが、うまくいきませんでした。私にお知らせください。だから私はそれがcontact2.htmlであり、それでも機能することを望んでいます。
3 に答える
メール処理ロジックのみを含む 2 番目のページを作成する必要がありますemail.php
。次に、投稿するフォームを更新してemail.php
、このページをファイルにcontact2.html
投稿する限り動作するように変更できるようにしましょう。.php
<form id="contact-us" action="email.php" method="post">
あなたの賭けは、メイン フォームに AJAX を使用することですが、メール送信を処理するためにサーバー側のスクリプト ページが必要です。私の知る限り、クライアント側からメールを送信することはできません。
そう
- 実際にメールを送信する PHP ページを別のスクリプト ファイルに用意する
- HTML でフォームを作成し、AJAX を使用して HTML ページ内からメール送信スクリプトを呼び出します。
このようにして、ページを html で作成し、バックグラウンドでメール送信を行うことができます。
ページを .html 拡張子で保存することに関しては、もちろん機能しません。ページにはサーバー側の PHP が含まれており、Web サーバーを実行する必要がありますが、html は任意のデバイスの単純なブラウザーで実行できます。
まず、なぜそれが問題なのですか?
しかし、それが重要であると仮定すると、おそらくいくつかのオプションがあります。それらは、コードが存在する場所と現在の動作によって異なります。ページにサーバー側で実行する必要がある PHP コードがある場合は、サーバー側の PHP インタープリターで処理する必要があります。HTML ファイルでこれを行うには、ファイルをサーバー側処理用の.html
ファイルと同じように扱うようにサーバーを構成する必要があります。.php
ただし、これは理想的ではありません。HTML 自体は、PHP インタープリターを介して実行する必要はありません。そのため、PHP ファイルと HTML ファイルは分けておくことをお勧めします。
もう 1 つのオプションは、クライアント側の HTML フォームとサーバー側の PHP コードを 2 つの別個のファイルに分割することです。contact.html
とのようなものcontactProcessor.php
。HTML ファイルでは、フォーム内の PHP ファイルに投稿するだけです。このようなもの:
<form action="contactProcessor.php" method="post">
これにより、フォームはデータを PHP ファイルに投稿します。次に、PHP ファイルはデータを処理し、現在サーバー側で行っていることを実行し、応答としてユーザーを別の HTML ファイルにリダイレクトします。したがって、ユーザーが PHP ファイルを「表示」することは決してありません。フォーム投稿を処理するために使用されるものは 1 つだけです。
繰り返しますが、なぜそれが重要なのか想像できません。