2016-04-29 21 views
0

私はcontact usフォームを作成しています。その中でHTMLとPHPを使用しています。私の疑問は、送信ボタンをクリックした後にメールに送信されません。私は自分のコードで間違っています。 ここではフォームを作成メールでの送信に失敗しました。

<form action="sendmail.php" method="post" > 
    <table width="100%" border="0"align="center"cellpadding="3"cellspacing="1"> 
     <tr> 
     <td width="10%">Subject</td> 
     <td width="2%">: </td> 
     <td width="82%"><input name="name" type="text" id="name" size="50"></td> 
     </tr> 
     <tr> 
     <td>Detail</td> 
     <td width="2%">: </td> 
     <td width="82%"><textarea name="detail" cols="50" rows="4"id="detail"></textarea></td> 
     </tr> 
     <tr> 
     <td>Email</td> 
     <td>: </td> 
     <td><input name="customer_mail" type="text" id="customer_mail" size="50"></td> 
     </tr> 
     <tr> 
     <td>Name</td> 
     <td>: </td> 
     <td><input name="name" type="text" id="name" size="50"></td> 
     </tr> 
     <tr> 
     <td><input type="submit" name="send" value="Submit"> 
      <input type="reset" name="submit" value="Reset"> 
     </td> 
     </tr> 
    </table> 
</form> 

PHPコードのための私のHTMLのコードは以下の通りです:

<?php 
    $subject="$subject"; 
    $message="$detail"; 
    $mail_from="customer_mail"; 
//From 
$header="from: $name <$mail_from>"; 
//Enter your email address 
$to="[email protected]"; 
$sendmail=mail($to,$subject,$message,$header); 
//check mail send to ur mail 
if($sendmail){ 
    echo"success"; 
} 
else{ 
    echo"Error"; 
} 
?> 
+0

は、このコードのための任意の出力がありますか? – kejsu

+0

@kejsu、PHPコードが上に投稿されています...出力されています –

+0

$ _POST ['name'] ......このような値とメール変数への代入を取得します。 –

答えて

0

あなたは$ _POSTを使用して、フォームからのデータを持つ変数を充填していないので、これが動作しません['']。

HTMLを変更するが、このPHPをしようとしません。

<?php 
$subject = $_POST['subject']; 
$message = $_POST['detail']; 
$mail_from = $_POST['customer_mail']; 
$header = "from: $name <$mail_from>"; 
$to  = "[email protected]"; 

//check mail send to ur mail 
if(mail($to,$subject,$message,$header)){ 
    echo"success"; 
} 
else{ 
    echo"Error"; 
} 
?> 

私は、フォームからの$ _POSTデータを用いて被験者、メッセージとMAIL_FROMを定義しています。 ifステートメントでは、mail()関数を変数として格納している部分を削除し、そのままifに挿入します。

これは同時に電子メールを送信し、同時にチェックします。

私のテストでは、電子メールは機能しましたが、一部のフィールドが不足していて定義されていないために欠陥がありましたが、上記の問題が最初の問題を解決すると思います。 :)

+0

まず、$ subjectと$ detailの変数はどこにありますか? – kejsu

+0

私はそれを試してみましょう –

1

これを試してください。

<?php 
if(isset($_POST['send']) && !empty($_POST['send'])) { 
$subject = $_POST['subject'];//if you sent by post method else put manually 
$message = $_POST['detail']; 
$mail_from = $_POST['customer_mail']; 
$header = "from: $name <$mail_from>"; 
//Enter your email address 
$to = "[email protected]"; 
$sendmail = mail($to, $subject, $message, $header); 
//check mail send to ur mail 
if ($sendmail) { 
    echo "success"; 
} else { 
    echo "Error"; 
} 
} 

?> 
+0

私はお試しして返信させてください –

関連する問題