HTML表单不使用POST发送数据?



下面是PHP代码,我删除了一些PHP邮件器代码,因为堆栈溢出拒绝允许我提交代码,说代码太长,我需要更多的解释手头的问题。

<?php             
if(isset($_POST['submit'])) {
$mail->addAddress($_POST['email']);
// $mail->addReplyTo($_POST['email'], $_POST['name']);
$mail->isHTML(true);    
$mail->Subject = $_POST['subject'];
$mail->Body = $_POST['message'];
$mail->addAttachment($_POST['attachment']);
try {
$mail->send();
echo 'Your message was sent successfully!';
} catch (Exception $e) {
echo "Your message could not be sent! PHPMailer Error: {$mail->ErrorInfo}";
}
} 
else {
echo "There is a problem with the contact.html document!";
}
?>

下面是HTML表单。我已经尝试提交表单数据由PHP代码处理,但它拒绝被提交。上面是PHP代码,下面是HTML代码。

<form method="POST" role="form" enctype="multipart/form-data">
<div class="row">
<div class=" col-md-6 mb-3">
<input type="email" class="form-control" name="email" id="email">
</div>
<div class=" col-md-6 mb-3">
<input type="text" class="form-control" name="subject" id="subject">
</div>
<div class="mb-3">
<textarea class="form-control" rows="5" name="message" id="message"></textarea>
</div>
<div class=" col-md-6 mb-3">
<input type="file" class="form-control" name="attachment" id="attachment">
</div>
</div>
</form>
<button name="submit" type="submit" class="btn btn-primary">Send mail</button>

你必须在表单标签下添加提交按钮。

<form method="POST" role="form" enctype="multipart/form-data">
<div class="row">
<div class=" col-md-6 mb-3">
<input type="email" class="form-control" name="email" id="email">
</div>
<div class=" col-md-6 mb-3">
<input type="text" class="form-control" name="subject" id="subject">
</div>
<div class="mb-3">
<textarea class="form-control" rows="5" name="message" id="message"></textarea>
</div>
<div class=" col-md-6 mb-3">
<input type="file" class="form-control" name="attachment" id="attachment">
</div>
</div>
<button name="submit" type="submit" class="btn btn-primary">Send mail</button>
</form>

感谢

提交按钮不在表单标签内。这就是问题所在,请将提交按钮放在表单标签内。在结束标签

之前

你应该把提交按钮放在表单标签中。

<form><button name="submit" type="submit" class="btn btn-primary">Send mail</button></form>

最新更新