2016-07-18 37 views
-1

フォームの「送信」ボタンをクリックしてメールを送信しようとしていますが、指定されたフォームを送信した後、「あなたのメールは正常に送信されました!あなたのフィードバックありがとうございました」と表示されます。与えられた電子メールIDは、ユーザーがフォームに入力しました...私は与えられた問題を解決するのを助けてください!フォーム送信から電子メールを送信する方法は?

//secure_email_form.php 
<body> 

<div class="container"> 
<!-- Feedback Form Starts Here --> 
<div id="feedback"> 
<!-- Heading Of The Form --> 
<div class="head"> 
<h3>FeedBack Form</h3> 
<p>This is feedback form. Send us your feedback !</p> 
</div> 
<!-- Feedback Form --> 
<form action="#" id="form" method="post" name="form"> 
<input name="vname" placeholder="Your Name" type="text" value=""> 
<input name="vemail" placeholder="Your Email" type="text" value=""> 
<input name="sub" placeholder="Subject" type="text" value=""> 
<label>Your Suggestion/Feedback</label> 
<textarea name="msg" placeholder="Type your text here..."></textarea> 
<input id="send" name="submit" type="submit" value="Send Feedback"> 
</form> 
<h3><?php include "secure_email_code.php"?></h3> 
</div> 
<!-- Feedback Form Ends Here --> 
</div> 
</body> 

//secure_email_code.php 
<?php 
if(isset($_POST["submit"])){ 
// Checking For Blank Fields.. 
if($_POST["vname"]==""||$_POST["vemail"]==""||$_POST["sub"]==""||$_POST["msg"]==""){ 
echo "Fill All Fields.."; 
}else{ 
// Check if the "Sender's Email" input field is filled out 
$email=$_POST['vemail']; 
// Sanitize E-mail Address 
$email =filter_var($email, FILTER_SANITIZE_EMAIL); 
// Validate E-mail Address 
$email= filter_var($email, FILTER_VALIDATE_EMAIL); 
if (!$email){ 
echo "Invalid Sender's Email"; 
} 
else{ 
$subject = $_POST['sub']; 
$message = $_POST['msg']; 
$headers = 'From:'.'[email protected]'."\r\n"; // Sender's Email 
$headers = 'Cc:'.'[email protected]'."\r\n"; // Carbon copy to Sender 
// Message lines should not exceed 70 characters (PHP rule), so wrap it 
$message = wordwrap($message, 70); 
// Send Mail By PHP Mail Function 
mail("[email protected]", $subject, $message, $headers); 
echo "Your mail has been sent successfuly ! Thank you for your feedback"; 
} 
} 
} 
?> 
+0

あなたは 'アクション= "#" を'使用する理由? –

+0

あなたは本当のホストを持っていますか? – Hamid

+0

はい私は..... – Rkboss

答えて

1

メール機能が正しく実行されていないようです。 var_dumpなどでデバッグを試すことができます。

また、コードが論理的に間違っています。メール機能が正常に実行された場合にのみメッセージが表示されます。

$send_mail = mail("[email protected]", $subject, $message, $headers); 
var_dump($send_mail); // See what you get here. It'll probably show false. 

if ($send_mail) { 
    echo "Your mail has been sent successfuly ! Thank you for your feedback"; 
} else { 
    echo "Email sending failed!"; 
} 
+0

私は自分のコードを編集しました。それは "bool false)メールの送信に失敗しました! "エラー。 – Rkboss

+0

残念ながら、メール機能は、適切なエラーメッセージを表示するために十分に設定されていません。 trueとfalseのみを返します。より信頼できる方法が必要な場合は、PHP Mailerを使用する必要があります。 –

0

あなたはPHPファイルurlを使用するか、空白を使用する必要があります。ここではaction blankを使用する必要があります。

<form action="" id="form" method="post" name="form"> 

代わりに、フォームフィールドで

<form action="#" id="form" method="post" name="form"> 
関連する問題