我的页面结构如下
-index.php
-include send-form.php
-include contact-us-form.php
-include footer.php
我的index.php文件如下(缩写)
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
</head>
<body>
<?php include 'navigation-bar.php';?>
<?php include 'contact-us-form.php';?>
<?php include 'footer.php';?>
</body>
下面是我的联系方式
<div class="container">
<div class="row">
<div class="column">
<form method="post">
<label for="name">Name*</label>
<input type="text" id="name" name="name" placeholder="Your name.." required>
<label for="email">Email*</label>
<input type="text" id="email" name="email" placeholder="Your email.." required>
<label for="message">Message*</label>
<textarea id="message" name="message" placeholder="Your Message" style="height:170px" required></textarea>
<div style="text-align: center;">
<input type="submit" value="submit" >
</div> <!-- /submit button -->
</form> <!-- /form -->
<div id="error_message" style="width:100%; height:100%; display:none; ">
<h4>Error</h4>
Sorry there was an error sending your form.
</div>
<div id="success_message" style="width:100%; height:100%; display:none; ">
<h2>Success! Your Message was Sent Successfully.</h2>
</div>
</div><!-- /column -->
<div class="column2">
</div> <!-- /column2 -->
</div> <!-- /row-->
</div> <!-- /container -->
下面是我的send-form.php
if (isset($_POST["submit"])){
$to = '***************@gmail.com';
$subject = 'Message from website';
$message = 'MESSAGE: ' . $_POST [ "message" ] . ' </n> NAME: ' . $_POST['name'] ;
$from = $_POST[ "email" ];
if(mail($to, $subject, $message)){
echo 'message sent';
} else{
echo 'Unable to send email. Please try again.';
}
}
由于某种原因,电子邮件无法发送。如果我在联系人表单中输入action="/ send -form.php“,我可以得到要发送的电子邮件,但这会将我带到另一个页面。我尝试做的是让用户发送表单,并停留在相同的页面上,其中隐藏的消息将在单击时取消隐藏。如果你能帮我解释为什么我的电子邮件不能发送,我将不胜感激!
发布于 2018-08-19 03:18:55
我看到您在代码中使用了$_POST"submit“。但是你没有在表单上定义它。
<input type="submit" value="submit">
只需在上面添加name="submit“,这个问题就必须得到解决。
<input type="submit" name="submit" value="submit">
https://stackoverflow.com/questions/51911780
复制相似问题