これは重複しているかもしれませんが、私は検索して検索しました。同じ構文で同じ問題を経験している人が見つからないので、私は行方不明です。 PHPは私の強い訴訟ではありませんが、私はいくつかのチュートリアルやクラスを経て、改善しようと努力しました。これが私をそんなに悩ませています。私はPHPを使用して電子メールに送信しようとしている非常にシンプルなHTMLフォームがあります。私はこれまで私が使い慣れていたものからこれを実行する別の方法を見つけ出し、それにショットを付けたいと思っていました。私が間違っていないと、関数が起動するたびにすべてが機能しているように見えます(私はconsole.logでテストしました。警告が表示され、ポップアップが表示されるので、PHPファイルで "成功"が働いています)。私の問題の結果生じる問題は、フォームから電子メールを受け取ったことがないということです(私はこの質問をするためにダミーの電子メールを入れました)。電子メールを送信するフォームを取得することはできません
私はフォームアクション= .php "またはフォームから直接呼び出される関数呼び出しですが、このメソッドから理解できることは、すべてが送信時に発生するということです。また、すべてが機能しているように見えますが、電子メールの場合はどうなるか分かりません。
経験豊かな人が私が見逃しているものを見つけることができるかどうかを知りたいです。ホスティングプロバイダは問題があればゴダディです。誰もが提供することができます。
var contactForm = $("#main-contact-form");
contactForm.submit(function(event) {
event.preventDefault();
submitForm();
});
function submitForm() {
var firstName = $("#first-name");
var lastName = $("#last-name");
var email = $("#email");
var phone = $("#phone");
var company = $("#company");
var contactType = $("#contact-type");
var message = $("#message");
$.ajax({
type: "POST",
url: "php/main-contact-form.php",
data: "firstName=" + firstName + "&lastName" + lastName + "&email" + email + "&phone" + phone + "&company" + company + "&contactType" + contactType + "&message" + message,
success: function(text) {
if (text == "success"){
formSuccess();
}
}
});
}
var contactSuccess = $(".contact-submission-success")
function formSuccess(){
contactSuccess.addClass("show", 200);
}
});
はここに私のPHPコードです:
<form class="main-contact-form" id="main-contact-form">
<div class="row">
<div class="col-md-6">
<input id="first-name" name="firstName" type="text" placeholder="First Name (Required)" onfocus="this.placeholder = ''" onblur="this.placeholder = 'First Name (Required)'" />
</div>
<div class="col-md-6">
<input id="last-name" name="lastName" type="text" placeholder="Last Name (Required)" onfocus="this.placeholder= ''" onblur="this.placeholder= 'Last Name (Required)'" />
</div>
<div class="col-md-6">
<input id="email" name="email" type="email" placeholder="Email (Required)" onfocus="this.placeholder= ''" onblur= "this.placeholder= 'Email (Required)'" />
</div>
<div class="col-md-6">
<input id="phone" name="phone" type="phone" placeholder= "Phone Number" onfocus= "this.placeholder= ''" onblur="this.placeholder= 'Phone Number'" />
</div>
<div class="col-md-6">
<input id="company" name="company" type="text" placeholder="Company" onfocus="this.placeholder= ''" onblur= "this.placeholder= 'Company'" />
</div>
<div class="col-md-6">
<select id="contact-type" name="contactType">
<option value="" selected>I'd like to...</option>
<option class="contact-option" value="Contact sales">Contact sales</option>
<option value="Get a quote">Get a quote</option>
<option value="Contact customer service">Contact customer service</option>
</select>
</div>
<div class="col-12">
<textarea id="message" placeholder="What can we do for you?" onfocus="this.placeholder= ''" onblur="this.placeholder= 'What can we do for you?'" /></textarea>
</div>
<div class="col-md-6 push-md-3">
<button type="submit">Submit</button>
</div>
</div>
</form>
はここに私のJSコードです:
はここに私のhtmlです(ページが.phpの拡張子である)
<?php
$firstName = $_POST["firstName"];
$lastName = $_POST["lastName"];
$email = $_POST["email"];
$phone = $_POST["phone"];
$company = $_POST["company"];
$contactType = $_POST["contactType"];
$message = $_POST["message"];
$EmailTo = "[email protected]";
$subject = "New Contact Form Message Received";
$Body .= "First Name: ";
$Body .= $firstName;
$Body .= "\n";
$Body .= "Last Name: ";
$Body .= $lastName;
$Body .= "\n";
$Body .= "Email: ";
$Body .= $email;
$Body .= "\n";
$Body .= "Phone: ";
$Body .= $phone;
$Body .= "\n";
$Body .= "Company: ";
$Body .= $company;
$Body .= "\n";
$Body .= "Contact Type: ";
$Body .= $contactType;
$Body .= "\n";
$Body .= "Message: ";
$Body .= $message;
$Body .= "\n";
$success = mail($EmailTo, $Subject, $Body, "From:".$email);
if ($success) {
echo "success";
} else {
echo "invalid";
}
?>
everthingsが正しいようです。メールはsmtpサーバーのためにローカルに送信されませんあなたのコードを展開し、メールを送信するオンラインで実行しようとします。 –
メールを使ってwoudを停止する(phpmailerを参照) – nogad
私はメールを「ジャストワーク」していないが、他の人はhttp://php.net/manual/en/function.mail.php#118210をチェックしている – Joe