私は次のような滑らかなフォームを設計し、PhP & ajaxと一緒に使用して送信します...ターゲットとなる電子メールIDに電子メールを送信することを含むその正常な作業..合計7 )フィールドには訪問者が記入すると仮定します。問題は、誰かがすべてのフィールドでフォームを送信したときに、3つのフィールド(Name、Email & Message)を受け取ることができます....残りの4つのフィールド(Phone、country、Budget & Select)電子メールに表示されていない...私は私のPHPにいくつかの問題がなければならないと確信しています。私は次のPHPで間違っている場所を教えてください。Php&Ajaxを送信するコンタクトフォームPartial Email
<?php
// Define some constants
define("RECIPIENT_NAME", "John Smith");
define("RECIPIENT_EMAIL", "[email protected]");
define("EMAIL_SUBJECT", "Visitor Message");
// Read the form values
$success = false;
$senderName = isset($_POST['senderName']) ? preg_replace("/[^\.\-\' a-zA-Z0-9]/", "", $_POST['senderName']) : "";
$senderEmail = isset($_POST['senderEmail']) ? preg_replace("/[^\.\-\_\@a-zA-Z0-9]/", "", $_POST['senderEmail']) : "";
$senderPhone = isset($_POST['senderPhone']) ? preg_replace("/[^\.\-\_\@a-zA-Z0-9]/", "", $_POST['senderPhone']) : "";
$senderCountry = isset($_POST['senderCountry']) ? preg_replace("/[^\.\-\_\@a-zA-Z0-9]/", "", $_POST['senderCountry']) : "";
$senderBudget = isset($_POST['senderBudget']) ? preg_replace("/[^\.\-\_\@a-zA-Z0-9]/", "", $_POST['senderBudget']) : "";
$senderSelect = isset($_POST['senderSelect']) ? preg_replace("/[^\.\-\_\@a-zA-Z0-9]/", "", $_POST['senderSelect']) : "";
$message = isset($_POST['message']) ? preg_replace("/(From:|To:|BCC:|CC:|Subject:|Content-Type:)/", "", $_POST['message']) : "";
// If all values exist, send the email
if ($senderName && $senderEmail && $senderPhone && $senderCountry && $senderBudget && $senderSelect && $message) {
$recipient = RECIPIENT_NAME . " <" . RECIPIENT_EMAIL . ">";
$headers = "From: " . $senderName . " <" . $senderEmail . ">";
$success = mail($recipient, EMAIL_SUBJECT, $message, $headers);
}
// Return an appropriate response to the browser
if (isset($_GET["ajax"])) {
echo $success ? "success" : "error";
} else {
?>
<html>
<head>
<title>Thanks!</title>
</head>
<body>
<?php if ($success) echo "<p>Thanks for sending your message! We'll get back to you shortly.</p>" ?>
<?php if (!$success) echo "<p>There was a problem sending your message. Please try again.</p>" ?>
<p>Click your browser's Back button to return to the page.</p>
</body>
</html>
<?php
}
?>
**多すぎるコード**。あなた自身でこれをトラブルシューティングするより良い仕事をする必要があります。私たちはデバッガーではありません。あなたは**問題を分離し、そこからデバッグする必要があります。あなたが立ち往生している場合は、[**最小限で完全で検証可能な例**](http://stackoverflow.com/help/mcve)で**動作していないことの**明確な説明を提供してください。私は** [質問] **良い質問と** [完璧な質問](http://codeblog.jonskeet.uk/2010/08/29/writing-the-perfect-question/)**を読むことをお勧めします。 –
質問より良い理解のために改訂... –