2016-11-18 4 views
0

私は、POSTメソッドを使ってフォームを送信する必要がある簡単なhtmlフォームを持っています。フォームの内容をmail.phpに送信して電子メールを送信します。私は、次のコードを使用して、サーバー上で作業PHPのメール機能を確認しました:フォームが提出されていません

$headers = 'From: [email protected]'; mail('[email protected]', 'test email yo', 'This is a test email message', $headers, '[email protected]'); 

次のように私がメールを送信するために使用しているPHPのコードは次のとおりです。

mail('[email protected]', $_POST['name'], $_POST['email'], $_POST['phone'], $_POST['message']); 

する必要がありますHTMLフォームを情報を送信することはこれです:私は、フォームの内容はメールで通ってくるために取得することはできません

<form id="contact-form" class="contact-form" method="post" action="mail.php"> 
    <div class="success-message">Contact form submitted.</div> 
    <div class="coll-1"> 
     <p class="mbot3">Name*</p> 
     <label class="name"> 
      <input type="text" placeholder="" data-constraints="@Required @JustLetters" name="name"/> 
      <span class="empty-message">*This field is required.</span> 
      <span class="error-message">*This is not a valid name.</span> 
     </label> 
    </div> 
    <div class="coll-2"> 
     <p class="mbot3">E-mail*</p> 
     <label class="email"> 
      <input type="text" placeholder="" data-constraints="@Required @Email" name="email"/> 
      <span class="empty-message">*This field is required.</span> 
      <span class="error-message">*This is not a valid email.</span> 
     </label> 
    </div> 
    <div class="coll-3"> 
     <p class="mbot3">Phone</p> 
     <label class="phone"> 
      <input type="text" placeholder="" data-constraints="@JustNumbers" name="phone"/> 
      <span class="empty-message">*This field is required.</span> 
      <span class="error-message">*This is not a valid phone.</span> 
     </label> 
     </div> 
     <label class="message"> 
      <span class="mbot3">Message*</span> 
      <textarea placeholder="" data-constraints="@Required @Length(min=20,max=999999)" name="message"></textarea> 
      <span class="empty-message">*This field is required.</span> 
      <span class="error-message">*The message is too short.</span> 
     </label> 
    <div> 
     <a href="#" data-type="submit" class="btn-link btn-link1"><img src="img/arrow1.png" alt="">submit</a> 
     <p class="req">* Required fields</p> 
    </div> 
</form> 

、私は問題はフォームであることを、おそらく間違って仮定することだし、それは目を投稿する機能です電子情報をPHPに?

このコードは事前テンプレートのものですが、私は自分で書きませんでした。

編集:私が問題を修正していない名前属性を追加しました。現在のコードを反映するようにHTMLを更新しました。

Edit2:問題を解決しました。私はid = "contact-form"を削除しなければなりませんでした。そこから元のフォームからスタイルを取り出し、新しいIDに追加して置き換えました。

+1

は、このののような入力タイプにname属性を与え、その後にその名前を取得しよう$ _POST –

+0

**

+0

@NIMESHPATEL name = "name" not name = "first_name"は$ _POST ['name']として受け取ります。 – PassionInfinite

答えて

3

あなたは$ _POST [ '名前']から受けているとしてname属性同じ名前を持つ必要があり入力し、テキストエリアフィールドに

<input type="text" placeholder="" data-constraints="@Required @JustLetters" name = "name"/> 

名前を逃しました

+0

私は名前の属性を追加しましたが、メールはまだ届きません。 – benikens

+0

電子メールの入力タイプ=テキストを電子メールに変更します。 – PassionInfinite

+0

これを追加しましたが、サイコロはまだありません。 – benikens

0

HTMLコードのこれらのフィールドを確認してください。

<input type="text" placeholder="" data-constraints="@Required @JustLetters" /> 
<input type="text" placeholder="" data-constraints="@Required @Email" /> 
<input type="text" placeholder="" data-constraints="@JustNumbers"/> 
<textarea placeholder="" data-constraints="@Required @Length(min=20,max=999999)"></textarea> 

そして、次のコードに置き換えて、name属性、name属性を追加してフォームを送信した後にフォームデータを参照するのに使用されませんでした。

<input type="text" name="name" placeholder="" data-constraints="@Required @JustLetters" /> 
<input type="text" name="email" placeholder="" data-constraints="@Required @Email" /> 
<input type="text" name="phone" placeholder="" data-constraints="@JustNumbers"/> 
<textarea name="message" placeholder="" data-constraints="@Required @Length(min=20,max=999999)"></textarea> 
+0

これを追加しましたが、それでも動作しません – benikens

関連する問題