これは何度も回答されている問題だと確信していますが、問題を把握するのに時間を費やしても連絡フォームに問題があります。Jquery/Ajax連絡フォームがメールを送信しない
私がフォームを送信すると、私はsubmit.phpページにThank youメッセージでリダイレクトされますが、$ email_toアドレスには電子メールは送信されません。
それは私が間違ってやっているものがあるかどう
誰も私に言うことができるでしょう(これはしかし何も影響を与えるのだろうか?)このコードは、Wordpressのテーマ内であり、それは現在、私のローカルマシン上で実行されていることは注目に値しますここに?私はこのプラグインを間違って使用していると感じています。このAjaxゲームには全く新しいものです!
- jQueryのフォームプラグイン(http://pastebin.com/cC5899ns)
- jqueryの検証(http://pastebin.com/GyYuVwAH):私は、次のプラグインを使用してい
ここで
は私のHTMLです:
<div id="footer">
<h3>Contact</h3>
<div id="preview"></div>
<form name="form" id="form" action="<?php bloginfo('template_directory'); ?>/_/inc/submit.php" method="post">
<input type="text" value="Your name" name="name" />
<input type="tel" value="Your contact number" name="email" />
<textarea name="message">Quick Note</textarea>
<button>Submit</button>
</form>
</div>
の私のJS:
$(document).ready(function(){
$('#form').validate(
{
rules:
{
"name":{
required:true,
maxlength:40
},
"email":{
required:true,
email:true,
maxlength:100
},
"message":{
required:true
}},
messages:
{
"name":{
required:"This field is required"
},
"email":{
required:"This field is required",
email:"Please enter a valid email address"
},
"message":{
required:"This field is required"
}},
submitHandler: function(form){
$(form).ajaxSubmit({
target: '#preview',
success: function() {
alert('hello');
$('#foooter').slideUp('fast');
}
});
}
})
});
マイSubmit.php
<?php
include("db.php");
if($_SERVER["REQUEST_METHOD"] == "POST")
{
$name=mysql_real_escape_string($_POST['name']);
$email=mysql_real_escape_string($_POST['email']);
$message=mysql_real_escape_string($_POST['message']);
if(strlen($name)>0 && strlen($email)>0 && strlen($message)>0)
{
$email_to = "*********";
$email_from = $email;
$email_subject = "Contact Form";
$email_message = stripslashes($message);
$headers = 'From: '.$email_from."\r\n" .
'Reply-To: '.$email_from."\r\n";
mail($email_to, $email_subject, $email_message, $headers);
$time=time();
mysql_query("INSERT INTO contact (name,email,message,created_date) VALUES('$name','$email','$message','$time')");
echo "<h1>Thank You !</h1>";
}
}
?>
私をdb.php
<?php
$mysql_hostname = "localhost";
$mysql_user = "root";
$mysql_password = "*****";
$mysql_database = "******";
$prefix = "";
$bd = mysql_connect($mysql_hostname, $mysql_user, $mysql_password) or die("Opps some thing went wrong");
mysql_select_db($mysql_database, $bd) or die("Opps some thing went wrong");
?>
どこが間違っているのかを段階的に追跡する必要があります。エンドツーエンドのプロセスを提供しましたが、これを自分で絞り込むことができます。アラート(「こんにちは」)が表示されていますか? Firebugなどを使用して、要求がサーバーに送信されていることを確認します。最後に、保存とdbコードを確認する必要があります。 –
Chromeを使用している場合は、Javascriptコンソールがあります(レンチボタンを押すと 'ツール 'の内側にあります)。これにより、すべてのエラーと警告(存在する場合)がわかります。 –
これは決してあなたのエラーとは関係ありませんが、$( '#foooter')にあります。slideUp( 'fast'); 「フッター」のスペルが間違っています。 :) – Jan