私は「Coming Soon」ウェブサイトで作業しています。ユーザーが「Contact Us」を選択すると、JavaScriptモーダルが電子メールフォームでポップアップします。私はモーダルのないページにあったのと同じコードを使用しました。そこで動作しますので、今回は電子メールが送信されない理由がわかりません。それはモーダルから送信することとは何か?PHPはモーダルからフォームを送信しません
私がモーダルを作成したのは、ユーザーが「Contact Us」をクリックするまでページの下部にあるvisibility: hidden; opacity: 0;
です。ここで、モーダルにはvisibility: visible; opacity: 1;
というクラスが追加されます。私はおそらくこれを行うためのより良い方法があると思うが、私は学んでいる、これは私が現時点でできることです。
HTML:これはPHPで
<form class="form" role="form" method="post" action="#contact">
<div class="form__text">
<p>Our <strong>new</strong> website will launch in <strong>Spring 2017</strong>.</p>
<p>In the meantime, contact us for more information.</p>
</div>
<div class="form__inputs">
<div class="form__name">
<label for="name" class="name">Name</label><br>
<input type="text" class="form-control" id="name" name="name" value="" required="">
</div>
<div class="form__email">
<label for="email" class="email">Email</label><br>
<input type="email" class="form-control" id="email" name="email" value="" required="">
</div>
<div class="form__message">
<label for="message" class="message">Message</label><br>
<textarea class="form-control" rows="4" name="message" required=""></textarea>
</div>
<div class="form__submit">
<button id="submit" name="submit" type="submit">Submit</button>
</div>
</div>
</form>
:
<?php
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$from = 'From: xxx';
$to = '[email protected]';
$subject = 'Hello';
$body = "From: $name\n E-Mail: $email\n Message:\n $message";
if ($_POST['submit']) {
if (mail ($to, $subject, $body, $from)) {
echo '<h4 >Thank you for your message!</h4>';
} else {
echo '<h4>Sorry there was an error sending your message. Please try again!</h4>';
}
}
?>
PHPが(ちょうどJSスクリプトの前に)一番下に、HTMLと同じドキュメント(index.phpを)でありますタグ。私が手にエラーがある:それが送信されていない理由をアドバイスしてもらえ
は/
を投稿することはできませんか?私はPHPを良く知らないが、何が起こっているのかを理解しようとしているが、うまくいかない。今後の参考のために
FORMタグで 'action ="#contact "部分を削除して、もう一度やり直してください。 – Cagy79
また、if($ _POST ['submit']) 'をチェックしていますが、submitに' value'属性がないので、フォームを送信しても$ _POST ['submit'] 'は空文字列になります。 'if(!empty($ _ POST))' –
を使用した方が良いでしょうか?<?php echo $ _SERVER ['PHP_SELF']; ?>の代わりに '#contact'のフォームアクション – Gopalakrishnan