1

少し助けが必要です。PHP コード (lulzy.php という名前の別のファイルとして保存されている) を機能させようとしていますが、機能したくありません。私が間違っているのは何ですか?

私の目標は、ユーザーのメッセージを直接電子メールの受信ボックスに入れ、ユーザーが Web フォームに入力した直後に受け取ることです。

ここに私の JSFiddle へのリンクがあります: http://jsfiddle.net/8S82T/127/

そして、ここに私のPHPコードがあります:

<?php
  $name= $_REQUEST['name'] ;
  $email = $_REQUEST['email'] ;
  $message = $_REQUEST['message'] ;

  mail( "mymail@gmail.com", "Feedback Form Results",
    $message, "From: $email" );
  header( 'Location: Index.html' );
?>

すべてがデスクトップの同じフォルダーにあります。

これは、フォーム全体に入力してメッセージを送信しようとしたときに受け取るメッセージです。

Firefox は /C:/Users/MS/Desktop/Slide Down Contact Me Form/lulzy.php でファイルを見つけることができません

4

4 に答える 4

6

フォーム入力のそれぞれに name 属性が必要です

<input type="text" name ="fullName" placeholder="Please enter your full name here" required />

emailtextarea、およびmethod='post'の代わりに同じaction='post'

PHP は、デスクトップではなくサーバー上にある必要があります。

于 2013-05-26T13:39:33.173 に答える
2

name 属性を追加するのを忘れました:

<form action="lulzy.php" method="post">
        <h6><img src="img/person.png" alt="" /> Name</h6>

    <input name="name" type="text" placeholder="Please enter your full name here" required />
        <h6><img src="img/email.png" alt="" /> E-mail</h6>

    <input name="email" type="email" placeholder="Please enter your e-mail address" required/>
        <h6><img src="img/message.png" alt="" /> Message</h6>

    <textarea name="message" placeholder="Type your message..." required/></textarea>
    <input type="submit" value="Submit">
</form>
于 2013-05-26T13:39:38.097 に答える
2

method="POST"代わりに必要ですaction="post"

アクションを 2 回宣言しmethod、フォームが PHP スクリプトにどのように投稿されているかをまったく宣言していない

また、他の回答の状態のような名前属性についても

于 2013-05-26T13:43:57.847 に答える
1

ここでの回答には、このエラーメッセージの実際の解決策が含まれていないと思います:

Firefox は /C:/Users/MS/Desktop/Slide Down Contact Me Form/lulzy.php でファイルを見つけることができません

これは、

  • HTML をローカル ハード ドライブから開いている (ローカル Web サーバーから提供するのではなく)
  • したがって、そこには PHP プロセッサがありません (ただし、lulzy.phpは指定されたフォルダーには実際には存在しないようです)。

nameさらに、フォーム フィールドに属性を追加するのを忘れており (他の人がここで既に述べているように)、メソッド属性をフォームのアクションとして誤って宣言しました。

<form action="lulzy.php" action="post">

<!-- This should be right: -->
<form action="lulzy.php" method="post">


キャプチャを使用しますか? OPのコメントを参照)
フォームから直接メールを送信し続ける場合は、間違いなく追加します。そこにはいくつかのライブラリがあります - あなたのトラフィック (プライベートまたは商用サイト?) に応じて - reCAPTCHAを使用するかもしれません。独自に作成することもできますが、画像の代わりに知的な質問や人間だけが解決できるものを使用することをお勧めします。

ただし、ユーザーのことも考慮する必要があります。スパム対策とユーザー エクスペリエンスの可能性

人間を検証する以外の完全に別のオプションは、電子メールを (個人の) 電子メール アドレスに送信せず、代わりにデータベースに保存し、簡単な通知システムを独自に作成することです。こうすることで、よりきめ細かなフィルター制御が可能になります。

于 2013-05-26T13:50:13.120 に答える