私のコードはPHPで送信してメールで送ってもらえますか?見てみてください:お問い合わせフォーム - JQueryとPHP - メールが正しく送信されない
HTML:
<form class="contact_form" method="POST" action="mail.php">
<div class="input">
<label class="pl">Imię</label>
<input id="name" type="text" name="name">
</div>
<div class="input">
<label>E-mail</label>
<input id="email" type="text" name="email">
</div>
<div class="input">
<label class="pl">Temat</label>
<input id="subject" type="text" name="subject">
</div>
<div class="message">
<label class="pl">Twoja wiadomość</label>
<textarea id="message" name="message"></textarea>
</div>
<div class="input">
<input id="submit_pl" class="button pl" type="submit" value="Wyślij">
<input id="reset_pl" class="button pl" type="reset" value="Resetuj">
</div>
</form>
JS/jQueryの:
// Form Validation ------------------------------------ //
// Form is not valid on page load //
var isFormValid = false;
// input variables //
var name = $('#name');
var email = $('#email');
var subject = $('#subject');
var message = $('#message');
var subtmitBtnPl = $('#submit_pl');
var subtmitBtnEn = $('#submit_eng');
var resetBtnPl = $('#reset_pl');
var resetBtnEn = $('#reset_eng');
var form = $('.contact_form');
var isNameValid = function() {
var nameVal = name.val();
return nameVal.length > 0 && nameVal.length <= 100;
};
var isEmailValid = function() {
var emailVal = email.val();
return emailVal.indexOf('@') > -1 && emailVal.length <= 100;
};
var isSubjectValid = function() {
var subjectVal = subject.val();
return subjectVal.length > 0 && subjectVal.length <= 100;
};
var isMessageValid = function() {
var messageVal = message.val();
return messageVal.length > 0 && messageVal.length <= 500;
};
function formValidation() {
var isFormValid = isNameValid() && isEmailValid() && isSubjectValid() && isMessageValid();
if (isFormValid === false) {
alert('error');
} else {
alert('succes');
form[0].reset();
}
};
form.submit(function(event) {
event.preventDefault();
formValidation();
});
PHP:
<?php
if (isset($_POST['name']) && isset($_POST['email']) && isset($_POST['subject'])) {
$name = $_POST['name'];
$email = $_POST['email'];
$subject = $_POST['subject'];
$body = $_POST['message'];
$to = '[email protected]';
//headers
$headers = "From: ".$name." <".$email.">\r\n";
$headers .= "Reply-To: ".$email."\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset-utf-8";
//send
$send = mail($to, $subject, $body, $headers);
if ($send) {
echo '<br>';
echo 'Thanks for contacting me. I will be with You shorty.';
} else {
echo 'error';
}
}
?>
私はPHPと非常に未経験です。私の連絡フォームが動作していない/電子メールを送信している理由を教えてください。
JQuery検証は正常に動作します。 このプロジェクトはローカルホストではなく、私のドライブ上にあります(PHP mail()がうまく動作しますか?)。 もちろん、PHPファイルの名前は "mail.php"です。
PHPコードを実行するにはPHPをインストールする必要があります。それがあなたのドライブ上にあるなら(そしてあなたは何らかのPHPサーバを設定していません)、PHPは動作しません。 – Luke
それ以外に、私のコードは大丈夫ですか?基本的なhtml/JS/PHPプロジェクトでPHPサーバーを実行するにはどうすればよいですか? – svyatogor92
@ルークは正しいです。あなたのコンピュータで(ローカルで)実行しようとしている場合は、xamppをインストールすることをお勧めします。 https://www.apachefriends.org/index.html –