この質問が多く寄せられていることは知っていますが、解決策がどれもうまくいきません!
最初に下の編集を読んでください!
私は比較的 PHP に慣れていないので、簡単な連絡先フォームを作成しています。
HTML :
<form action="contactUsSuccess.php" id="contactForm" method="post" name="contactForm" onsubmit="return validateContactUs();">
<table>
<tr>
<td>
<input id="name" maxlength="70" name="name" placeholder="Name" type="text">
</td>
<td>
<input id="email" maxlength="255" name="email" placeholder="Email" type="text">
</td>
</tr>
<tr>
<td colspan="2">
<textarea id="message" maxlength="5000" name="message" placeholder="Message"></textarea>
</td>
</tr>
<tr>
<td colspan="2" id="submitArea">
<input id="submitButton" type="submit" value="Send">
</td>
</tr>
</table>
</form>
PHP、別のページにあります。
<?php
$success = false;
$name = $_POST["name"];
$email = $_POST["email"];
$message = $_POST["message"];
$to = "----@gmail.com";
$subject = "New Contact Message - ----";
$messageMail = "From: " . $name . "(" . $email . ")" . " | Message: " . $message;
$header = "From: ----@gmail.com";
if(mail($to, $subject, $messageMail, $header)) {
$success = true;
}
?>
私のエラー:
Notice: Undefined index: name in Z:\Documents\Workspace\----\help\contactUsSuccess.php on line 6
Notice: Undefined index: email in Z:\Documents\Workspace\----\help\contactUsSuccess.php on line 7
Notice: Undefined index: message in Z:\Documents\Workspace\----\help\contactUsSuccess.php on line 8
ご覧のとおり、私のフォームonsubmit
は JavaScript を実行し、true または false を返すだけです。何らかの理由でこれが機能しない理由であると思われる場合は、質問してください。
また、上に示したのと同じ PHP コードを試して、元の HTML と同じファイルに入れました (また、isset
if ステートメントで囲みました...運が悪いです。
ああ、メールはまだ送信されています...送信するだけです:
差出人: () | メッセージ:
編集: JavaScriptでした!その主要部分は次のとおりです。
if (!(nameLen > 0 && nameLen <= 70 && emailLen > 0 && emailLen <= 255 && messageLen > 0 && messageLen <= 5000)) {
cont = false;
} else {
name.disabled = "true";
email.disabled = "true";
message.disabled = "true";
document.getElementById("submitButton").disabled = "true";
}
if (cont) {
return true;
} else {
return false;
}
}
3 を削除する--.disabled = "true";
と、うまくいきました!しかし、私は理由のためにそこにそれらを持っていました. 代替手段はありますか?今求められているのはこれだと思います...