[英]My PHP form is sending blank entries when the page loads/refreshes
当用户在字段中输入有效数据并点击提交时,我的 PHP 联系表单工作正常并向我的电子邮件发送信息,但每次我加载包含表单的页面时,它也会向我发送一封空白电子邮件。 我认为这可能与我的提交条件有关:
提交按钮代码:
<div class="col-md-12 submit-button">
<input type="submit" class="btn btn-success btn-send" value="Send message" />
<div class="success"><?= $success ?></div>
</div>
form_process.php 发送代码:
if ($name_error == '' and $email_error == '' and $phone_error == '' ){
$message_body = '';
unset($_POST['submit']);
foreach ($_POST as $key => $value) {
$message_body .= "$key: $value\n";
}
$to = 'admin@domain.com';
$subject = 'contact form submitted';
if(mail($to, $subject, $message_body)){
$success = "Thank you for contacting us, we will get back to you as soon as possible.";
$name = $email = $organization = $phone = $message = '';
}
}
谢谢!
您需要检查表单是否已提交,因此您在加载表单时不要运行代码。
if (isset($_POST{'submit'])) {
// All the code that processes the form goes here
}
您必须在执行发送电子邮件脚本之前检查表单是否已提交。
首先为您的提交输入添加一个名称
<div class="col-md-12 submit-button">
<input name="submit" type="submit" class="btn btn-success btn-send" value="Send message" />
<div class="success"><?= $success ?></div>
</div>
然后将您的发送电子邮件代码包装在一个 if 中,检查是否存在 $_POST['submit']
if (isset($_POST['submit'])) {
// your send email code
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.