更新 2 : いくつかのテストを行った後、ページに jQuery が読み込まれていると機能しないことがわかりました。私のページは jQuery に依存しています。どうすればよいですか?
更新: 問題のあるページはこちら、動作中のテスト ページはこちらです。
お問い合わせフォームを作っていますが、こんな感じです
<form id="main-contact-form" class="contact-form" name="contact-form" method="post" action="../sendemail.php">
<div class="row-fluid">
<div class="span5">
<label>First Name</label>
<input name="first" type="text" class="input-block-level" required="required" placeholder="Your First Name">
<label>Last Name</label>
<input name="last" type="text" class="input-block-level" required="required" placeholder="Your Last Name">
<label>Email Address</label>
<input name="email" type="text" class="input-block-level" required="required" placeholder="Your email address">
</div>
<div class="span7">
<label>Message</label>
<textarea name="message" id="message" required class="input-block-level" rows="8"></textarea>
</div>
</div>
<button type="submit" class="btn btn-primary btn-large pull-right">Send Message</button>
<p> </p>
</form>
派手すぎるものはありません。sendemail.php は次のようになります
<?php
header('Content-type: application/json');
$status = array(
'type'=>'success',
'message'=>'Email sent!'
);
$name = @trim(stripslashes($_POST['first']." ".$_POST['last']));
$email = @trim(stripslashes($_POST['email']));
$subject = "Monarc - Message From ".$name;
$message = @trim(stripslashes($_POST['message']));
$email_from = $email;
$email_to = 'xxx@xxx.xxx';
$body = 'Name: ' . $name . "\n\n" . 'Email: ' . $email . "\n\n" . 'Subject: ' . $subject . "\n\n" . 'Message: ' . $message;
$success = @mail($email_to, $subject, $body, 'From: <'.$email_from.'>');
echo json_encode($status);
die;
メールは届きますが、postdata はメールで届きません。送信者として (不明な送信者) と表示され、本文は次のようになります。
名前:
Eメール:
件名: Monarc - 送信元メッセージ
メッセージ:
私は何を間違っていますか?
ありがとう!